PHP操作$服务器[';PHP#u SELF';]出现错误404

PHP操作$服务器[';PHP#u SELF';]出现错误404,php,Php,我是PHP新手,我正在尝试制作一个联系我们表单,该表单将执行验证,如果任何字段输入不正确,将显示一个错误 我试着遵循这个教程 这就是我的表格的样子 <h2>PHP Form Validation Example</h2> <p><span class="error">* required field.</span></p> <form method="post" action="<?php echo htmlsp

我是PHP新手,我正在尝试制作一个联系我们表单,该表单将执行验证,如果任何字段输入不正确,将显示一个错误

我试着遵循这个教程

这就是我的表格的样子

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  Name: <input type="text" name="name">
  <span class="error">* <?php echo $nameErr;?></span>
  <br><br>
  E-mail: <input type="text" name="email">
  <span class="error">* <?php echo $emailErr;?></span>
  <br><br>
  Website: <input type="text" name="website">
  <span class="error"><?php echo $websiteErr;?></span>
  <br><br>
  Comment: <textarea name="comment" rows="5" cols="40"></textarea>
  <br><br>
  Gender:
  <input type="radio" name="gender" value="female">Female
  <input type="radio" name="gender" value="male">Male
  <span class="error">* <?php echo $genderErr;?></span>
  <br><br>
  <input type="submit" name="submit" value="Submit">  
</form>
我做错了什么?此外,如果这不是正确的方法,是否有人可以提出建议,在通过PHP验证和发送电子邮件后,如何显示错误消息和成功消息

更新:

好的,首先,问题是文件扩展名,谢谢Chris的宝贵意见。如果您愿意,添加您的评论作为答案,我将选择它作为正确答案


第二。在更改扩展名和href属性时,我遇到了一个问题,服务器仍然将我转到contactUS.html页面,而不是contactUS.php页面。问题是我的链接是用JavaScript生成的,出于某种原因,我的浏览器没有使用更新的JavaScript文件。我通过清除cookies解决了这个问题。

在php标记周围使用双引号,在$\u服务器密钥上使用单引号。如使用下面的例子,它将为您工作

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

您是否安装了PHP,并且您的文件是
.PHP
?您的代码将被定向到文本PHP。PHP应该已经将该变量的值输出到DOM,然后HTML将正确引导。这几乎看起来您的服务器没有解释PHP-您使用的是什么设置?我在www.inmotionhosting.com上运行我的网站,因此我确信服务器可以运行PHP,因为如果我用PHP文件的名称替换操作,效果会很好。chris85,我的文件扩展名是.html。我想这就是问题所在,现在就尝试使用php扩展名。@Saik这是你的问题,它需要是
.php
,或者你需要制作一个新的处理程序,以便php也可以查看
.html
文件。Chris我将扩展名改为.php,但现在当我单击链接转到我的contactUs页面时,它仍在尝试导航到contactUs.html,由于该文件已重命名为contactUs.php,它表示该文件不存在。我指向该页面的链接如下所示。那没什么区别。
结束它。双引号不在PHP.No中。当PHP工作时,没有一个解析器会将这两组引号视为具有特殊意义。这个答案不会产生任何有用的区别。是的,但你能使用下面的表单标签并再次检查吗?Ankit我真的发现了这个错误,并在我发完这篇文章后马上纠正了它。它仍然不工作,因为我的文件有html扩展名,而不是php扩展名。
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" >