Есть база данных с полями: id, url, zametka. Есть форма. Пока с одной кнопкой - "Удалить заметку" (если разберусь с этим вопросом - будет и всё остальное). На вебстраничке выводятся все записи из базы данных. И для каждой записи выводится кнопка "Удалить". Эта кнопка должна вызывать запрос вида DELETE FROM zametki WHERE zametka=$myrow[3]; Кнопка запускает dele.php. (<form action=dele.php method=post>); Но вот вопрос - как передать текущее значение $myrow[3];? Пытался присвоить $tek=$myrow[3]; А в файле dele.php записать $tek = $_POST['tek']; Но не передаётся... Как решить данную проблему?
HTML: <form action="dele.php?tek=<?=$myrow[3];?>" method="post"> Вариант 2 HTML: <input type="button" onclick="windows.location='dele.php?tek=<?=$myrow[3];?>'"> dele.php PHP: <? $tek = (isset($_GET['tek'])) ? $_GET['tek']) : null;
Передавайте id заметки: echo '<input type="checkbox" value="'.$myrow[0].'" name="del_zam"> Удалить<br>'.$myrow[2]; А потом по принятому id удаляйте: 'DELETE FROM zametki WHERE zametka='.(int)$_POST["del_zam"];
а давайте ещё добавим проверку на ctype_digit и тогда посмотрим как правильнее с точки зрения пользователя, а не программера
Про ctype_digit - спасибо. В этой задаче правда мне не понадобилось, а вот при использовании метода get при написании модуля статей - понадобилось. Только возник вопрос, как же проверить тип переменной при данном запросе. Прочитал эту тему - сразу и ответ вижу). А то введут еще чего-нибудь типа: http://mysait.ru/page?n=<b>Проверка</b> или еще чего пострашнее).
данные GET/POST ВСЕГДА обрабатываются так, что ожидаемое поступление может быть любым, т.е. ты должен ждать что прийти может все, что угодно, а не то, что ты думаешь. отсюда и плясать.