Проблема выполнения mysql запроса
Есть задача - после нажатия кнопки вывести prompt , который передаст в переменную значение для удаления записи в mysql. Работает до момента выполнения самого запроса. После вывода сообщения, переменной $a присваивается нужное значение, но не выполняется запрос в базе. В чем может быть проблема?
<form action="Otchet.php" method="post">
<input type="submit" value="Удалить запись" name="but1">
</form>
<?php
function prompt($prompt_msg){
echo("<script type='text/javascript'> var answer = prompt('".$prompt_msg."'); </script>");
$answer = "<script type='text/javascript'> document.write(answer); </script>";
return($answer);
}
//program
if (!empty($_POST['but1'])){
$link=mysql_connect("localhost", "root", "") or die ("Error podkl");
$db=mysql_select_db("r20i", $link) or die ("Error podkl k bd");
$prompt_msg = "Какую запись удалить?";
$a = prompt($prompt_msg);
$result=mysql_query("DELETE FROM r20i.ledenec WHERE id='$a'",$link);
if ($result!="") {echo "Запись удалена";} else {echo "Ошибка удаления!";};
mysql_close($link);};
?>
php выполняется только после нажатия на кнопку. Код примерно работает, но всегда выводит "Ошибка удаления!"
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
На стороне клиента надо сделать вот такую форму со скрытым полем, в которое будет передано значение из prompt
function send() {
document.getElementById('hid').value = prompt('Кого удаляем?')
}
<form method="get">
<input type="hidden" id="hid" name="hid" value=""/>
<input type="submit" value="Отправить" onclick="send()">
</form>
А на сервере делать так:
$a = $_POST['hid'];
Тогда в переменную $a будет подставлено нужное значение, которое и уйдет в SQL запросе.