我在这个例子中使用的表单是我已经使用了一段时间的回收,因为我没有知识或时间学习PHP。它有效,但不完全像我想要的那样。例如,当有人在表单中输入名称和电子邮件并提交时,它应该将用户重定向到freepage.html。但是,它会使用已输入的信息“闪烁”实际的“freepage.php”。通常持续1-2秒,然后重定向开始。
我遇到的另一个问题是,如果用户没有输入信息,“所有字段都是强制性的”警告显示在该freepage.php上,只有这一次该页面在屏幕上“闪烁”一秒钟,它才会停留在那里显示警告,唯一的解决方法是单击浏览器中的“后退”按钮。
有人能指出我怎么能让这种形式更好......
这就是php文件的样子
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jqueryui", "1.5.2");</script>
<?
if($_POST['name']!="" and $_POST['email']!=""){
$headers = "From: Sender";
$message =
strtoupper($_POST['name'])."
".strtoupper($_POST['email'])."
";
echo str_replace("\n","<br />", $message);
$headers2 = "From: Sender <info@gmail.com>\nContent-Type: text/plain; charset=UTF-8; format=flowed\nMIME-Version: 1.0\nContent-Transfer-Encoding: 8bit\nX-Mailer: PHP\n";
$message2 = "
Hello ".($_POST['name'])."
";
mail("$_POST[email]", "Thanks for entering", $message2, $headers2);
$myFile = "info-file.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "$_POST[name]*$_POST[email]*".$_SERVER['REMOTE_ADDR']."*".date("d-m-Y H:i")."
";
fwrite($fh, $stringData);
fclose($fh);
?>
echo '<script>document.location="freepage.html"; </script>';
<?
} else {
echo "All fields are mandatory";
?>
<script language="javascript">
alert("All fields are mandatory");
</script>
<?
}
?>
表格看起来像这样
<form method="post" action="freepage.php" name="popups" id="popups">
<fieldset>
<label for=name accesskey=U ><span class="required">*</span> Name</label>
<br />
<input name="name" type="text" id="name" size="30" value="" />
<br />
<label for=email accesskey=E ><span class="required">*</span> Email</label>
<br />
<input name="email" type="text" id="email" size="30" value="" />
<br />
<input type="submit" value="Submit" id="submit" name="submit" class="button" />
</fieldset>
<br />
</form>
答案 0 :(得分:0)
它“闪烁”的原因是你必须等待服务器在重定向之前发送邮件。
警告:“所有字段都是必填字段。”
答案 1 :(得分:0)
在for循环中使用空函数来检查字段是否为空,然后在表单操作中使用php
如果检查部分在内部完成,如果使用标题重定向到其他页面