я столкнулся с проблемой во всех моих PHP проектов является то, что с тех пор я использовал ООП в том, что если есть пользователь, посылающий формуне может хранить данные сессии между страницами
, когда он идет на обработку, и если это ошибка я сохранить сообщение в сессии и перенаправить их на ту же страницу
это образец и, конечно же, когда он перенаправляет это стирает все поля, что там было
, как, скажем, у меня есть Регистрационная форма, которая имеет
<?php if(!empty($message)) { echo $message } ?>
<form action ="forms/register.php">
first name: <input type="text" name="first_name" />
username:<input type="text" name="username" />
<input type="submit" value = "submit" />
</form>
и это то, что код в формах/register.php
if(isset($_POST['submit'])) {
$first_name = $_POST['first_name'];
$username = $_POST['username'];
if(empty($first_name) || empty($username) {
$session -> message("please fill in all the fields");
redirect("../register.php");
} else {
// do something else like insert query
}
}
моя проблема, если first_name или user_name пуст, и он перенаправляет на register.php
и не вторит сообщение об ошибке, не проблема в том, что
но поля опорожнить first_name и user_name пустые
поэтому пользователь должен заполнить все это снова
так один из моих друзей предложил, чтобы сохранить его в сессии или что-то
, так что я хотел бы знать, если это возможно, то как и то, что я имею в виду, как, так что никто не хотел бы получить это неправильно, я имею в виду путь не код просто скопировать его и вставить его
Спасибо заранее
и жаль за то, что долго и раздражает
Ну, кроме отсутствующей закрывающей скобки в PHP после пустого ($ username), POST-вары должны проходить нормально. Можете ли вы попробовать стиль гетто print_r ($ _ POST), выход; чтобы увидеть, что на самом деле происходит там? Также, возможно, проанализируйте заголовки, которые вы отправляете с помощью FireBug ... – HappyTimeGopher
Кажется, вы используете класс для '$ session'. Не видя его кода, мы не имеем понятия, чтобы помочь вам. Пожалуйста, суммируйте класс '$ session' и разместите его здесь. Кроме того, вы используете фреймворк как CakePHP или CodeIgniter? – rcdmk
Вместо того, чтобы использовать вход в случайные места, вы можете рассмотреть периоды в конце ваших предложений. – GolezTrol