dsh12544 2015-03-04 17:32
浏览 232
已采纳

为什么这个php脚本导致“NetworkError:500 Internal Server Error”?

Why is this php script causing "NetworkError: 500 Internal Server Error"? Its only a little script for the contact form on my website and every time I click on the button to send the form the error cums up and as you can see its not made by me so I can't find the error by myself.. Thank you in advance!

 <?php
        // My modifications to mailer script from:
        // http://blog.teamtreehouse.com/create-ajax-contact-form
        // Added input sanitizing to prevent injection

        // Only process POST reqeusts.
        if ($_SERVER["REQUEST_METHOD"] == 'POST') {
            // Get the form fields and remove whitespace.
            $name = strip_tags(trim($_POST["name"]));
                    $name = str_replace(array("","
"),array(" "," "),$name);
            $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
            $message = trim($_POST["message"]);

            // Check that data was sent to the mailer.
            if ( empty($name) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {
                // Set a 400 (bad request) response code and exit.
                http_response_code(400);
                echo "Oops! Etwas ist schief gelaufen, ihre Nachricht konnte leider nicht versendet werden.";
                exit;
            }

            // Set the recipient email address.
            // FIXME: Update this to your desired email address.
            $recipient = "hello@youremail.com";

            // Set the email subject.
            $subject = "Eine neue Nachricht von $name";

            // Build the email content.
            $email_content = "Name: $name
";
            $email_content .= "Email: $email

";
            $email_content .= "Message:
$message
";

            // Build the email headers.
            $email_headers = "From: $name <$email>";

            // Send the email.
            if (mail($recipient, $subject, $email_content, $email_headers)) {
                // Set a 200 (okay) response code.
                http_response_code(200);
                echo "Dankeschön! Ihre Nachricht wurde versendet.";
            } else {
                // Set a 500 (internal server error) response code.
                http_response_code(500);
                echo "Oops! Etwas ist schief gelaufen, ihre Nachricht konnte leider nicht versendet werden.";
            }

        } else {
            // Not a POST request, set a 403 (forbidden) response code.
            http_response_code(403);
            echo "Es gab ein Problem mit ihrer Eingabe, bitte versuchen sie es erneut.";
        }

    ?>
  • 写回答

1条回答 默认 最新

  • dongzhazhuo0572 2015-03-04 17:52
    关注

    The function http_response_code() needs PHP 5.4.0 (see: php.net).
    Your are using PHP/5.3.29.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制