我在$ sql的用户名上得到了一个未定义的信息,该用户名应该是查询返回的数据。
$('#userlist').on('change', function () {
var selected = $("select option:selected").text();
console.log(selected);
// use ajax to run the check
$.ajax({
url: '/php/connect/userdropdowncheck.php',
type: 'JSON',
data: selected,
success: formfill,
error: function (xhr, status, err) { console.log(xhr, status, err); }
});
function formfill(sql) {
var username = sql['UserLogin'];
var email = sql['UserEmail'];
var admin = sql['admin'];
var firstname = sql['firstname'];
var lastname = sql['lastname'];
var title = sql['title'];
var company = sql['company'];
console.log(username);
if (username.length > 0) {
console.log('Found user');
console.log(username);
$('#username').html($username);
}
else {
console.log('Failed to find user');
}
}
});
PHP代码:
<?php
session_start();
include 'anonconnect.php';
// username and password sent from form
$myusername= $_POST['selected'];
$sql = $dbh->prepare("SELECT * FROM Users WHERE UserLogin= :login");
$sql->execute(array(':login' => $myusername));
$user = $sql->fetch();
/*** close the database connection ***/
$dbh = null;
if($user->rowCount() == 1){
echo 1;
echo json_decode($user);
else {
echo 0;
}
?>
它正在从选定的下拉列表中拉出文本,并将其传递通过,但是返回函数无法找到它。
您的jquery代码可能是:
function formfill(sql) {
var username = sql['UserLogin'];
var email = sql['UserEmail'];
var admin = sql['admin'];
var firstname = sql['firstname'];
var lastname = sql['lastname'];
var title = sql['title'];
var company = sql['company'];
console.log(username);
if (username.length > 0) {
console.log('Found user');
console.log(username);
$('#username').html($username);
}
else {
console.log('Failed to find user');
}
}
$('#userlist').on('change', function () {
var selected = $("select option:selected").text();
$.ajax({
url: '/php/connect/userdropdowncheck.php',
type: 'POST',
data: {UserLogin:selected},
success: function(data){
formfill(data)
},
error: function (xhr, status, err) { console.log(xhr, status, err); }
});
});
和你的PHP代码:
<?php
session_start();
include 'anonconnect.php';
// username and password sent from form
$myusername= $_POST['UserLogin'];
$sql = $dbh->prepare("SELECT * FROM Users WHERE UserLogin= :login");
$sql->execute(array(':login' => $myusername));
$user = $sql->fetch();
/*** close the database connection ***/
$dbh = null;
if($sql->rowCount() == 1){
//echo 1; //if you echo this it will cause that your jquery code will not be able to read the response as JSON and serialize it in array
echo json_encode($user); // php array to json object
} else {
echo 0;
}
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句