PHP组合变量
我有以下代码:PHP组合变量,php,variables,Php,Variables,我有以下代码: session_start(); $error_fname = $_SESSION['error_fname']; $error_lname = $_SESSION['error_lname']; $error_email = $_SESSION['error_email']; $error_email_invalid = $_SESSION['error_email_invalid']; $error = array( 'fname' => $error_fna
session_start();
$error_fname = $_SESSION['error_fname'];
$error_lname = $_SESSION['error_lname'];
$error_email = $_SESSION['error_email'];
$error_email_invalid = $_SESSION['error_email_invalid'];
$error = array(
'fname' => $error_fname,
'lname' => $error_lname,
'email' => $error_email,
'email_invalid' => $error_email_invalid);
这位于页面顶部,在我的联系人表单下方,放置了以下代码:
<?php echo $error; ?>
出于某种原因,当我触发错误时,页面将刷新,并打印出以下内容:
如何使一个变量($error)显示所有可能的错误
_会话变量在以下文件中定义:
/assets/redir/contact.php
<?php
session_start();
$_SESSION['error_fname'] = " ";
$_SESSION['error_lname'] = " ";
$_SESSION['error_email'] = " ";
$_SESSION['error_email_invalid'] = " ";
if($_POST['fname']){
if($_POST['lname']){
if($_POST['email']){
if (strstr($_POST['email'], '@') && strstr($_POST['email'], '.')) {
mail('', 'Nieuw bericht van je website!', strip_tags($_POST['message']));
header('Location: ../../index.php');
}else
$_SESSION['error_email_invalid'] = "<div class='mssg mssg_error'>Het ingevoerde e-mail adres is niet correct.</div>";header('Location: ../../index.php');
}else
$_SESSION['error_email'] = "<div class='mssg mssg_error'>Je e-mail adres is verplicht</div>";header('Location: ../../index.php');
}else
$_SESSION['error_lname'] = "<div class='mssg mssg_error'>Je achternaam is verplicht</div>";header('Location: ../../index.php');
}else
$_SESSION['error_fname'] = "<div class='mssg mssg_error'>Je voornaam is verplicht</div>";header('Location: ../../index.php');
?>
$error
是一个数组,因此您需要通过该数组进行迭代,并分别显示每个元素:
foreach ($error as $er) {
if (!empty($er)) {
echo $er;
break; //to leave for first error
}
}
使用
因为$error
是一个数组井,一个丑陋的做法是
echo不打印数组,所以使用print\r($error);我知道我的问题表述得不对。我已经更新了。如果还有任何问题,请随时提问!好的,这样行。但现在错误不断增加。我正在寻找一个解决方案,只显示一个特定顺序的消息。像这样:1。名字2。姓3。电邮4。更正电子邮件我已经更新了我的答案,并添加了break
,以便在出现第一个错误时离开循环更新了问题,因此更清楚发生了什么。不过我认为我的代码正在做您想要做的事,所以请告诉我确切包含$error
的内容。Dovar\u dump($error)代码>而不是旧的回音。再次编辑问题