Поток сайта в php - PullRequest
       9

Поток сайта в php

0 голосов
/ 05 февраля 2011

У меня есть форма, которая позволяет пользователям комментировать страницу, однако им необходимо войти в систему / зарегистрироваться, прежде чем они смогут оставлять сообщения.

Если они делают ошибку (например, ответ слишком короткий), им сообщаютпосле того, как они вошли в систему («произошла ошибка с вашим ответом» ...).

Однако тогда содержимое их ответа теряется, как я могу сохранить это, чтобы оно отображалось в форме?

Страница формы довольно проста:

<?php if (isset($errors['reply_header'])) echo $errors['reply_header']; ?>

<form method="post" action="http://localhost/LOGIN/user/?action=reply">
    <input type="hidden" name="auth_token" value="<?php echo $auth_token; ?>">
    <input type="hidden" name="thread_id" value="<?php echo $id; ?>">
<!--rest of the form goes here, thread_id shows us which thread/page they are replying to-->

Это соответствует этой странице:

#   get the register/login controller:
require_once FORUM_ROOT . 'register/index.php';  // if session is not set, then ask for login

if (isset($_GET['action']) )
{
    switch ($_GET['action'])
    {
        case 'new':      # create a new thread...
            require_once USER_ROOT . 'new_thread.php';    
        break;

        case 'reply':
                $_POST['action'] == 'Reply';
                require_once USER_ROOT . 'thread_reply.php';
                die();
        break;

        default:         # show user page...
            require_once USER_ROOT . 'main.html.php';
        break;
    }    
}

Я знаю, что могу сохранить содержимое формы в сеансеа куда бы я это положил?

Ответы [ 3 ]

2 голосов
/ 05 февраля 2011

Вы делаете $_GET, но ваш метод формы post

Так что вместо $_GET вы должны использовать $_POST

ПРИМЕЧАНИЕ.

<input type="hidden" name="action" value="reply" />

Смотреть, если это работает

0 голосов
/ 05 февраля 2011

Предполагая, что комментарий вводится в текстовую область, вы можете сделать это:

<textarea>
<?php echo htmlspecialchars ( $_POST['text'] ); ?>
</textarea>

Конечно, вам нужно заменить $ _POST ['text'] на фактическое имя текстовой области*. * 1004

0 голосов
/ 05 февраля 2011

Вы должны сохранить его в сеансе var перед этой строкой (я предполагаю, что если пользователь не вошел в систему, этот скрипт не позволит выполнить остальной код).

require_once FORUM_ROOT . 'register/index.php';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...