我的PHP代码不工作

我的PHP代码不工作,php,jquery,html,css,Php,Jquery,Html,Css,我需要一点帮助。我正试图将我的PHP代码保存为一个名为lulzy.PHP的单独文件来工作,但它就是不想工作。我做错了什么 我的目标是将用户的消息直接发送到我的电子邮件收件箱中,并在用户填写我的web表单时立即发送 以下是指向我的JSFIDLE的链接: 下面是我的PHP代码: <?php $name= $_REQUEST['name'] ; $email = $_REQUEST['email'] ; $message = $_REQUEST['message'] ; mai

我需要一点帮助。我正试图将我的PHP代码保存为一个名为lulzy.PHP的单独文件来工作,但它就是不想工作。我做错了什么

我的目标是将用户的消息直接发送到我的电子邮件收件箱中,并在用户填写我的web表单时立即发送

以下是指向我的JSFIDLE的链接:

下面是我的PHP代码:

<?php
  $name= $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "mymail@gmail.com", "Feedback Form Results",
    $message, "From: $email" );
  header( 'Location: Index.html' );
?>
所有内容都在我桌面上的同一文件夹中

这是我尝试填写整个表单并发送消息时收到的消息:


Firefox在/C:/Users/MS/Desktop/Slide Down Contact Me Form/lulzy.php中找不到文件。您需要在每个表单输入上都有name属性

<input type="text" name ="fullName" placeholder="Please enter your full name here" required />
同样适用于电子邮件和文本区,方法为class='post'而不是action='post'


您的php需要位于服务器上,而不是桌面上。

您需要在每个表单输入上具有name属性

<input type="text" name ="fullName" placeholder="Please enter your full name here" required />
同样适用于电子邮件和文本区,方法为class='post'而不是action='post'


您的php需要位于服务器上,而不是桌面上。

您忘记添加名称属性:

<form action="lulzy.php" method="post">
        <h6><img src="img/person.png" alt="" /> Name</h6>

    <input name="name" type="text" placeholder="Please enter your full name here" required />
        <h6><img src="img/email.png" alt="" /> E-mail</h6>

    <input name="email" type="email" placeholder="Please enter your e-mail address" required/>
        <h6><img src="img/message.png" alt="" /> Message</h6>

    <textarea name="message" placeholder="Type your message..." required/></textarea>
    <input type="submit" value="Submit">
</form>

您忘记添加名称属性:

<form action="lulzy.php" method="post">
        <h6><img src="img/person.png" alt="" /> Name</h6>

    <input name="name" type="text" placeholder="Please enter your full name here" required />
        <h6><img src="img/email.png" alt="" /> E-mail</h6>

    <input name="email" type="email" placeholder="Please enter your e-mail address" required/>
        <h6><img src="img/message.png" alt="" /> Message</h6>

    <textarea name="message" placeholder="Type your message..." required/></textarea>
    <input type="submit" value="Submit">
</form>
您需要方法=发布,而不是操作=发布

您需要两次声明操作,而不声明您的方法,以了解表单如何发布到PHP脚本中

您还需要为您的姓名属性设置“其他答案”状态

您需要method=POST而不是action=POST

您需要两次声明操作,而不声明您的方法,以了解表单如何发布到PHP脚本中


您还可以查看您的姓名属性,如其他答案状态

我认为这里的答案都不包含此错误消息的实际解决方案:

Firefox在/C:/Users/MS/Desktop/Slide-Down-Contact-Me-Form/lulzy.php中找不到该文件

这意味着

您已经从本地硬盘打开了HTML,而不是从本地web服务器提供服务 因此,虽然lulzy.PHP在指定的文件夹中似乎不存在,但其中没有任何PHP处理器 此外,您忘了向表单字段添加名称属性,其他人在这里已经提到了这一点,您意外地将方法属性声明为表单的操作:

<form action="lulzy.php" action="post">

<!-- This should be right: -->
<form action="lulzy.php" method="post">
使用验证码?看见 我肯定会添加一个,如果你保持你的表格发送直接电子邮件。有几个图书馆在那里-取决于你的交通私人或商业网站你可以用。你也可以自己动手,但最好使用智能问题或只有人类才能解决的问题,而不是图像。 然而,您也应该考虑您的用户。可能的垃圾邮件攻击与用户体验。
除了验证人类之外,另一个完全不同的选择是不将电子邮件发送到您的个人电子邮件地址,而是将其保存到您的数据库中,并自行创建一个简单的通知系统。这样,您就有了更细粒度的过滤器控制。

