你能告诉我为什么这段代码不起作用吗?这是一个基本的PHP - HTML联系表单......
<?php
$errors = array();
if (isset($_POST['name'], $_POST['email'])) {
$name = htmlentities(mysql_real_escape_string($_POST['name']));
$email = htmlentities(mysql_real_escape_string($_POST['email']));
$ip = $_SERVER['REMOTE_ADDR'];
if (empty($name) || empty($email)) {
$errors[] = '<div id="error">All fields are required.</div>';
}
if (strlen($name)>25 || strlen($email)>1024) {
$errors[] = '<div id="error">One or more fields exceeded the character limit.</div><br />';
}
if (empty($errors)) {
function email($to, $subject, $body) {
mail($to, $subject, $body, 'From: support@astrominds.in');
}
email("abc@xyz.com", "Contact Message"," Your Subject: $subject\n" . "Ip: $ip\n" . " Your Name: $name\n" . " Your Email: $email\n");
}
}
?>
这是html表单......
<form method="post" action="index.php">
<label class="label">Name</label>
<input type="text" name="name" id="name" class="detail" autocapitalize="words" autocorrect="off">
<label class="label">Email</label>
<input type="text" id="f1" class="detail" name="email" autocapitalize="words" autocorrect="off" />
<input type="submit" value="Continue" class="csssubmit" >
答案 0 :(得分:2)
您的代码包含多个错误。我刚刚删除了所有这些。
试试这个:
- &gt;输入字段没有名称字段。我把它设置成形式。您也可以在代码中将其作为字符串传递。
- &gt;您尚未设置$ subject字段,但您尝试从此处访问值,这将导致邮件发送fiel(在mail()内部出错)。
- &gt;不需要检查每个值的帖子值,只需设置表单提交类型名称。
- &GT;请尝试使用表单标签来处理输入表单字段
<?php
$errors = array();
if (isset($_POST['submit'])) {
$name = htmlentities(mysql_real_escape_string($_POST['name']));
$email = htmlentities(mysql_real_escape_string($_POST['email']));
$ip = $_SERVER['REMOTE_ADDR'];
if (empty($name) || empty($email))
{
$errors[] = '<div id="error">All fields are required.</div>';
}
if ( strlen($email)>1024)
{
$errors[] = '<div id="error">One or more fields exceeded the character limit.</div><br />';
}
if (empty($errors)) {
function email($to, $subject, $body)
{
mail($to, $subject, $body, 'support@astrominds.in');
}
email("abc@xyz.com","Contact Message", "Your Subject: Type subject\n" , "Ip: $ip\n"."Your Name: $name\n"."Your Email: $email\n");
echo "Form Works Success";
}
}
?>
<form method="post" action="formnot.php">
<label class="label">Email</label>
<input type="text" id="f1" class="detail" name="email" autocapitalize="words" autocorrect="off" />
<label class="label">Name</label>
<input type="text" name="name" />
<input type="submit" value="Continue" class="csssubmit" name="submit" >
</form>