表单未在服务器上传递

时间:2014-01-08 11:16:47

标签: php jquery forms

我的网站上有一个注册表单,它通过JQuery Post传递输入到PHP文件中。这一切在我运行PHP 5.2的localhost上工作正常,但是当我将它上传到我的服务器(5.4)时,我遇到的问题是表单没有被处理。

以下是我正在使用的代码:

$time = time();
$id= time().'-'.mt_rand(100000000, 999999999);
$type= mysqli_real_escape_string($con, $_REQUEST["type"]);
$subtype= mysqli_real_escape_string($con, $_REQUEST["subtype"]);
$name= mysqli_real_escape_string($con, $_REQUEST["name"]);
$name = ucwords(strtolower($name));
$email= mysqli_real_escape_string($con, $_REQUEST["email"]);
$relative= mysqli_real_escape_string($con, $_REQUEST["relative"]);
$relative = ucwords(strtolower($relative));
$summary= mysqli_real_escape_string($con, $_REQUEST["bio"]);
$postcode= mysqli_real_escape_string($con, $_REQUEST["postcode"]);
$sendpassword= mysqli_real_escape_string($con, $_REQUEST["password"]);
$password= md5(mysqli_real_escape_string($con, $_REQUEST["password"]));
$hash = md5( rand(0,1000) );

1 个答案:

答案 0 :(得分:0)

首先,查看代码,您正在使用mysqli_real_escape_string()进行输入清理。这不是一个好主意,因为如果你没有与MySQL数据库的活动mysqli连接,它将无法运行并抛出错误。

其次,请查看服务器上的PHP错误日志。那应该会给你一个关于出了什么问题的线索。如果您没有错误日志设置,或者不知道它在哪里,那么请查看php.ini配置文件(在linux上,它通常位于/etc/php/apache2/php.ini - 某事像这样)并搜索看起来像这样的行:

error_log = <something>

如果该行前面有分号(;),则将其删除。此行/指令设置PHP写入错误消息的位置。您可以将其设置为您想要的任何内容,然后记住重新启动您的网络服务器以应用更改。

然后再次尝试运行您的PHP代码,然后查看您指定为error_log的文件以查看出现了什么问题。我的猜测是它与mysqli_real_escape_string()有关。

我希望这有用。

此致 拉尔夫

相关问题