You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP echo函数在Safari中失效及源码显示问题求助

问题分析与解决

1. 请求方法不匹配(核心问题)

你的HTML表单用的是method="post",但PHP代码里却在读取$_GET["query"]——两者请求方式不对应,自然拿不到输入的查询内容。

解决办法二选一:

  • 改表单请求方法为GET:将<form action="Searching.php" method="post">修改为<form action="Searching.php" method="get">,这样PHP里的$_GET["query"]就能正常获取值。
  • 改PHP代码读取POST数据:把$_GET["query"]替换成$_POST["query"],保持表单的POST方法不变。

2. PHP文件直接显示源码的问题

如果执行后PHP文件直接输出源码,说明你的服务器没有配置PHP解析功能,常见原因包括:

  • 未搭建PHP运行环境(比如没装XAMPP、WAMP这类集成环境);
  • 服务器(如Apache)未设置将.php文件交给PHP处理器解析;
  • 文件后缀错误(比如写成.html,即使里面有PHP代码,服务器也只会按纯HTML解析)。

先确保你已搭建正常运行的PHP环境,比如用XAMPP启动Apache和PHP服务,再把文件放到服务器根目录(如XAMPP的htdocs文件夹)中访问。

修改后的测试代码示例

方案一:表单用GET方法

HTML文件:

<html>
    <head>
        <title>Search Test</title>
    </head>
    <body>
        <form action="Searching.php" method="get">
            Search: <input type="text" name="query">
            <input type="submit">
        </form>
    </body>
</html>

Searching.php文件:

<html>
<body>
<p> Search: </p> <?php echo htmlspecialchars($_GET["query"]); ?><br>
</body>
</html>

方案二:表单用POST方法

Searching.php文件修改为:

<html>
<body>
<p> Search: </p> <?php echo htmlspecialchars($_POST["query"]); ?><br>
</body>
</html>

注:htmlspecialchars()用于防止XSS攻击,正式开发和测试阶段都建议加上,养成安全编码习惯。

内容的提问来源于stack exchange,提问作者Slothscript

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:15:59