Проверка формы потери переменных - PullRequest
0 голосов
/ 21 декабря 2010

Допустим, я ввел регистрационную форму с этим конечным URL: registration.php?accountType=a Форма анализируется на той же странице (registration.php).Если пользователь не проходит валидацию формы, его отправляют в registration.php с сообщениями об ошибках.Итак, вы видите, что я потерял свою переменную accountType = a.Мой вопрос:

Могу ли я отправить форму для проверки и сохранить переменную accountType?Я знаю, что это легко сделать с помощью куки.Я просто хочу дальнейшего понимания.

Решение: Хотя все приведенные ниже ответы были верны, я выбрал переменную Session, <form action="registration.php?<?php print 'accountType=' . $_SESSION['accountType']; ?>" и т. Д.

Ответы [ 3 ]

0 голосов
/ 21 декабря 2010

Вы должны использовать это в своей форме:

<form action="registration.php?accountType=a">

Вы должны использовать это в своем php:

if ($validation_success) {
    header('sucess.php')
} else {
    // don't do anything. The page(registration.php?accountType=a) loads
}

Я просто даю вам идею.

0 голосов
/ 21 декабря 2010

Я думаю, вам следует добавить «accountType = $ accountType» в конце URL-адреса, когда вы делаете http-пересылку, чтобы пользователь вернулся на нужную страницу.

Я не вижу ваш код, но, возможно, так:

if(auth())
{
  //do something...
}
else
{
  header("Location: /registration.php?somerror=true&accountType=" . $accountType);
}
0 голосов
/ 21 декабря 2010

Вы можете легко сделать это тремя способами ...

  1. Использование сессий PHP. Просто сделайте что-то вроде

    session_start (); $ _SESSION ['namespace'] = массив ('post' => $ _POST, 'get' => $ _GET);

  2. Использование Cookie (сессия кажется мне более элегантной).

  3. Использовать Ajax-запрос; это облегчит ваши задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...