我有一个密码重置PHP表单页面,其中包含另一个表单标记的action属性的PHP文件。 后者(比如process.php
)处理 formers (比如说reset.php
)表格数据,重置目前在这两者之间的数据库中的密码使用 js 文件进行客户端表单验证并发送$ .post请求
在$ .post请求的data属性中我插入了$ data = $(" #passwordresetform:input")。serializeArray();
直到这一点,当我在process.php页面的开发人员工具中看到表单数据时,每件事都运行正常,它会根据需要显示数据,但我已经在process.php中使用接收了数据mysql_real_escape_string(trim($_POST['email']));
并将关联数组中的所有值存储为
$data = array (
'name' => $username,
'email' => $email,
'password' => $pass,
);
返回我用过的数据
echo json_encode($data);
但它没有返回数据,例如,当我看到开发人员工具的预览部分时,它对返回的数据对象中的每个键都显示为false,即数据
我该如何解决这个问题?提前谢谢。
我认为问题实际上是我的数据库连接,因为我删除了mysql_real_escape_string(trim(
后它运行正常,还有其他方法来清理$_POST
数据吗?
但是这是一个数据库连接问题,那么同一页面如何从数据库中检索数据呢?
答案 0 :(得分:1)
mysql_real_escape_string() - 返回转义字符串,或者出错时 FALSE 。
进一步:在使用mysql_real_escape_string()之前需要MySQL连接,否则会生成级别为E_WARNING的错误,并返回 FALSE 。如果未定义link_identifier,则使用最后一个MySQL连接。
请参阅:http://www.php.net/manual/en/function.mysql-real-escape-string.php
答案 1 :(得分:0)
您需要为变量$ username,$ email和$ pass分配值。
$data = array (
'name' => $username,
'email' => $email,
'password' => $pass,
);