Переменная сессии сохранения PHP - PullRequest
0 голосов
/ 02 сентября 2011

Я пробую новый скрипт CAPTCHA из здесь . Для вызова кода CAPTCHA вы используете: $ _ SESSION ['captcha'] ['code']

Хорошо, это работает, когда я выводил его на основную форму, но когда я повторяю его после отправки формы, он отображает новый код, поэтому я никогда не могу узнать, каким был старый код, когда они отправляли форму.

if($_POST['submit']) {
    echo $_SESSION['captcha']['code'];
}

Как я могу сохранить эти данные сеанса и не изменять их больше?

Ответы [ 3 ]

3 голосов
/ 02 сентября 2011

Вы должны сохранить его в своей собственной переменной SESSION:

$_SESSION['old_captcha'] = $_SESSION['captcha'];

Затем, когда форма отправлена, используйте собственную переменную:

if($_POST['submit']) {
    echo $_SESSION['old_captcha']['code'];
}
2 голосов
/ 02 сентября 2011

Поместите это ПЕРЕД тем, как вы снова включите captcha.php на следующем шаге.

1 голос
/ 02 сентября 2011

Я предполагаю, что он отображает новый код, потому что вы возвращаетесь на страницу, которая его отображает. Попробуйте отправить на другую страницу или, возможно, не выполнять код создания капчи, если переменная сеанса уже установлена.

...