我的网站上有一个注册表单,它通过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) ); // Generate random 32 character hash and assign it to a local variable.
答案 0 :(得分:1)
在 SQL之后使用stripslashes
转义字符串是纯粹的废话。 mysqli_real_escape_string
专门向字符串添加反斜杠,以便转义特定字符并使字符串安全地插入为SQL字符串文字。 stripslashes
大多会扭转这种影响。因此,这毫无意义。
我猜你在这两台服务器上与Magic Quotes存在差异;使用Magic Quotes它会以某种方式工作,而不会像它应该的那样中断。
答案 1 :(得分:0)
if (get_magic_quotes_gpc()) {
$member= stripslashes($_REQUEST["editid"]);
//other variables
}
//then
$member = mysqli_real_escape_string($con, $member);