我编写了一个非常简单的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
测试我的文件?
答案 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
。如果您遇到所述问题但情况并非如此,则按照上述答案阅读评论。