PHP代码需用包裹并在Web服务器中解析,.html文件默认不执行PHP;短标签需开启配置;输出必须过滤以防XSS,如用htmlspecialchars()和json_encode()。

PHP 代码必须用 或短标签 = ?> 包裹,且服务器必须启用 PHP 解析(HTML 文件默认不执行 PHP)。
PHP 文件扩展名必须是 .php
浏览器直接打开 index.html 里的 不会执行,只会原样显示或被当成注释隐藏。只有 Web 服务器(如 Apache、Nginx)把请求交给 PHP 解析器后,代码才会运行。
- 把文件保存为
index.php,通过http://localhost/index.php访问 - 若坚持用
.html后缀,需在服务器配置中强制解析(例如 Apache 的AddType application/x-httpd-php .html),但不推荐——易混淆、有安全风险、部分托管环境不支持 - 短标签
= $name ?>需开启short_open_tag = On(PHP 8.0+ 默认关闭),建议统一用
HTML 中嵌入 PHP 的三种常见位置
PHP 可以出现在 HTML 的任意文本上下文位置,但输出内容必须符合 HTML 结构逻辑,否则渲染错乱。
-
在 HTML 标签属性里:用引号包裹并注意转义,例如
- 在标签内容中:直接输出,但需过滤用户数据,避免 XSS,例如
- 在 JavaScript 字符串中:不能直接写
,要用json_encode(),例如var data = ;混编时容易忽略的执行顺序和输出时机
PHP 是服务端执行,HTML 是客户端渲染——所有
块在页面发送给浏览器前就已执行完毕,不存在“边加载 HTML 边执行 PHP”的情况。立即学习“PHP免费学习笔记(深入)”;
-
echo、print输出的内容会直接插入到当前位置的 HTML 流中;如果提前调用了header()或开启了输出缓冲(ob_start()),会影响后续echo是否可见 - 不能在
已输出后再用header("Location: ...")跳转,会报Warning: Cannot modify header information - 调试时可用
var_dump()查看变量,但务必确保它不在最终 HTML 内容区(比如放在注释里或开发环境专用区块),否则破坏 DOM 结构
User Page Welcome,
最常出问题的地方不是语法,而是忘记对 PHP 输出做
htmlspecialchars()或json_encode()处理,导致特殊字符破坏 HTML 或 JS 结构——尤其当变量来自$_GET、$_POST或数据库时。 - 在标签内容中:直接输出,但需过滤用户数据,避免 XSS,例如











