单击 HTML 提交按钮时返回“HTTP405”错误

我目前正在通过 VisualStudio 在本地实时服务器上运行我的网站。我希望我的 HTML 联系表单(写在 index.html 文件中)在我的 HTML 表单中的“提交”按钮被点击时使用 PHPMailer(写在 contact-form-handler.php 中)发送邮件。


当我点击按钮时,我被带到一个页面,上面写着“此页面无法正常工作 HTTP 405”。


有人可以向我解释为什么会发生这种情况以及如何解决它。


索引.html:


<form id="contact-form" method="post" action="">

       <label for="name">NAME</label>

       <input id="name" type="text" name="name" required>

       <label for="mob">MOBILE NUMBER</label>

       <input id="mob" type="text" name="mob" required>

       <label for="email">EMAIL</label>

       <input id="email" type="email" name="email" required>

       <label for="message">MESSAGE</label>

       <textarea id="message" type="text" name="message" required></textarea>

       <input class="submit-button" type="submit" value="Submit" name="submit"/>

</form> 

联系表单handler.php:


<?php

if (isset($_POST['submit'])) {

    require_once('PHPMailer/PHPMailerAutoload.php');

    $mail = new PHPMailer;


    $mail->Host = 'smtp.gmail.com';

    $mail->Port = '587';

    $mail->SMTPAuth = true;

    $mail->SMTPSecure = 'ssl';

    $mail->Username = 'myemailaddress@gmail.com';

    $mail->Password = 'mypassword';


    $mail->setFrom($_POST['email'], $_POST['name']);

    $mail->addAddress= 'myemailaddress@gmail.com';


    $mail->isHTML(true);

    $mail->Subject = 'Test';

    $mail->Body= '<h1> name:'.$_POST['name'].'<br> Email: '.$_POST['email'].'<br> Mobile: '.$_POST['mob'].'<br> message: '.$_POST['message'].'</h1>';


    if(!$mail->send()){

        $result="something went wrong. Please try again."; 

    }

    else{

        $result="Success!"

    }

}

?>


隔江千里
浏览 537回答 2
2回答

RISEBY

一个HTTP 405错误意味着你必须要求使用不受支持的方法的资源,因此出于某种原因你的Web服务器不允许POST请求的端点。您可以尝试将表单标签更改为:<form&nbsp;id="contact-form"&nbsp;method="get"&nbsp;action="">这不是一个很好的解决方案 - 更好的方法是修复您的服务器配置以允许 POST 方法。

蛊毒传说

我会在你的问题下发表评论,但我不能。@RiggsFolly 是对的,你必须放置action你的 php 文件的属性,因为表单必须将它发送到你的contact-form-handler.php.&nbsp;确保你没有在你的代码中使用 php 代码,index.html因为它不起作用。如果您添加来自 的问题代码会很好contact-form-handler.php,也许它可以帮助我们找出问题所在
打开App,查看更多内容
随时随地看视频慕课网APP