【问题标题】:PHP script gets downloaded each time每次都会下载 PHP 脚本
【发布时间】:2015-08-20 09:43:31
【问题描述】:

服务器新手
每次提交表单时都会下载 action 属性中的 PHP 脚本。

<form action="action.php" method="POST">

表格在 register.html 中。 action.phpregister.html 文件都在同一个目录 /var/www/html 中,这是我安装 Lamp Server 后的当前根目录。我有另一个包含 phpinfo() 函数的 php 文件,该函数可以正确执行,但 action.php 不起作用。

我的 action.php 脚本:

<?php

    echo $_POST['name'];

?>

我的 register.html 文件:

<!DOCTYPE html>

<html>

    <head>
        <title>A Simple form</title>
    </head> 

    <body>

        <form action="action.php" method="POST">

            Name:<br>
            <input type="text" name="name" ><br>
            Password:<br>
            <input type="password" name="password"><br>
            <input type="submit" value="Submit"><br>

        </form> 


    </body>

</html>

【问题讨论】:

  • @ali 我已经提到在同一目录中具有 phpinfo() 函数的 php 文件正在正确执行,但 action.php 没有。
  • 你在哪个平台上?如果您在 *nix 系统上,您检查文件的权限是否相同?
  • @Ali 我正在使用 linux mint 17 并已安装 LAMP 服务器。
  • 好的,我会比较工作和不工作的 php 文件之间的权限和所有者/组

标签: apache


【解决方案1】:

OP 正在通过双击文件打开 register.html,这导致该文件被浏览器使用file:// 协议而不是http:// 协议打开。一旦使用file:// 协议打开,操作系统就会处理所有表单提交,因此操作系统也会通过file:// 协议打开action.php。 Apache 没有涉及,因此是这个问题。

要解决此问题,必须通过在浏览器中手动输入该 URL,通过 http://localhost/ ... /register.html 打开初始文件 register.html(或 index.html)。现在这将由 Apache 提供服务,任何后续的表单提交和导航将继续由 Apache 提供服务,在此过程中解释服务器端上的任何 PHP。

【讨论】:

  • 我用 localhost/register.html 打开了 register.html 但提交后我得到了 404 (在此服务器上找不到请求的 URL /var/www/html/action.php。)即使操作.php 与 register.html 位于同一目录( /​​var/www/html/ )。
  • 为什么你的网址是/var/www/html/action.php?您能否使用最新版本的 register.html 文件和您在浏览器中输入的 URL 来更新原始问题。
  • 完成了。如果发生不好的事情会寻求帮助。非常感谢你和我一起承受。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2015-01-28
  • 2014-12-25
  • 2021-07-10
  • 2022-10-18
相关资源
最近更新 更多