php - php页面中基本上发生了什么
问题描述
让我们考虑以下 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>
现在据我了解,此代码将参数列表传递给该方法的 action 属性中提到的 php 文件。
我知道代码文件在服务器系统中。
现在让我们考虑一下 submit.php 的代码如下:
<?php
$name = $_REQUEST['name'];
?>
<!doctype html>
<html>
<body>
Hello <?php echo $name;?>
</body>
</html>
这些代码取自我最后一个问题的答案。
现在点击提交按钮后。客户端向服务器请求新页面。
我想知道这里到底发生了什么。是服务器把这个代码文件发给浏览器,在浏览器中执行php代码还是submit.php,根据里面的php代码生成一个html文件,然后把那个html文件发给客户端?
在浏览器或服务器中执行的代码在哪里。到目前为止,我所阅读的内容给人的感觉是代码正在服务器中执行,但可以肯定的是。
另外,如果是后一种情况,即输入发送到服务器,服务器根据php代码生成一个html文件发送回浏览器,那么发送请求是不是有点低效呢?服务器甚至进行较小的更改?
那么到底发生了什么,代码在哪里执行?
解决方案
整个过程或执行生命周期可以用以下两个步骤来解释:
第 1 步:<?php ?>
在每次请求时执行并从服务器上的代码库中删除
包含在标签中的服务器端 PHP 块。
第 2 步: 发送第 1 步中留下的客户端脚本和 HTML 标记以供执行并在浏览器中显示。
我希望这个解释现在很容易理解。
推荐阅读
- pdf - PDF 页面自动调整大小以适应 asciidoctor-pdf 的内容
- javascript - 在我的 react-redux 商店中出现“无效的钩子错误”
- azure - 使用 pyspark 对 azure synapse 进行数据分析
- sccm - SCCM - 检查可选 Windows 功能状态的配置项
- python - ValueError at /checkout/ 必须使用切片将精确查找的 QuerySet 值限制为一个结果
- android - 为什么即使被要求不绑定,Android 也会绑定?
- python - Python 按值调用
- python - Pandas 根据条件问题生成新的列函数
- java - 如何使用 parcelable 将对象列表从一个活动传递到另一个活动
- apache-spark - 在 Pyspark 中使用 maxBytesPerTrigger 的正确方法是什么?