PHP代码与服务器对HTML /处理POST请求

时间:2017-02-01 08:09:42

标签: php

我很难掌握PHP / HTML /服务器如何工作,我找不到任何信息(它必须在某处,所以如果你有一个链接,我会很感激)。我会尽力解释我理解/不理解的内容并提出一个简明的问题。

我的理解

  1. PHP代码与HTML文件在同一个文件中,需要服务器有一个PHP 解析器吗?来读取和执行PHP代码。
  2. PHP代码首先在服务器端执行,然后在客户端执行HTML / JS(因此您无法在浏览器上看到PHP代码)。
  3. 我不明白

    1. 当PHP代码调用$ _POST请求时,请求在哪里?假设我向mypage2.php调用$ _POST请求。如何在mypage2.php代码中处理这个$ _POST请求? (我设置了一个iFrame并尝试向它发出$ _POST请求,但它已更改为该页面。)
    2. 如何在网站上使用多个.php文件?我总是看到像authentication.php这样的页面,但那些页面只是永远不会被使用的类(又名我永远不会去mysite.com/authentication.php)?
    3. 我的结束目标是从外部$ _POST调用中获取数据,并将其发送到嵌入在iFrame中的页面。我觉得我首先不了解基本概念,所有教程都讨论了PHP的语法(我认为我理解)。
    4. 我在Windows机器上运行并使用XAMPP(如果相关)。谢谢。

2 个答案:

答案 0 :(得分:1)

你的html POST转到page2.php上的$_POST数组。

此数组与page1.html输入/表单具有相同的索引。

<input name="username"> <input name="password">

要在page2.php中使用它,您可以将它存储在像这样的变量

$username = $_POST['username'];
$password = $_POST['password'];

答案 1 :(得分:0)

你说得对:

  1. PHP与您的HTML / CSS / JavaScript代码位于同一个文件中。它需要Web服务器上的PHP解释器。如果配置正确,Web服务器将将原始PHP文件(包含PHP代码)发送到客户端浏览器。

  2. 当存在对PHP文件的请求时,Web服务器上的PHP解释器处理PHP文件,该文件删除PHP代码并将其替换为解释结果(HTML / CSS / JavaScript代码)。它将处理后的文件作为PHP文件发送到客户端浏览器。该文件仅包含HTML / CSS / JavaScript代码。客户端浏览器运行Web服务器发送的HTML / CSS / JavaScript代码。

  3. PHP中存在全局变量,用于存储已发布或以其他方式发送到PHP文件的数据。看看$_POST, $_GET and $_REQUEST。请注意,您永远不应该信任用户提交的数据,并且您应该始终对其进行“清理”(请参阅​​What's the best method for sanitizing user input with PHP?

  4. 您可以在网站上使用多个PHP文件,但不会在文件到文件中自动携带变量或其他数据,因此每个文件都以空白页开头。通过在页面中传递值或使用PHP Sessions,可以在页面之间传递值。

  5. 某些使用多个PHP文件的应用程序不希望用户自己运行PHP文件。他们只希望PHP文件由应用程序从另一个PHP文件执行。那么程序员有时会做的是设置一个全局变量并将其存储为会话变量。 PHP文件的第一件事是检查该变量以查看它是否已设置。如果不是,那就意味着用户试图自己运行PHP文件,它就会退出。这可能就是为什么你不能运行你提到的特定PHP文件的原因。

  6. 如果您有一个文件mypage2.php,并且您将“mydata”发布到该文件,例如从名为name ='mydata'的HTML表单发布,则可以从全局$ _POST中检索数据,例如,<?php $mydata = $_POST['mydata'];?>。清理它之后,如果IFRAME也在mypage2.php中,您可以通过回显它将它插入到IFRAME中,例如<?php echo $mydata;?>