@ka40kstas
новичок в php

Почему передается пустая строка в БД вместо ответа пользователя?

Здравствуйте, возникла проблема, что, при редактировании старого сообщения, вместо ответа пользователя на 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("'",'&#039;',$editMessage);
    $editMessage=str_replace('"','&quot;',$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 }
}

Буду искренне благодарен за помощь.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Это очень смешной код.
РНР работает совсем не так как ты воображаешь.
Читай здесь phpfaq.ru/newbie/na_tanke
Ответ написан
Комментировать
@qdevelopment
Автор во-первых данные лучше редактировать методом POST. Во-вторых вы неправильно используете подготовленные запросы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы