联系表单返回空白页


Contact form returns blank page

我正在为游戏服务器制作一个小网站,我在制作联系表单时遇到了一些麻烦,当我点击提交时,它返回一个空白页面,不发送电子邮件。下面是代码,HTML和PHP

HTML:

<form method="post" action="contact.php">
<div>
<div class="row">
<div class="6u">
<input type="text" name="senderName" id="name" placeholder="Nume" />
</div>
<div class="6u">
<input type="text" name="senderEmail" id="email" placeholder="E-mail" />
</div>
</div>
<div class="row">
<div class="6u">
<input type="text" name="senderUsername" id="name" placeholder="Username Minecraft" />
</div>
<div class="6u">
<input type="text" name="senderMethod" id="email" placeholder="Modalitate de plata (PayPal sau PaySafeCard)" />
</div>
</div>
<div class="row">
<div class="12u">
<textarea name="message" id="message" placeholder="Mesaj Optional (in caz ca vrei sa adaugi ceva)"></textarea>
</div>
</div>
<div class="row double">
<div class="12u">
<ul class="actions">
<li><input type="submit" value="Trimite" /></li>
<li><input type="reset" value="Reseteaza" class="alt" /></li>
</ul>
</div>
</div>
</div>
</form>

PHP:

if($_POST["submit"]) {
$recipient="outsidebbr@yahoo.com";
$subject="Test";
$senderName = $_POST['senderName']
$senderEmail = $_POST['senderEmail'] ;
$senderUsermame = $_POST['senderUsermame']
$senderMethod = $_POST['senderMethod']
$message = $_POST['message'] ;

mail( $recipient, $subject, "From: $senderEmail", $message);
header( "Location: form-thankyou.html" ); }
?>

有人能帮忙吗?谢谢!

直接使用:

 if($_POST) { ... }

你没有一个名为"submit"的表单字段,所以它总是会被计算为false。它是$_POST数组中使用的表单字段名属性。检查你的控制台,看看你在发布什么。

即使成功,你也会得到一个空白页面,因为你没有向浏览器提交任何内容。在if块中添加一个echo

您的php代码有语法错误,您需要在字符串声明的末尾添加";"

$senderName = $_POST['senderName']
$senderUsermame = $_POST['senderUsermame']
$senderMethod = $_POST['senderMethod']

对于开发目的(仅用于开发),您可以报告错误以调试代码:

ini_set("display_errors", 1);
error_reporting(E_ALL ^ (E_NOTICE));

给提交按钮命名

<li><input type="submit" value="Trimite" name="submit" /></li>

你有几个原因为什么这不起作用:

  1. if ($_POST["submit"])不工作!

    • 解决方法:为提交按钮<input name="submit" type="submit" value="Submit" />添加名称
  2. PHP中缺少;语法错误。

    • 解决方法:在行尾添加分号:

      $senderName = $_POST['senderName']
      $senderUsermame = $_POST['senderUsermame']
      $senderMethod = $_POST['senderMethod']
      
  3. 您在多个控件中重用相同的id

    • 解决方案:为多个控件使用不同的id s
  4. 您没有在web服务器上运行它!

    • 解决方法:使用web服务器运行