mil*_*ben 6 php forms submit form-submit contact-form
只是制作一个简单的提交表单,似乎无法使其正常工作.
它甚至不会报告奇怪的错误.
检查了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>
Run Code Online (Sandbox Code Playgroud)
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>";
?>
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激 :)
您的表单存在一些问题,我在发布此答案之前对其进行了测试。
正如Jeremy Miller
他的回答(杰里米顺便说一句)中指出的那样+1
,在变量中使用连字符是无效的,请改用下划线。
您还缺少一个结束分号,'X-Mailer: PHP/' . phpversion()
顺便说一句,您不应该使用(出于安全目的)但是...如果您绝对想使用它,请像这样添加它'X-Mailer: PHP/' . phpversion();
- 咨询编辑(建议用法)以下。
成功提交后不会打印$msg = "Mail sent";
消息“ Mail sent
”,因为您只是将变量分配给文本;你需要echo it
我在下面添加的;这不是一个错误,但如果您不打算使用它,为什么要拥有它呢?(眨眼)。
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>
Run Code Online (Sandbox Code Playgroud)
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";
echo $msg;
}
}
print "<p>Thanks $name</p>" ;
?>
Run Code Online (Sandbox Code Playgroud)
我建议您使用以下 PHP,因为如果直接访问 PHP 文件,您当前的条件语句将引发以下错误,这种情况可能会发生。
另外,使用'X-Mailer: PHP/' . phpversion()
可以让人们知道您正在使用哪个 PHP 版本。
据我所知,使用它是一个安全漏洞。我现在记不起他的名字,但一旦我想起来,我就会加上它。
注意:未定义索引:名称位于...第 4 行
注意:未定义索引:submit_links in...第 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,$subject,$message,$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.";
}
?>
Run Code Online (Sandbox Code Playgroud)