嘿,我正在为登录系统编写代码,这是我第一次使用在线教程。初始的Javascript运行良好,当输入为空时会显示错误。但是,当我在输入中输入文本并单击登录时,什么都不会发生。在我看来,它似乎没有调用PHP文件,但我看不出它为什么不调用,因为它被正确引用了?任何帮助都将不胜感激!
<?php
include ("Includes/dbConnect.php");
$u=$_POST['u'];
$p=$_POST['p'];
//Strip slashes
$u = stripslashes($u);
$p = stripslashes($p);
//Strip tags
$u = strip_tags($u);
$p = strip_tags($p);
$check = mysqli_query("SELECT * FROM Login WHERE login_user ='$u' AND login_pass='$p'") or die(mysqli_error());
$check = mysqli_num_rows($check);
if($check !=="0"){
$results = mysqli_query("SELECT * FROM Login WHERE login_user = '$u'") or die(mysqli_error());
while ($row = mysqli_fetch_assoc($results)) {
$login_user=$row['login_user'];
session_register('login_user');
$_SESSION['login_user'] = $Login_user;
echo "1";
}
}
?>
这是javascript
<script type="text/javascript">
$(document).ready(function () {
$(".sign_b_btn").live("click", function () {
var u = $("#u").val();
var p = $("#p").val();
if (u == "") {
$("#u").css("border-color", "red");
$("#un").css("color", "red");
$(".error").show().html("Please enter your username!");
$("#p").css("border-color", "#606060");
$("#up").css("color", "#333333");
} else if (p == "") {
$("#u").css("border-color", "#606060");
$("#un").css("color", "#606060");
$(".error").show().html("Please enter your Password!");
$("#p").css("border-color", "red");
$("#up").css("color", "red");
} else {
dataString = 'u=' + u + '&p=' + p;
$.ajax({
type: "POST",
url: "Ajax/login_php.php",
data: dataString,
cache: false,
success: function (html) {
if (html == "") {
$(".error").show().html("The username or password you entered is incorrect!");
$("#p,#u").css("border-color", "red");
$("#up,#un").css("color", "red");
} else if (html == "1") {
$(".error").fadeOut(1000);
$("#u").css("border-color", "#606060");
$("#un").css("color", "#333333");
$("#p").css("border-color", "#606060");
$("#up").css("color", "#333333");
$(".center").animate({
opacity: 0.25,
left: '+=900',
height: 'toggle'
}, 5000, function () {
$(".done").slideDown(200).html("Welcome " + u);
setTimeout(function () {
var u = $("#u").val("");
var p = $("#p").val("");
window.location = "index.php";
}, 5000);
});
}
}
});
}
});
});
</script>
会话问题的答案:
编辑php代码,使脚本以调用session_start()开始;
例如:
<?php session_start();
//rest of your php code
更换线路:
session_register('login_user');
$_SESSION['login_user'] = $Login_user;
带有:
$_SESSION['login_user'] = $Login_user;
由于函数session_register();已在PHP版本5.3.0中弃用,并从PHP版本5.4.0中删除$_SESSION是一个全局数组,在SESSION_start()之后即可使用;呼叫
快乐编程:)
感谢大家的帮助,真的帮我解决了这个问题。完成的代码,如果有人感兴趣:
<?php
include ("../Includes/dbConnect.php");
$u=$_POST['u'];
$p=$_POST['p'];
//Strip slashes
$u = stripslashes($u);
$p = stripslashes($p);
//Strip tags
$u = strip_tags($u);
$p = strip_tags($p);
$query = "SELECT * FROM Login WHERE login_user ='$u' AND login_pass='$p'";
$check = mysqli_query($cxn,$query) or die("Couldn't execute query!");
$check = mysqli_num_rows($check);
if($check !=="0"){
$results = mysqli_query($cxn,"SELECT * FROM Login WHERE login_user = '$u' AND login_pass='$p'") or die("Couldn't execute query2!");
while ($row = mysqli_fetch_assoc($results)) {
$username= $u;
session_register('Login');
$_SESSION['user'] = $username;
echo "1";
}
}
?>