Здравствуйте, возникла проблема, что, при редактировании старого сообщения, вместо ответа пользователя на prompt() с новым сообщением, в БД записывается пустая строка.
if ($_GET['act'] == 'edit' && $_GET['id']) {
$id = $_GET['id'];
// берем из БД старое сообщение пользователя
$stm = $dbh->prepare("SELECT `message` FROM `messages` WHERE `id` = '$id' ");
$stm->execute();
$oldMessages = $stm->fetch();
$oldMessage = $oldMessages[0];
// спрашиваем у пользователя новое сообщение
function prompt($oldMessage){
echo("<script type='text/javascript'> var answer = prompt('Edit message', '$oldMessage'); </script>");
$editMessage = "<script type='text/javascript'> document.write(answer); </script>";
return($editMessage);
}
// получаем новое значение
$editMessage = prompt($oldMessage);
// заменяем кавычки
$editMessage=str_replace("'",''',$editMessage);
$editMessage=str_replace('"','"',$editMessage);
if ($editMessage){
// вставляем новое сообщение пользователя
$stm = $dbh->prepare("UPDATE `messages` SET `message` = '$editMessage' WHERE id = '$id' ");
$stm->execute(); ?>
<script>
//уведомление об успешном редактировании
alert("Editing was successfull");
location.replace("//stasnepidoras.com/config/chat_room.php");
</script>
<?php }
}
Буду искренне благодарен за помощь.