只是制作一个简单的提交表单,似乎无法使其正常工作.
它甚至不会报告奇怪的错误.
检查了PHP.ini,一切看起来都很好.
HTML:
<form id="submit-form" action="receiving.PHP" method="POST">
<h3>Submit a Link</h3>
<fieldset>
<table>
<tr>
<td><label for="name">You</label></td>
<td><input id="name" name="name" type="text" placeholder="Your Twitter or Blog ect." /></td>
</tr>
<tr>
<td><label for="submit-links">Link(s)</label></td>
<td><input id="sumbit-links" name="submit-links" type="text" placeholder="" required="" /></td>
</tr>
<tr>
<td><input name="submit" type="submit" value="SUBMIT" /></td>
</tr>
</table>
</fieldset>
</form>
receiving.PHP:
<?PHP
error_reporting(-1);
$name = $_POST['name'];
$submit-links = $_POST['submit-links'];
if(isset($_POST['submit'])){
$from_add = "submit@webdesignrepo.com";
$to_add = "ben@webdesignrepo.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Sites: $submit-links";
$headers = 'From: submit@webdesignrepo.com' . "\r\n" .
'Reply-To: ben@webdesignrepo.com' . "\r\n" .
'X-Mailer: PHP/' . PHPversion()
if(mail($to_add,$subject,$message,$headers)){
$msg = "Mail sent";
}
}
print "<p>Thanks $name</p>";
?>
任何帮助将非常感激 :)
您的表单有一些问题,我在发布此答案之前对其进行了测试.
正如Jeremy Miller在他的回答(1 Jeremy btw)中指出的那样,在变量中使用连字符是无效的,而是使用下划线.
在’X-Mailer:PHP /’之后你也错过了一个结束分号. PHPversion()顺便说一句,你不应该使用(出于安全目的),但是……如果你绝对想要使用它,就像这个’X-Mailer:PHP /’一样添加它. PHPversion(); – 请参阅下面的EDIT(暗示用法).
这$msg =“邮件发送”;成功提交后不会打印“邮件已发送”消息,因为您只是将变量分配给文本;你需要回应我在下面添加的内容;这不是一个错误,但如果你不打算使用它,为什么要这样做. (眨眼).
HTML表单
<form id="submit-form" action="receiving.PHP" method="POST">
<h3>Submit a Link</h3>
<fieldset>
<table>
<tr>
<td><label for="name">You</label></td>
<td><input id="name" name="name" type="text" placeholder="Your Twitter or Blog ect." /></td>
</tr>
<tr>
<td><label for="submit_links">Link(s)</label></td>
<td><input id="sumbit_links" name="submit_links" type="text" placeholder="" required="" /></td>
</tr>
<tr>
<td><input name="submit" type="submit" value="SUBMIT" /></td>
</tr>
</table>
</fieldset>
</form>
PHP
<?PHP
error_reporting(-1);
$name = $_POST['name'];
$submit_links = $_POST['submit_links'];
if(isset($_POST['submit']))
{
$from_add = "submit@webdesignrepo.com";
$to_add = "ben@webdesignrepo.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Sites: $submit_links";
$headers = 'From: submit@webdesignrepo.com' . "\r\n" .
'Reply-To: ben@webdesignrepo.com' . "\r\n" .
'X-Mailer: PHP/' . PHPversion();
if(mail($to_add,$headers))
{
$msg = "Mail sent";
echo $msg;
}
}
print "<p>Thanks $name</p>" ;
?>
编辑(暗示用法)
我建议你使用下面的PHP,因为你现在的条件语句会抛出以下错误,如果直接访问PHP文件,可能会发生.
另外,使用’X-Mailer:PHP /’. PHPversion()让人们知道你正在使用哪个PHP版本.
我有很好的权威,使用它是一个安全漏洞.他的名字现在逃脱了我,但是一旦我记得,我会加上它.
Notice: Undefined index: name in… on line 4
Notice: Undefined index: submit_links in… on line 5
我已经在if(isset($_ POST [‘submit’]))条件语句中设置了变量.
<?PHP
error_reporting(-1);
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$submit_links = $_POST['submit_links'];
$from_add = "submit@webdesignrepo.com";
$to_add = "ben@webdesignrepo.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Sites: $submit_links";
$headers = 'From: submit@webdesignrepo.com' . "\r\n" .
'Reply-To: ben@webdesignrepo.com' . "\r\n";
if(mail($to_add,$headers))
{
$msg = "Mail sent";
echo $msg;
}
print "<p>Thanks $name</p>" ;
}
// else conditional statement for if(isset($_POST['submit']))
else {
echo "Sorry,you cannot do that from here. Please fill in the form first.";
}
?>