【问题标题】:I have some error with php that opens blank page [duplicate]我有一些打开空白页面的php错误[重复]
【发布时间】:2019-09-22 00:15:48
【问题描述】:

在我的网站上使用我的联系表时遇到了一些困难。它打开一个空白页面,实际上根本不起作用。我的代码如下:

<form action="mail.php" method="post" class="comment-form">
<input name="name" type="text" placeholder="Your Name" required>
<input name="email" type="email" placeholder="Email">
 <input type="url" placeholder="Website">
<textarea rows="4" placeholder="Messages"></textarea>
 <input type="submit" value="send message">                                     
 </form>

和php代码:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Website'; 
$to = 'me@me.com'; 
$subject = 'Email Inquiry';

$header = "From: noreply@example.com\r\n"; 
$header.= "MIME-Version: 1.0\r\n"; 
$header.= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$header.= "X-Priority: 1\r\n"; 

mail($to, $subject, $message, $headers);
header("location: ../contact");
?>

【问题讨论】:

  • 您看到任何错误吗?
  • @Casper 他们可能没有使用错误报告,这解释了空白页。你会是正确的,因为通常空白屏幕意味着错误。
  • 我不认为这是一个重复的问题。问题中提到的代码有一个逻辑错误,按照重复的帖子链接中的建议启用错误报告,不会报告该错误。
  • @Funk Forty Niner 会有警告 Undefined index 因为当第一次加载页面时 $_POST[] 变量是空的,没有任何条件检查。
  • @Shaunak Sontakke 在执行 php 代码块之前,您需要检查表单是否在 php 中提交。

标签: php html forms email


【解决方案1】:

使用它来将你的 cod 发送到 php 而不仅仅是刷新

    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method='POST'>

【讨论】:

  • 这可能有什么好处?
【解决方案2】:

您的表单中没有任何名称为“提交”的内容。您有 type="submit"。所以你的代码没有进入 if($_POST['submit']) 的条件。

您应该检查其他内容。比如:if ($_POST['name']) 或 if ($_POST['email'])。

另外,我建议为您的 - if ($_POST['name']) 设置一个 else 块,这样您就可以显示一些消息而不是获得空白页。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多