Всем доброго времени суток! я делаю сайт с софтом и играми, в общем варез сайт на пхп, делаю по видеоурокам, но кое что добавляю свое - проблема в том, что я создал два файла, отвечающих за добавление постов в БД, скрипт работает, но не совсем - когда пытаешься добавить файл в раздел с софта, причем в любую категорию из этого раздела, то пост добавляется в первую категорию раздела игры, а в раздел игры файлы добавляются во все категории, в чем может быть проблема? вот эти два файла: первый 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> </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>
непойму как ты добавляешь записи уже в какуе то категорию? у тебя заполнены все значения поля `category`наперед ? по моему будет проще инсертить в таблицу `data` значения переменных которые ты по 100 раз проверяешь ,но не слешируешь. потом если хочешь вывести записи с определенной категорией ,инструкция: "SELECT * FROM `tratata` WHERE `category`='".$category."' думаю ты понял.
повторяю еше раз где ты берешь значение переменной $category перед вставкой в таблицу,дело по ходу в ней потому что её значение всегда равно категорие в каторую записываются все данные.
вся проблема в яваскрипте, который выводит кнопки разделов, а при нажатии на кноку выводит список категорий, только я не знаю почему эта проблема возникает? вот скрипт 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>