【发布时间】:2012-02-15 20:48:11
【问题描述】:
我一直收到来自我的表单的空白提交,我知道使用 javascript 进行验证(“必需”验证)并不总是有效的,因为垃圾邮件机器人可以关闭 javascript。 所以我一直在寻找使用 php 验证我的 php 表单的方法。
所以经过一番研究......我发现这会奏效:
if (!$_POST['name'] )
{
die('Please fill in your name');
}
不过,在我点击提交按钮后,这条消息“请填写您的姓名”会显示在不同的页面上。现在理想情况下,我希望该消息显示在表单所在的页面上,尽管我正在努力寻找一种方法来做到这一点。 (请原谅我对php的了解不足)。
我需要 Ajax 吗? 我假设我需要在我希望显示错误消息的表单页面上添加一个 div?我将如何要求 php 在表单页面上显示错误消息? IE:我需要在我的 php 进程表单中放入什么(连同上面的代码?)。
如果您需要我发布/添加更多详细信息,请询问,我们将非常感谢您的帮助!
================================================ ======================== 更新
这是我的php进程表单:
<?
session_start();
include("verification_image.class.php");
$image = new verification_image();
if (($image->validate_code($_POST['validate']) ? "true" : "false") == "false") {
header('Location: http://www.domain.com/fail.htm');
exit;
}
if (!$_POST['rgerger'] )
{
die('You did not complete all of the required fields');
}
if(!empty($_POST['email'])){ die('Stop Spamming'); }
$to = "email@address.co.za";
$from = $_POST['ervberster'];
$subject = "I Want to Advertise";
$sBodyNew = '<style type="text/css">
<!--
.style {
font-family: Arial;
font-size: 12px;
color: #4D241E;
}
body {
background-image: url();
background-color: #F1EAE4;
}
.style1 {font-size: 14px}
-->
</style>
<p> </p>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="5">
<tr>
<td><table width="100%" border="0" cellpadding="8" cellspacing="0" bgcolor="#E7D3AF"
class="style">
<tr>
<td colspan="2" valign="top"><div align="center"><strong><span class="style1">I
Want to Advertise on AccommodationMozambique.co.za</span><br>
.................................................</strong><br>
</div></td>
</tr>
<tr>
<td width="32%" valign="top"><div align="left"><strong>Date Submitted</strong>
</div></td>
<td width="68%" valign="top">'. date("F j, Y, g:i a") .'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Name</strong></div></td>
<td valign="top">'.$_POST['name'].'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Email</strong></div></td>
<td valign="top">'.$_POST['ervberster'].'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Telephone</strong></div></td>
<td valign="top">'.$_POST['werergrggef'].'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Name of Lodge</strong></div></td>
<td valign="top">'.$_POST['hneyjyttyh'].'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Town / City</strong></div></td>
<td valign="top">'.$_POST['gedghethth'].'</td>
</tr>
<tr>
<td valign="top"><div align="left"><strong>Enquiry</strong></div></td>
<td valign="top">'.$_POST['rervberer323'].'</td>
</tr>
</table></td>
</tr>
</table>
';
$headers = "From: $from\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($to, $subject, $sBodyNew, $headers);
header('Location: http://www.domain.com/success.htm');
?>
【问题讨论】:
-
你不用死。如果你犯了一个错误,你不会死,所以你的网站也不会死。
标签: php css forms validation spam