所以我有一个注册表格。一个是register.php
,这是实际的形式。另一个是r.php
,它处理它。所以我使用会话,然后我将错误消息从r.php
发送到register.php
。问题是由于某种原因我只能弄清楚如何显示一个
if($name === ''){
$_SESSION['name_req'] = 'Make sure to enter a name';
header('Location: register.php');
exit();
}
elseif($name > 255){
$_SESSION['name_len'] = 'Enter a shorter name';
header('Location: register.php');
exit()
}
此代码基本上将消息发送到register.php
然后我用
<?php echo isset($_SESSION['name_req']) ? $_SESSION['name_req'] : '';?>
问题是,如果我一次只显示一个错误,我想一次显示所有错误。有任何想法吗?
答案 0 :(得分:2)
只使用您提供的代码,如果只找到一个错误,页面就会重定向,请尝试这样做:
if(isset($_POST['submitbuttonname']) && $_POST['submitbuttonname'] == "submitbuttonvalue") {
if($name === ''){
$_SESSION['name_req'] = 'Make sure to enter a name';
}
if($name > 255){
$_SESSION['name_len'] = 'Enter a shorter name';
}
header('Location: register.php');
exit();
}
但如果您使用javascript提交表单,则提交按钮无法正常工作,您可以使用隐藏的输入,无论您想要什么名称和值。
答案 1 :(得分:0)
$sessionValue = array();
$redirectTo = "register.php";
if($name === '')
{
$sessionValue[] = 'Make sure to enter a name';
}
if($name > 255)
{
$sessionValue[] = 'Enter a shorter name';
}
$impSessionVal = implode("|",$sessionValue);
if($impSessionVal!="")
{
$_SESSION["errormsg"] = $impSessionVal;
header("Location: $redirectTo");
exit();
}
在显示错误时,使用|分解会话消息并获得个人信息。