php页面中基本上发生了什么

时间:2018-07-22 13:44:24

标签: php server-side

让我们考虑以下html:

<!doctype html>
<html>
<body>
<form method="POST" action="submit.php">
    <input name="name" placeholder="Enter your name">
    <button type="submit">Submit</button>
</form>
</body>

据我所知,此代码将参数列表传递给php文件,该文件在方法的action属性中提到。

我了解该代码文件位于服务器系统中。

现在,让我们考虑一下Submit.php的代码,如下所示:

<?php 
    $name = $_REQUEST['name'];
?>

<!doctype html>
<html>
<body>
    Hello <?php echo $name;?>
</body>
</html>

这些代码摘自我最后一个问题的答案。

现在,单击“提交”按钮后。客户端从服务器请求一个新页面。

我想知道这里到底发生了什么。服务器是否将代码文件发送到浏览器,并且在浏览器或Submit.php中执行php代码,根据其中的php代码生成一个html文件,并将该html文件发送给客户端?

在浏览器或服务器中执行的代码在哪里?到目前为止,我所读的内容给人的感觉是该代码正在服务器中执行,但可以肯定的是。

此外,如果情况与后者类似,即输入被发送到服务器,并且基于php代码的服务器生成了一个html文件,该文件被发送回浏览器,那么它在即使较小的更改也可以向服务器发送请求?

那么到底发生了什么,代码在哪里执行?

2 个答案:

答案 0 :(得分:1)

PHP源在服务器上并保留在服务器上。它在那里执行,结果(通常是HTML,但也可以是其他任何东西)作为响应发送到浏览器,因此您完全正确。

优点是PHP代码本身对用户是隐藏的,并且它可以执行高级操作,例如访问隐藏的文件和数据库,通常对于您的网站访问者来说是直接不可访问的。

如果未正确设置PHP,则可能会意外暴露PHP代码。在这种情况下,代码将无法运行,但可能会偶然以纯文本形式返回。如果您在浏览器中看到过PHP代码,则几乎可以肯定是由于服务器设置不正确。

即使通常应该由服务器进行一些小的更改。从理论上讲,始终无法执行这些请求,但是实际上,请求并不是什么大问题。如果您仅 要更新页面本身,而不对服务器做任何特殊的事情,则可以使用JavaScript,它可以在浏览器中作为页面的一部分运行,并且可以操纵加载的HTML文档。

答案 1 :(得分:1)

可以通过以下两个步骤来解释整个过程或执行生命周期:

第1步: 每次请求时,<?php ?>标记中包含的服务器端PHP块都会被执行并从服务器上的代码库中删除。

第2步: 步骤1中留下的客户端脚本和HTML标签将被发送并执行并显示在浏览器中。

我希望现在的解释容易理解。