XAMPP - 服务器和客户端无法通信

时间:2017-06-01 04:17:53

标签: php mysql xampp

我编写了一个非常简单的PHP程序,用于向MySQL RDBMS添加数据。当我将其上传到我的托管服务器时,该文件可以正常工作。

我正在使用XAMPP控制面板v3.2.2进行测试。在其中我使用的是Apache和MySQL。当我尝试提交表单时,我收到了以下错误 Cannot POST /connect.php

通过浏览器打开localhost/test/connect.php时,会显示以下错误Fatal error: Function name must be a string in ..\xampp\htdocs\test\connect.php on line 7

这是第7行$firstName = $_POST('firstName');

在将文件上传到服务器之前,如何使用XAMPP Control Panel测试我的文件?

2 个答案:

答案 0 :(得分:2)

您正在错误地访问$_POST数组。

更改以下内容:

$firstName = $_POST('firstName');
$userName = $_POST('userName');

要:

$firstName = $_POST['firstName'];
$userName = $_POST['userName'];

您未定义的索引错误是因为字段未正确设置(也就是说,您正在加载页面而不发送表单数据)。要解决此问题,请将所有代码包装在:

if(isset($_POST['firstName']) && isset($_POST['userName'])) {
    //code
}

...或类似的东西(如果两者都没有设置就像杀死页面一样)。

此错误:

Fatal error: Function name must be a string in ..\xampp\htdocs\test\connect.php on line 7

是因为您将$_POST视为变量函数,方法是将()放在其后面。

此外,您需要使用预准备语句,因为您当前容易受到SQL注入攻击。

答案 1 :(得分:0)

我正在使用Brackets访问PHP。因此,它在XAMPP中独立于Apache的服务器上运行。因此,如果您使用XAMPP,请确保将文件放在htdocs中,浏览器地址栏中的路径应该类似于localhost/folder(within htdocs)/file.html。如果您遇到所述问题但情况并非如此,则按照上述答案阅读评论