нужно сделать кнопку адаления вот мы имеем форму Код (Text): <form method="get" action = "/index.php?delete=post"> <input type="SUBMIT" name="del" value="del"></form> вот куда направляет Код (Text): <? $id= $_GET["delete"]; if ($id == post) if (isset($_GET['del'])) { $del = intval($_GET['del']); mysql_query("DELETE FROM `$table_union` WHERE `id`= '$del'") or die(mysql_error()); }; echo ''; ?> не могу понять где ошибка, и почему при нажатии оно переходит на страницу index.php?del=del, хотя должно перейти на index.php?delete=post? прошу меня понять за такие вопросы, я только учусь=)
Если сабмитишь методом гет, то лучше в action не пиши никаких параметров, а указывай их только через input type="hidden" del=del берётся из кнопки submit, у которой, как видно из твоего кода, name=del и value=del.
а как указать через hidden , чет я в нете такого не встречал. мож ворму написать, буду очень благодарен, уже двое суток парюсь с этой кнопкой
Код (Text): <form method="get" action="/index.php"> <input type="hidden" name="delete" value="post" /> <input type="submit" name="del" value="del" /> </form>
Ну, я тебе ответил только на вопрос На счёт удаления - в php коде там у тебя вообще нечто не понятное. Код (Text): $id = $_GET["delete"]; В переменной $_GET['delete'] у тебя вообще-то строка текста "post". Какое отношение она имеет к $id - не понятно. Код (Text): if($id == post) строку текста (в данном случае post) нужно заключать в кавычки - одинарные или двойные. Иначе PHP считает, что это константа и сперва ищет такую константу среди определённых. Когде не находит - генерирует сообщение об ошибке (но ты его, наверно, не видешь, так как вывод ошибок, видимо, отключен) и принимает это как строку текста. Код (Text): if (isset($_GET['del'])) { $del = intval($_GET['del']); Тут ты проверяешь, пришла ли переменная $_GET['del']. Ну да она пришла. А дальше приравниваешь её к типу int (целые числа) и присваиваешь переменной $del. А что у нас в переменной $_GET['del']? А в переменной $_GET['del'] у нас строка текста "del". И когда PHP преобразует строку "del" к целому числу - то получается 0. Ну а дальше идёт запрос: Код (Text): mysql_query("DELETE FROM `$table_union` WHERE `id`= '$del'") or die(mysql_error()); В котором ты ему говоришь: удали-ка мне из таблицы, название которой хранится в переменной $table_union, запись, у которой значение id равно тому, что у нас в переменной $del. А что у нас в переменной $del? А там у нас, как помним, число 0. А есть такой id в базе? Наверно, нет Код (Text): echo ''; Забавная штука, интересно зачем она нужна? В общем, тебе нужно в переменной del передавать не строку текста del, а ID той записи, которую нужно удалить.
жесть, это очень жестоко для моего мозга, на счет echo ' '; это типа проверочка была =D, ну уж извините, все, думаю, через это проходили...могу показаться слишком наглым...ноооо, не мог ли ты мне и удаление написать ^.^ просто я не знаю куда уже обращаться Добавлено спустя 2 минуты 1 секунду: просто del не приравнивать к int? Добавлено спустя 1 минуту 45 секунд: хотя нет, в таблице не бывет id со значением del(( тогда я точно уже не знаю
И что, удалять из базы записи, у которых id равен строке "del"? Я думаю, таких тоже нет В таблице у тебя есть id у записей (наверно есть =) ). Id - это целое число обычно. Так сказать, номер, который генерируется автоматически при добавлении записи. Когда ты эту кнопку в браузер выводишь тебе нужно знать этот самый id той записи, которую нужно удалить. Его нужно получить из базы и сгенерировать соответствующую кнопку. То есть, например, если написать так: Код (Text): <form method="get" action="/index.php"> <input type="hidden" name="delete" value="post" /> <input type="submit" name="del" value="123" /> </form> , то будет удалена запись, у которой id равен 123 (если, конечно, такая есть в базе). Но тебе нужно туда подставлять цифру той записи, которую нужно удалить. Возможно, в том скрипте, в котором выводится эта кнопка, информация об этом id уже есть, но я кода не вижу и не знаю, в какой переменной эту цифру искать. Если же её там нету - то нужно сперва получить её из б.д.