【问题标题】:PHP 101 : How to call an external PHP file with actionPHP 101:如何使用操作调用外部 PHP 文件
【发布时间】:2016-06-05 04:06:51
【问题描述】:

我有一个需要执行 PHP 脚本的网络应用程序。我现在能做的是:

<html>
<body>
<div>
<form metho="post" action="">
<input type="submit" value="CLICK ME"/>
</form>
</div>

<?php
echo "Hello World";
?>
</body>
</html>

现在整个代码以 .php 格式保存在我的 htdocs xampp 文件夹中。所以当我运行它时,我的按钮下方会出现“Hello world”。

我想做的是将脚本保存在我的 xampp 中,并将 Html 文件保存在其他地方。

然后我如何调用我的脚本 onclick 提交按钮?我看到我可以在&lt;form&gt; 标记中设置action = "path to my php script file",但它并不能解决问题。它说firefox无法解析地址。

编辑

我的实际代码是

    <!DOCTYPE html>
<html>
<head>

    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
    <link rel="stylesheet" type="text/css" href="monstyle.css">
    <link rel="stylesheet" type="text/css" href="leaflet/leaflet.css">
    <script src="leaflet/leaflet.js"></script>
    <script src="MyJS.js"></script>
</head>
<body onload="init()">

<div id="map">
</div>

<form method="POST" action="C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php">
<input type="submit" name="" value="VALIDER">
</form>



</body>
</html> 

【问题讨论】:

  • “但它不起作用” - 告诉我们你是如何尝试的。
  • "set action = "path to my php script file"" 是正确的。但是不要使用完整路径,只使用相对路径 - 如果在同一文件夹中则只使用文件名
  • @lolbas 我已经用我使用的代码编辑了我的 OP
  • 如果你这样做会发生什么&lt;form method="POST" action="Mes_Scripts_PHP\test_connect_sqlsrv.php"&gt; &lt;input type="submit" name="" value="VALIDER"&gt; &lt;/form&gt;
  • @abhishekGurjar 当我这样做时,浏览器似乎在我的项目文件夹中寻找test_connect_sqlsrv.php。所以它说它找不到它。然后我把文件放在我的项目文件夹中。这一次,当我单击整个 PHP 脚本时,它会打印在新页面上;就像在纯文本中那样大声笑

标签: php


【解决方案1】:

好的,我找到了。我需要使用一个实际的网址......我猜。由于该文件在我的计算机上,因此著名的组合“localhost:port_number”完成了这项工作。

http://localhost:8012/Mes_Scripts_PHP/test_connect_sqlsrv.php

-

<form method="POST" action="http://localhost:8012/Mes_Scripts_PHP/test_connect_sqlsrv.php">
<input type="submit" name="" value="VALIDER">
</form>

而不是

<form method="POST" action="C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php">
<input type="submit" name="" value="VALIDER">
</form>

【讨论】:

    【解决方案2】:

    你有一个错字:(方法而不是方法)

    <form metho="post" action="">
    

    应该是

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

    【讨论】:

    • 我的错误。只是一个错字。但是我添加了我的实际代码......你能看看它吗
    • C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php --- PHP 是基于服务器的,不能在您的计算机硬盘上运行。
    • 常见我不明白。我在我的PC 上安装了xampp ... 即Apache 就在那里。我的 PC 模拟了该架构。我不明白你的评论
    • 您的 PHP 和 HTML 文档都需要在 htdocs/dashboard 文件夹中。
    • 请看我的回答。如果您可以编辑它并解释它为什么工作以及为什么它加载一个新页面而不是停留在提交按钮所在的页面上,将不胜感激。感谢您的帮助
    【解决方案3】:
    include 'path.to.your.file.php';
    

    见:http://php.net/manual/en/function.include.php

    【讨论】:

    • 不是我想要的,但谢谢。它们是我以后使用它的机会。
    • 是的,我似乎没有完全理解你的问题。对此感到抱歉。
    【解决方案4】:

    根据您的最新编辑。

    属于&lt;form&gt;标签的action属性应具有以下值之一:

    1. 相对于服务器根文件夹的绝对文件路径,即

      &lt;form action="/path/to/script.php"&gt;...&lt;/form&gt;

    2. 相对于当前文件夹的相对文件路径,即

      &lt;form action="script.php"&gt;...&lt;/form&gt;,假设它在同一个文件夹中。

    3. 包含网站域名的绝对文件路径,即

      &lt;form action="//example.com/path/to/script.php"&gt;...&lt;/form&gt;

    【讨论】:

    • 当我尝试 1. 我得到一个错误,说 firefox 不理解地址 C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php(它成为我的浏览器 firefox 地址字段中的地址),当我尝试 2. 我得到了整个以纯文本形式在浏览器中打印的 PHP 脚本。
    • 请看我的回答。如果您可以编辑它并解释它为什么工作以及为什么它加载一个新页面而不是停留在提交按钮所在的页面上,将不胜感激。感谢您的帮助
    • @JasonKrs 你以什么方式尝试第一种方法?
    • 我使用脚本的绝对路径是 form action="C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php" 当我使用类似 \xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php 它什么都不做(我在 Windows 上)......无论如何我发现我需要使用一个 URL,所以 &lt;form method="POST" action="http://localhost:8012/Mes_Scripts_PHP/test_connect_sqlsrv.php"&gt; 工作
    • @JasonKrs 您错过了一个重要部分:relative to server root folder,而不是文件系统根目录。
    【解决方案5】:

    从您的 html 代码中,您想要执行托管在您的服务器中的 .php。您可以将html表单的操作设置为服务器中.php的路径。

    你可以试试这样的:

    替换C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php

    localhost/Mes_Scripts_PHP/test_connect_sqlsrv.php

    注意,您在表示路径时使用了\(backlash)。尝试改用/(斜线)。

    【讨论】:

    • 正如我所说,我这样做了,但在我的情况下似乎不起作用。使用我正在运行的实际代码查看我的 OP
    • 说firefox无法解析地址时的url是什么?
    • URL 是我的 php 脚本文件的路径(html 代码中的 on)C:\xampp\htdocs\Mes_Scripts_PHP\test_connect_sqlsrv.php
    • 请看我的回答。如果您可以编辑它并解释它为什么工作以及为什么它加载一个新页面而不是停留在提交按钮所在的页面上,将不胜感激。感谢您的帮助
    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多