【问题标题】:404 error, on mamp server, file not found404 错误,在 mamp 服务器上,找不到文件
【发布时间】:2014-11-11 16:33:03
【问题描述】:

尝试访问 MAMP 上的 PHP 文件时出现以下 404 错误

“在此服务器上找不到请求的 URL /‘welcome.php’。”

html 文件和 php 文件都可以通过 localhost 正常运行,而不是通过文件操作。

它们在同一个位置,动作看起来像 action='welcome.php'

  <html><head charset=“utf-8”>></head><form action=‘welcome.php’ enctype="text/plain" method=“post”>      

  First name: <input type="text" name="firstname"><br> Last name: <input type="text"   

  name="lastname"> <button action=“submit”>Submit </button> </form> </html>

welcome.php 看起来像这样

  <html> <body> Welcome <?php echo $_POST["name"]; ?><br> Your email address is: <?php echo   

   $_POST["email"]; ?> </body> </html> 

【问题讨论】:

  • 编码时不要使用 MSWORD。使用代码编辑器。您的大引号 “ ”‘ ’ 是造成这种情况的原因。
  • 在下面我的回答是正确的.. 否决票@Yoni Tareke 的原因是什么

标签: php html forms http-status-code-404 mamp


【解决方案1】:

您的代码“ ”‘ ’ 中有几个大引号,这将解释表单操作action=‘welcome.php’ 的“找不到文件”错误。您还应该删除 Stack 上的 enctype="text/plain" - consult this answer 以获取更多信息。

您还使用了错误的名称name="firstname"$_POST["name"]
还有name="lastname"$_POST["email"],它们必须匹配。

您的 Html 文件现在应为:

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

和welcome.php文件:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

【讨论】:

  • 我对@9​​87654333@ 投了反对票,但我可以从您的original answer 看出您没有更改OP 代码中的“ ”‘ ’。最可能的原因,并且那个人没有撤回它。
  • 但是@Fred 先生我给出了完整的答案..解决了错误.. 是先生
  • 是我。 @Fred-ii- 是对的,当原始答案发布时,仍然存在非法引用,所以我投了反对票。现在我撤回了我的投票。
  • @FerrakkemBhuiyan 我对您的回答进行了一些修改/澄清,以便指出错误所在的 OP。最好这样做并给出详细的答案。 ;)
  • @FerrakkemBhuiyan 不客气。对不起,我不公开我的电子邮件。查看我的网站 ;)
【解决方案2】:

在此服务器上找不到请求的 URL /“welcome.php”

这是因为您在 HTML 中使用了错误的引号(引号)。在标记中,您不应使用其他任何东西,然后是 "'

所以你的代码应该是这样的:

<html>
<head charset="utf-8"></head>
<body>
  <form action="welcome.php" enctype="text/plain" method="post">
    First name: <input type="text" name="firstname"><br>
    Last name: <input type="text" name="lastname">
    <button action="submit">Submit</button>
  </form>
</body>
</html>

【讨论】:

  • 应该删除这个enctype="text/plain"。有关更多信息,请参阅stackoverflow.com/a/7628491
  • 使用enctype="text/plain" 会失败,只是想你想知道。
  • 我没有重构原始代码(body 标签除外)。只是管理报价和格式。而且你几乎是对的(至少welcome.php)。但是,即使您使用 enctype="text/plain" 提交表单,您仍然可以使用 file_get_contents('php://input') 在 PHP 中捕获数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 2017-02-23
  • 1970-01-01
  • 2011-02-07
  • 2016-03-19
  • 2016-07-15
  • 2016-07-10
相关资源
最近更新 更多