我认为这里的答案都不包含此错误消息的实际解决方案:

Firefox在/C:/Users/MS/Desktop/Slide-Down-Contact-Me-Form/lulzy.php中找不到该文件

这意味着

您已经从本地硬盘打开了HTML,而不是从本地web服务器提供服务 因此,虽然lulzy.PHP在指定的文件夹中似乎不存在,但其中没有任何PHP处理器 此外,您忘了向表单字段添加名称属性,其他人在这里已经提到了这一点,您意外地将方法属性声明为表单的操作:

<form action="lulzy.php" action="post">

<!-- This should be right: -->
<form action="lulzy.php" method="post">
使用验证码?看见 我肯定会添加一个,如果你保持你的表格发送直接电子邮件。有几个图书馆在那里-取决于你的交通私人或商业网站你可以用。你也可以自己动手,但最好使用智能问题或只有人类才能解决的问题,而不是图像。 然而,您也应该考虑您的用户。可能的垃圾邮件攻击与用户体验。
除了验证人类之外,另一个完全不同的选择是不将电子邮件发送到您的个人电子邮件地址,而是将其保存到您的数据库中,并自行创建一个简单的通知系统。这样,您就有了更细粒度的过滤器控件。

+1用于127次尝试加上酷炫的脚本。您的表单容易受到邮件头注入的攻击。始终在将$email放入邮件头之前将其列入白名单。我的web表单在没有php的JSFIDLE上运行良好,但当我将所有内容复制/粘贴到单独的文件夹中时,以及当我添加lulzy.php文件时,它不想将邮件发送到我的电子邮件。不知道为什么?不,这是因为,如前所述,您从本地硬盘运行脚本,而不是从服务器运行脚本。我的意思是,许多开发人员在实际编写脚本的盒子上运行apache/php/MySQL,以便在将脚本上传到服务器之前对其进行测试。。。。根据您的本地PC是Windows、Linux还是Mac机箱,您可以找到apache/php/

MySQL软件包可用于您的PC。。。。只需google mamp或xampp就可以找到127次尝试的+1包,再加上酷炫的脚本。您的表单容易受到邮件头注入的攻击。始终在将$email放入邮件头之前将其列入白名单。我的web表单在没有php的JSFIDLE上运行良好,但当我将所有内容复制/粘贴到单独的文件夹中时,以及当我添加lulzy.php文件时,它不想将邮件发送到我的电子邮件。不知道为什么?不,这是因为,如前所述,您从本地硬盘运行脚本,而不是从服务器运行脚本。我的意思是,许多开发人员在实际编写脚本的盒子上运行apache/php/MySQL,以便在将脚本上传到服务器之前对其进行测试。。。。根据您的本地PC是Windows、Linux还是Mac机箱,您可以找到适用于您的PC的apache/php/MySQL软件包。。。。只需谷歌mamp或xampp就可以找到这些软件包为什么Firefox无法在。。。错误?这是有用的,但不是答案。为什么Firefox在。。。错误?这很有用,但不是答案。好的。我将尝试按照建议更改所有内容,但在将所有内容上载到web服务器之前,如何测试我的PHP代码是否正常工作?所有东西都还在我的本地硬盘上。有没有办法???@C.Felipe只需安装一个本地web服务器。我会推荐与ApacheWeb服务器、PHP、Perl、phpMyAdmin和其他一些工具一起打包的工具。谢谢!我会尽力去做的。希望它易于使用,以便我可以测试我的代码@菲利佩,不客气。至少在Windows下安装是非常容易的。实际上,人们应该始终在本地开发和测试自己的脚本,并且只在进入生产模式时部署到“真正的”web服务器。@C.Felipe我在回答中添加了一段;好啊我将尝试按照建议更改所有内容,但在将所有内容上载到web服务器之前,如何测试我的PHP代码是否正常工作?所有东西都还在我的本地硬盘上。有没有办法???@C.Felipe只需安装一个本地web服务器。我会推荐与ApacheWeb服务器、PHP、Perl、phpMyAdmin和其他一些工具一起打包的工具。谢谢!我会尽力去做的。希望它易于使用,以便我可以测试我的代码@菲利佩,不客气。至少在Windows下安装是非常容易的。实际上,人们应该始终在本地开发和测试自己的脚本,并且只在进入生产模式时部署到“真正的”web服务器。@C.Felipe我在回答中添加了一段;