gpt4 book ai didi

php - 使用 ajax 登录并从 php 登录脚本返回大量数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:22 25 4
gpt4 key购买 nike

我有以下用于登录用户的 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 = 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);

}

?>

接下来我使用下面的ajax代码实时运行上面的脚本而不需要刷新页面:

Jquery/Ajax代码:

       <script>
function submitForm() {
var myusername = $("#myusername").val();
var mypassword = $("#mypassword").val();
var array = $.parseJSON(data);




$("#myusername").keypress(function() {
if($(this).val().length > 0) {
$("#myusername").css("border", "1px solid #fff");
}
});

$("#mypassword").keypress(function() {
if($(this).val().length > 0) {
$("#mypassword").css("border", "1px solid #fff");
}
});

if (myusername == null || myusername == "" || mypassword == null || mypassword == "") {
if (myusername == null || myusername == "") { document.forms["form"]["myusername"].style.border = "2px solid #963634";}
if (mypassword == null || mypassword == "") { document.forms["form"]["mypassword"].style.border = "2px solid #963634";}
$( ".home_column" ).effect( "shake" );
} else {
// Returns successful data submission message when the entered information is stored in database.
$.post("include/validate_login.php", {
username1: myusername,
password1: mypassword
}, function(data) {
var array = $.parseJSON(data);
if (data['login_success'] == false){
$(".home_column").flip({
direction:'lr',
color: 'rgba(0, 0, 0, 0.1)',
content:'<h21>Incorrect Login Details</h21>'
}) }else{
var array = $.parseJSON(data);
if (data['login_success'] == true){
$(".home_column").flip({
direction:'lr',
color: 'rgba(0, 0, 0, 0.1)',
content: '<h21>Hello '',</h21><div class="user_image"><img src="data/user/image/'+data.substring(13)+'/default.jpg" alt="user" style="width:90px;height:90px;"></div><div class="spinner"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div><h21>Preparing your Dashboard</h21>'
})
setTimeout(
function()
{
window.location = 'dashboard.php';
}, 4500);

} }
$('#form')[0].reset(); // To reset form fields
});
}
}

$(document).ready(function() {
$(document).on('keypress', function(e) {
if (e.which === 13) {
e.preventDefault();
submitForm();
}
});
});

$(document).ready(function() {
$(document).on('keypress click', '#submit', function(e) {
e.preventDefault();
submitForm();
});
});
</script>

我正在尝试获取我的数组 ['login_sucess'] 以查看它是真还是假,并且不明白为什么代码不起作用,我的 jquery/ajax 根本不会执行。有人可以告诉我哪里出错了吗?

最佳答案

您可以使用 json_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)

关于php - 使用 ajax 登录并从 php 登录脚本返回大量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30887307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com