这个问题在这里已有答案:
在我的网站文件中,我有3个文件,一个包含一些基本PHP代码的文件,例如收集用户数据,以及使代码有条理,我包括模板和表单文件,而不是在同一页面中编写代码。
所以,我在模板文件后面包含了表单。现在,在提交表单后,我想显示错误代码(如果存在),但我无法将其发送到第一页(包含在它之前),因为它会说Undefined variable
。我尝试使用$_SESSION
发送变量,但这不是一个好主意,因为即使刷新页面后,错误仍将存在。
所以,我决定用GET
请求。 (例如:http://website.com/form?status=failed&error=gender)。
获取GET
值的代码是:
$status = $_GET['status'];
$error = $_GET['error'];
$error1 = "You have to choose the gender.";
if ($status == "failed"){
if ($error == "gender"){
$message = $error1;
echo '<div class="message">'.$message.'</div>';
}
} else {
echo '<h4 class="tab-info">Complete these steps in order to get posts related to your interests.</h4>';
}
如果$status
或$error
是空的(http://website.com/form)尚未提交,它将给出以下错误:Undefined index: status in **path**
,这怎么能解决?
提前致谢。
您必须首次加载页面并且尚未设置$_GET
或$_POST
值,因为表单尚未提交或页面已运行而没有所需的查询字符串。
因此,在使用它们之前,请务必检查参数是否存在
$status = isset($_GET['status']) ? $_GET['status'] : '';
$error = isset($_GET['error'] ? $_GET['error'] : '';
这将确保你不会尝试使用$_GET['status']
无用它实际存在并且你的2个变量a)存在和b)有一些值,即使它是像这样的''
的默认值