Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Посты добавляются не в ту категорию (https://forum.antichat.xyz/showthread.php?t=138183)

selevit 29.08.2009 20:42

Посты добавляются не в ту категорию
 
Всем доброго времени суток! я делаю сайт с софтом и играми, в общем варез сайт на пхп, делаю по видеоурокам, но кое что добавляю свое - проблема в том, что я создал два файла, отвечающих за добавление постов в БД, скрипт работает, но не совсем - когда пытаешься добавить файл в раздел с софта, причем в любую категорию из этого раздела, то пост добавляется в первую категорию раздела игры, а в раздел игры файлы добавляются во все категории, в чем может быть проблема?

вот эти два файла:

первый new_post,php (форма для заполнения):



PHP код:

<?php include ("lock.php");?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Добавления файла</title>

</body>
<link href="../style.css" rel="stylesheet" type="text/css">
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.стиль1 {
    font-size: 18px;
    font-weight: bold;
}
-->
</style>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<?php include("blocks/header.php"); ?>
 
  <tr>
    <td><table width="100%">
    <?php include("blocks/left_td.php")?> 

        <td width="74%" align="left" valign="top">
        
        <p align="center" class="post_title стиль1">Добавить материал</p>
        <form action="add_post.php" method="post" name="new_post" id="new_file">
          <p>
            <label>Название материала<br>
            <input type="text" name="title" id="title">
              </label>
          </p>
          <p>
            <label>
 
            <p>
            <p>Выберите раздел и категорию</p>
            <p>
            <script language="JavaScript"> 
function Menue() { 
      document.all.soft1.style.visibility="visible"
      document.all.games1.style.visibility="hidden" 
       
}
            </script>
            
            <input name="soft" type="button" value="Софт" onClick="Menue()">
            <select id="soft1" size="1" name="category" style="visibility:hidden;">
                <?php


$result 
mysql_query("SELECT title,id FROM soft"$db);


if(!
$result) {
echo 
"<center><b><p>Запрос на выборку данных из базы не прошел, напишите об этом администратору на email: selevit@yandex.ru или в ICQ:375766234<br><strong>Код ошибки: </strong></p></b></center>";

exit(
mysql_error());

}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result);

do
{

printf ("<option value = '%s'>%s</option>"$myrow['id'], $myrow['title']);


}

while (
$myrow mysql_fetch_array($result));

}

else

{
echo 
"<strong><p><center>Инфотмация по запросу не может быть извлечена, так как в таблице БД нет записей</center></p></strong>";

exit();
}
?>
</select>
            </p>
            <p>
              </div> 
              
              
              
   
              <script language="JavaScript">function Menue1() {
   document.all.soft1.style.visibility="hidden"               
   document.all.games1.style.visibility="visible" 
   

 </script>
   <input name="games" type="button" value="Игры" onClick="Menue1()"> 
   <select id="games1"  name="category" style="visibility:hidden;">
     
     <?php


$result 
mysql_query("SELECT title,id FROM games"$db);


if(!
$result) {
echo 
"<center><b><p>Запрос на выборку данных из базы не прошел, напишите об этом администратору на email: selevit@yandex.ru или в ICQ:375766234<br><strong>Код ошибки: </strong></p></b></center>";

exit(
mysql_error());

}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result);

do
{

printf ("<option value = '%s'>%s</option>"$myrow['id'], $myrow['title']);


}

while (
$myrow mysql_fetch_array($result));

}

else

{
echo 
"<strong><p><center>Инфотмация по запросу не может быть извлечена, так как в таблице БД нет записей</center></p></strong>";

exit();
}
?>
   </select>
              </div> 
              
              
              
              
              
              
              
              
              
              </div>
            </p>
            <p>
               <label>Описание(descriotion)<br>
<input type="text" name="meta_d" id="meta_d">
                  </label>
             <p>
            <label>Ключевые слова<br>
            <input type="text" name="meta_k" id="meta_k">
            </label>
          </p>
          <p>
            <label>Дата Добавления<br>
            <input name="date" type="text" id="date" value="<?php $date date("Y-m-d"); echo $date ?>">
            </label>
          </p>
          <p>
            <label>Краткое Описание<br>
            <textarea name="description" id="description" cols="60" rows="5"></textarea>
            </label>
            <br>
            <br>
            <label>Полное описание<br>
            <textarea name="text" id="text" cols="60" rows="20"></textarea>
            </label>
            <br>
            <br>
            <label>Автор<br>
            <input type="text" name="author" id="author">
            <br>
            </label>
            <br>
            <label>
            <input type="submit" name="submit" id="submit" value="Добавить материал">
            </label>
          </p>
          <p>&nbsp;</p>
        </form>
        
        
        
          </tr>
      <tr>
        <td valign="top" class="left">        </td>
      </tr>
    </table></td>
  </tr>
  
  <?php include ("blocks/footer.php");?>
