我有一个联系表单,用于发送包含已填写字段的电子邮件。仅当字段为空时才会显示缺少字段的错误消息。问题是错误消息没有显示在页面上。
这是我的php页面。
<?php
if (isset($_POST['submit'])) {
$body = '';
$body .= 'Naam: ' . $_POST['naam'] . "\n";
$body .= 'Telefoon: ' . $_POST['telefoon'] . "\n";
$body .= 'Email: ' . $_POST['email'] . "\n";
$body .= 'Bericht: ' . $_POST['bericht'] . "\n";
$body .= 'Adres: ' . $_POST['adres'] . "\n";
if (($_POST['naam'] && $_POST['email'] && $_POST['bericht'] && $_POST['telefoon'] !=""))
{
mail('someone@mail.com', 'Contact Form', $body, 'From: no-reply@mycompany.com');
header( "Location: /bedankt.html");
}
else
{
$naamErr = $berichtErr = $emailErr = $telefoonErr = $errormessage = "";
$errormessage = "De volgende velden waren niet ingevuld: ";
if($_POST['naam'] == "")
{
$errormessage .= "naam,";
}
if($_POST['bericht'] == "")
{
$errormessage .= "bericht,";
}
if($_POST['email'] == "")
{
$errormessage .= "email,";
}
if($_POST['telefoon'] == "")
{
$errormessage .= "telefoon";
}
header( "Location: contact.html?errormessage=$errormessage");
}
}
?>
在重定向页面上,我使用$ _GET函数来调用查询字符串。
<?php print $_GET["errormessage"];?>
我做错了什么,因为没有显示错误消息。
答案 0 :(得分:1)
您正在撰写<?php print $_GET["errormessage"];?>
,因为我可以看到您正在将标题重定向到&#34; contact.html&#34;使用以下代码header( "Location: contact.html?errormessage=$errormessage");
在html页面上我们不能使用php $ _GET [&#34; errormessage&#34;]
答案 1 :(得分:0)
您无法在html页面中获得$_GET
。
你需要php页面才能做到这一点。
创建contact.php而不是contact.html。
试试这个:
header( "Location: contact.php?errormessage=$errormessage");