使用ajax登录并从php登录脚本返回大量数据?
我有以下php/MySQL登录脚本的简化版本,用于登录我的用户:使用ajax登录并从php登录脚本返回大量数据?,php,jquery,mysql,Php,Jquery,Mysql,我有以下php/MySQL登录脚本的简化版本,用于登录我的用户: <?php session_start(); include("config.php"); $tbl_name="internal_users"; $tbl_name2="supplier_users"; $username=$_POST['username1']; // Fetching Values from URL $password=$_POST['password1']; $username =
<?php
session_start();
include("config.php");
$tbl_name="internal_users";
$tbl_name2="supplier_users";
$username=$_POST['username1']; // Fetching Values from URL
$password=$_POST['password1'];
$username = stripslashes($username); // Secure Values
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM $tbl_name WHERE user_name = '$username' UNION
SELECT * FROM $tbl_name2 where user_name = '$username'";
$result = mysql_query($query) or die( mysql_error() );
$row = mysql_fetch_assoc($result);
$hashed_pass = crypt($password, $Blowfish_Pre . $row['salt'] . $Blowfish_End);
if(mysql_num_rows($result) > 0) {
if($hashed_pass === $row['user_password_hash']) {
$array['login_success'] = true;
} else {
if($hashed_pass !== $row['user_password_hash']) {
$array['login_success'] = false;
}
}
echo json_encode($array);
}
?>
您可以使用json\u encode
将包含数据的数组转换为json字符串:
$array = array(
'first_name' => $row['user_first_name'],
'user_id' => $row['user_id']
)
if($hashed_pass === $row['user_password_hash']) {
$array['login_success'] = true;
} else {
if($hashed_pass !== $row['user_password_hash']) {
$array['login_success'] = false;
}
}
echo json_encode($array);
然后需要将其转换回jQuery中的数组:
var array = $.parseJSON(data)
您可以使用json\u encode
将包含数据的数组转换为json字符串:
$array = array(
'first_name' => $row['user_first_name'],
'user_id' => $row['user_id']
)
if($hashed_pass === $row['user_password_hash']) {
$array['login_success'] = true;
} else {
if($hashed_pass !== $row['user_password_hash']) {
$array['login_success'] = false;
}
}
echo json_encode($array);
然后需要将其转换回jQuery中的数组:
var array = $.parseJSON(data)
您可以使用json\u encode
将包含数据的数组转换为json字符串:
$array = array(
'first_name' => $row['user_first_name'],
'user_id' => $row['user_id']
)
if($hashed_pass === $row['user_password_hash']) {
$array['login_success'] = true;
} else {
if($hashed_pass !== $row['user_password_hash']) {
$array['login_success'] = false;
}
}
echo json_encode($array);
然后需要将其转换回jQuery中的数组:
var array = $.parseJSON(data)
您可以使用json\u encode
将包含数据的数组转换为json字符串:
$array = array(
'first_name' => $row['user_first_name'],
'user_id' => $row['user_id']
)
if($hashed_pass === $row['user_password_hash']) {
$array['login_success'] = true;
} else {
if($hashed_pass !== $row['user_password_hash']) {
$array['login_success'] = false;
}
}
echo json_encode($array);
然后需要将其转换回jQuery中的数组:
var array = $.parseJSON(data)
不是重复三个不同的变量,而是将其组合成一个数组,并使用json编码,如下所示
$info[] = array(
'message' => $item->field_uname_value,
'userid' => $row['user_id'],
'username' => $row['user_first_name']
);
echo json_encode($info);
要使用jquery处理json值,请检查以下代码
var obj = $.parseJSON(jsonvariable);
obj[message];
不是重复三个不同的变量,而是将其组合成一个数组,并使用json编码,如下所示
$info[] = array(
'message' => $item->field_uname_value,
'userid' => $row['user_id'],
'username' => $row['user_first_name']
);
echo json_encode($info);
要使用jquery处理json值,请检查以下代码
var obj = $.parseJSON(jsonvariable);
obj[message];
不是重复三个不同的变量,而是将其组合成一个数组,并使用json编码,如下所示
$info[] = array(
'message' => $item->field_uname_value,
'userid' => $row['user_id'],
'username' => $row['user_first_name']
);
echo json_encode($info);
要使用jquery处理json值,请检查以下代码
var obj = $.parseJSON(jsonvariable);
obj[message];
不是重复三个不同的变量,而是将其组合成一个数组,并使用json编码,如下所示
$info[] = array(
'message' => $item->field_uname_value,
'userid' => $row['user_id'],
'username' => $row['user_first_name']
);
echo json_encode($info);
要使用jquery处理json值,请检查以下代码
var obj = $.parseJSON(jsonvariable);
obj[message];
正如上面Tommy Jinks所说,您可以使用json_编码,也可以这样做
if(mysql_num_rows($result) > 0) {
if($hashed_pass === $row['user_password_hash']) { // Check Password is valid
echo "login_success||".$row['user_id']."||".$row['user_first_name'];
}else{
if($hashed_pass !== $row['user_password_hash']) {
echo "login_fail||".$row['user_id'];
} }
}else{
echo "login_wrong";
}
并使用javascript将响应拆分为“| |”
成功后
正如上面Tommy Jinks所说,您可以使用json_编码,也可以这样做
if(mysql_num_rows($result) > 0) {
if($hashed_pass === $row['user_password_hash']) { // Check Password is valid
echo "login_success||".$row['user_id']."||".$row['user_first_name'];
}else{
if($hashed_pass !== $row['user_password_hash']) {
echo "login_fail||".$row['user_id'];
} }
}else{
echo "login_wrong";
}
并使用javascript将响应拆分为“| |”
成功后
正如上面Tommy Jinks所说,您可以使用json_编码,也可以这样做
if(mysql_num_rows($result) > 0) {
if($hashed_pass === $row['user_password_hash']) { // Check Password is valid
echo "login_success||".$row['user_id']."||".$row['user_first_name'];
}else{
if($hashed_pass !== $row['user_password_hash']) {
echo "login_fail||".$row['user_id'];
} }
}else{
echo "login_wrong";
}
并使用javascript将响应拆分为“| |”
成功后
正如上面Tommy Jinks所说,您可以使用json_编码,也可以这样做
if(mysql_num_rows($result) > 0) {
if($hashed_pass === $row['user_password_hash']) { // Check Password is valid
echo "login_success||".$row['user_id']."||".$row['user_first_name'];
}else{
if($hashed_pass !== $row['user_password_hash']) {
echo "login_fail||".$row['user_id'];
} }
}else{
echo "login_wrong";
}
并使用javascript将响应拆分为“| |”
成功后
谢谢你的建议,你能给我举一个例子,说明这在php服务器端是什么样子,以及我如何在ajax中检索它吗?thanksok,那么我如何才能选择在jquery/ajax中回显哪段数据?@Markharrisarray['first\u name']
将获得您的名字,而不是回显您刚刚构建的数组中的值。在登录脚本中的最后一个脚本之后,您将回显json编码的数组。@Markharris我已使用您的场景编辑了我的代码。感谢您的建议,请您给我一个示例,说明这可能看起来像php服务器端,以及我将如何在ajax中检索它?thanksok,那么我如何才能选择在jquery/ajax中回显哪段数据?@Markharrisarray['first\u name']
将获得您的名字,而不是回显您刚刚构建的数组中的值。在登录脚本中的最后一个脚本之后,您将回显json编码的数组。@Markharris我已使用您的场景编辑了我的代码。感谢您的建议,请您给我一个示例,说明这可能看起来像php服务器端,以及我将如何在ajax中检索它?thanksok,那么我如何才能选择在jquery/ajax中回显哪段数据?@Markharrisarray['first\u name']
将获得您的名字,而不是回显您刚刚构建的数组中的值。在登录脚本中的最后一个脚本之后,您将回显json编码的数组。@Markharris我已使用您的场景编辑了我的代码。感谢您的建议,请您给我一个示例,说明这可能看起来像php服务器端,以及我将如何在ajax中检索它?thanksok,那么我如何才能选择在jquery/ajax中回显哪段数据?@Markharrisarray['first\u name']
将获得您的名字,而不是回显您刚刚构建的数组中的值。在登录脚本中的最后一个else之后,您将回显json编码的数组。@Markharris我已经使用您的场景编辑了我的代码。为什么不将其添加到会话变量中呢$_SESSION['user\u name']=$row['user\u first\u name']和$\u SESSION['user\u id]=$row['user\u id']?@balslev我可以这样做,但我不确定我会如何在我的ajaxI中回显会话变量,那时我也确实会使用json。在ajax调用中使用数据类型:“json”,在php文件中,回显json_encode($output);然后在您成功的时候,您可以控制台.log(数据),并从那里获取它?为什么不将它添加到会话变量中呢$_SESSION['user\u name']=$row['user\u first\u name']和$\u SESSION['user\u id]=$row['user\u id']?@balslev我可以这样做,但我不确定我会如何在我的ajaxI中回显会话变量,那时我也确实会使用json。在ajax调用中使用数据类型:“json”,在php文件中,回显json_encode($output);然后在您成功的时候,您可以控制台.log(数据),并从那里获取它?为什么不将它添加到会话变量中呢$_SESSION['user\u name']=$row['user\u first\u name']和$\u SESSION['user\u id]=$row['user\u id']?@balslev我可以这样做,但我不确定我会如何在我的ajaxI中回显会话变量,那时我也确实会使用json。在ajax调用中使用数据类型:“json”,在php文件中,回显json_encode($output);然后在您成功的时候,您可以控制台.log(数据),并从那里获取它?为什么不将它添加到会话变量中呢$_SESSION['user\u name']=$row['user\u first\u name']和$\u SESSION['user\u id]=$row['user\u id']?@balslev我可以这样做,但我不确定我会如何在我的ajaxI中回显会话变量,那时我也确实会使用json。在ajax调用中使用dataT