exit(), return 使 post 数据消失
exit(), return make post data gone
我的代码如下所示:
if(!filter_var($Email, FILTER_VALIDATE_EMAIL))
{
message("Invalid Mail!", "error"); return;
}
message 是弹出提示的功能。
但是,一旦错误弹出(由于"return"),整个表格将"emptied"。我是新手,如何防止这种情况发生?
此致
Web 服务器通常无状态。当您的脚本完成执行时,它将忘记有关请求的所有内容,包括提交的表单数据。
PHP保存状态的两种常用方法是使用session variables(在请求之间在服务器上存储用户信息),或将数据输出到隐藏用于在下一次请求时重新提交的表单字段(在请求之间在客户端存储信息)。两者都是临时的。
一个非常简单的会话变量,它会记住您之前是否访问过:
<?php
// Tell PHP to use sessions
session_start();
// If the variable is not set
if (!isset($_SESSION['returning_user'])) {
// They are a new user
echo 'Welcome first-timer!';
$_SESSION['returning_user'] = true;
// Otherwise the variable is set
} else {
// They are a returning user
echo 'Hello again :)';
}
如果用户在填写表单时出现错误,或者验证失败等,推荐的方法是将表单域中的数据重新输出,供用户修改,待用户修改后重新提交准备好了。
如果您正在制作一个多步骤表单向导,您可以 "capture" 会话变量中先前步骤的数据,以便在最后处理。这是因为您将在提交时验证用户输入 - 将其发送回客户端进行存储可能不可信 - 将其保存在服务器上是安全的。
希望对您有所帮助
我的代码如下所示:
if(!filter_var($Email, FILTER_VALIDATE_EMAIL))
{
message("Invalid Mail!", "error"); return;
}
message 是弹出提示的功能。
但是,一旦错误弹出(由于"return"),整个表格将"emptied"。我是新手,如何防止这种情况发生?
此致
Web 服务器通常无状态。当您的脚本完成执行时,它将忘记有关请求的所有内容,包括提交的表单数据。
PHP保存状态的两种常用方法是使用session variables(在请求之间在服务器上存储用户信息),或将数据输出到隐藏用于在下一次请求时重新提交的表单字段(在请求之间在客户端存储信息)。两者都是临时的。
一个非常简单的会话变量,它会记住您之前是否访问过:
<?php
// Tell PHP to use sessions
session_start();
// If the variable is not set
if (!isset($_SESSION['returning_user'])) {
// They are a new user
echo 'Welcome first-timer!';
$_SESSION['returning_user'] = true;
// Otherwise the variable is set
} else {
// They are a returning user
echo 'Hello again :)';
}
如果用户在填写表单时出现错误,或者验证失败等,推荐的方法是将表单域中的数据重新输出,供用户修改,待用户修改后重新提交准备好了。
如果您正在制作一个多步骤表单向导,您可以 "capture" 会话变量中先前步骤的数据,以便在最后处理。这是因为您将在提交时验证用户输入 - 将其发送回客户端进行存储可能不可信 - 将其保存在服务器上是安全的。
希望对您有所帮助