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 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误