首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联系表单返回空白页

联系表单返回空白页
EN

Stack Overflow用户
提问于 2014-08-20 18:47:49
回答 4查看 61关注 0票数 0

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

HTML:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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" ); }
?>

有人能帮上忙吗?谢谢!

EN

回答 4

Stack Overflow用户

发布于 2014-08-20 18:50:47

你有几个原因来解释为什么这个方法不起作用:

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

代码语言:javascript
复制
- **Workaround:** Add name to the submit button `<input name="submit" type="submit" value="Submit" />`

  1. 语法错误在PHP中缺少;

代码语言:javascript
复制
- **Workaround:** Add semicolons at the end of the lines:

$senderName =$_POST‘’senderName‘$senderUsermame =$_POST’‘senderUsermame’$senderMethod =$_POST‘$senderMethod’

  1. 您正在多个控件中重用相同的id

代码语言:javascript
复制
- **Workaround:** Use different `id`s for multiple controls.

  1. 您没有在web服务器上运行它!

代码语言:javascript
复制
- **Workaround:** Run it using a web server.

票数 0
EN

Stack Overflow用户

发布于 2014-08-20 18:51:21

只需使用:

代码语言:javascript
复制
 if($_POST) { ... }

您没有名为"submit“的表单域,因此它将始终计算为false。它是在$_POST数组中使用的表单字段名称属性。检查你的控制台,看看你在张贴什么。

即使在成功的情况下,你也会得到一个空白页面,因为你没有向浏览器显示任何标题。在if块中放一个回声。

票数 0
EN

Stack Overflow用户

发布于 2014-08-20 18:52:38

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

代码语言:javascript
复制
$senderName = $_POST['senderName']
$senderUsermame = $_POST['senderUsermame']
$senderMethod = $_POST['senderMethod']

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

代码语言:javascript
复制
ini_set("display_errors", 1);
error_reporting(E_ALL ^ (E_NOTICE));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25402772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档