我正在为游戏服务器制作一个小网站,我在制作联系表单时遇到了一些麻烦,当我点击提交时,它返回一个空白页面,不发送电子邮件。下面是代码,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>
你有几个原因为什么这不起作用:
-
if ($_POST["submit"])
不工作!-
解决方法:为提交按钮
<input name="submit" type="submit" value="Submit" />
添加名称
-
解决方法:为提交按钮
-
PHP中缺少
;
语法错误。-
解决方法:在行尾添加分号:
$senderName = $_POST['senderName'] $senderUsermame = $_POST['senderUsermame'] $senderMethod = $_POST['senderMethod']
-
-
您在多个控件中重用相同的
id
。-
解决方案:为多个控件使用不同的
id
s
-
解决方案:为多个控件使用不同的
-
您没有在web服务器上运行它!
- 解决方法:使用web服务器运行