</table>
</html>

и второй - add_post.php (сам обработчик)




PHP код:

<?php 

include("blocks/bd.php");
include (
"lock.php");

if(isset(
$_POST['title'])) {$title $_POST['title'];} if ($title =='') {unset($title);}
if(isset(
$_POST['meta_d'])) {$meta_d $_POST['meta_d'];} if ($meta_d =='') {unset($meta_d);}
if(isset(
$_POST['meta_k'])) {$meta_k $_POST['meta_k'];} if ($meta_k =='') {unset($mets_k);}
if(isset(
$_POST['date'])) {$date $_POST['date'];} if ($date =='') {unset($date);}
if(isset(
$_POST['description'])) {$description $_POST['description'];} if ($description =='') {unset($description);}
if(isset(
$_POST['text'])) {$text $_POST['text'];} if ($text =='') {unset($text);}
if(isset(
$_POST['author'])) {$author $_POST['author'];} if ($author =='') {unset($author);}
if(isset(
$_POST['category'])) {$category $_POST['category'];} if ($category =='') {unset($category);}



?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>

</body>
<link href="../style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.стиль1 {
    font-size: 16px;
    font-weight: bold;
}
-->
</style>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<?php include("blocks/header.php");?> 
  <tr>
    <td><table width="100%">
    <?php include("blocks/left_td.php")?> 

        <td width="74%">
        
<?
         
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author) && isset($category))
         
           {
            
/* то можно заносить информцию в базу */
          
          
$result mysql_query("INSERT INTO data (title,meta_d,meta_k,date,description,text,author,category) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author', '$category')");

         
          if (
$result == 'true') { echo "<p><center><b>Материал был успешно добавлен</b></center></p>"; }
          
          else { echo 
"<p><center><b>Материал не был добавлен</b></center></p>"; }
          }
        
          
              else
    {
    echo 
"<p><center><b>Вы заполнили не все поля!</b></center></p>";
    }
          
    
?>
        
        </td>
      </tr>
    </table></td>
  </tr>
  <?php include ("blocks/footer.php");?>
</table>
</html>


L I G A 29.08.2009 21:53

Цитата:

Посты добавляются не в ту категорию
непойму как ты добавляешь записи уже в какуе то категорию? у тебя заполнены все значения поля `category`наперед ?
по моему будет проще инсертить в таблицу `data` значения переменных которые ты по 100 раз проверяешь ,но не слешируешь.
потом если хочешь вывести записи с определенной категорией ,инструкция:
"SELECT * FROM `tratata` WHERE `category`='".$category."'
думаю ты понял.

selevit 29.08.2009 22:03

не помогло...

L I G A 29.08.2009 22:04

Цитата:

Сообщение от selevit
не помогло...

что тебе не помогло?

selevit 29.08.2009 22:12

у меня категории не добавляются автоматически, они выбираются из списка меню,
Цитата:

Сообщение от L I G A
что тебе не помогло?

Цитата:

"SELECT * FROM `tratata` WHERE `category`='".$category."'

selevit 29.08.2009 22:14

L I G A, дай свою асю мне в личку пожалуйста, а то на форуме долго, помоги мне плиз :)

L I G A 29.08.2009 22:19

проверь значение переменной $category перед вставкой.
https://forum.antichat.ru/fusion/misc/im_icq.gif 555086

L I G A 29.08.2009 23:02

повторяю еше раз где ты берешь значение переменной $category перед вставкой в таблицу,дело по ходу в ней потому что её значение всегда равно категорие в каторую записываются все данные.

selevit 29.08.2009 23:48

вся проблема в яваскрипте, который выводит кнопки разделов, а при нажатии на кноку выводит список категорий, только я не знаю почему эта проблема возникает?

вот скрипт

PHP код:

<script language="JavaScript"
function 
Menue() { 
      
document.all.soft1.style.visibility="visible" 
      
document.all.games1.style.visibility="hidden" 

function 
Menue1() { 
   
document.all.soft1.style.visibility="hidden" 
   
document.all.games1.style.visibility="visible" 

</
script
<
input name="soft" type="button" value="Софт" onClick="Menue()"
<
select id="soft1" size="1" name="category" style="visibility:hidden;"

тут выводится список категорий в цикле


</select></div>

<
input name="games" type="button" value="Игры" onClick="Menue1()"
<
select id="games1" size="1" name="category" style="visibility:hidden;">


 
и тут тоже выводится список категорий в цикле


</select></div



Время: 07:21