我是全新的,所以我有一些尝试无处可去所以我需要一些帮助,看看我的方法是否正确,如果它完全错误然后我需要一些指针,看看我应该是什么做而不是。提前致谢。
我正在尝试登录表单;我现在正在做的是将用户名变量等的HTML登录表单提交给Php,然后如果输入错误的密码则在JSON等中输入错误的密码。我可以成功登录。 但是我无法通过JavaScript获得JSON。当我点击提交时,它会通过php运行,然后在新的php页面中回显JSON。但是没有将JSON返回给html。我也在使用Twitter Bootstrap。
我的php
$password1= mysqli_real_escape_string($con,$password);
$username= mysqli_real_escape_string($con,$username);
if (!$username||!$password) {
$no="Please enter name and password";
echo ($no);
} else {
//log in
$login = mysqli_query($con, "SELECT * FROM User WHERE username='$username'")or die(mysqli_error());
if (mysqli_num_rows($login)==0){
echo json_encode("No such user");
} else {
while ($login_row = mysqli_fetch_assoc($login)) {
//get database password
$password_db = $login_row['password'];
//encrypt form password
$password1 = md5($password1);
//check password
if ($password1!=$password_db) {
echo json_encode("Incorrect password");
} else {
//assign session
$_SESSION['username']=$username;
$_SESSION['password']=$password1;
header ("Location: http://------.com/Bootstraptest/account.html");
}
}
}
}
?>
的JavaScript
<script>
var myButton = document.getElementById("signin");
var myText = document.getElementById("result");
myButton.addEventListener('click', getServerTime, false)
function getServerTime() {
var request = new XMLHttpRequest();
var url = "http://rentaid.info/Bootstraptest/tet.php";
request.open("GET", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.onload = showTime;
request.send();
}
function showTime(response) {
var time = JSON.parse(response);
myText.textContent = ;
}
</script>
答案 0 :(得分:0)
那部分似乎破了:
function showTime(response){ var time = JSON.parse(response);
myText.textContent =; }
这另一部分看起来也很奇怪:
$ login = mysqli_query($ con,“SELECT * FROM User WHERE username = '$ username'”)
也许我不知道你正在使用什么技术,但似乎你连接失败或者你的查询失败了。
告诉我你在那里尝试过什么?
答案 1 :(得分:0)
在getServerTime
中,您没有引用showTime
功能。
将其更改为:
function getServerTime() {
var request = new XMLHttpRequest();
var url = "http://rentaid.info/Bootstraptest/tet.php";
request.open("GET", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.onload = showTime;
request.send();
return false;
}
function showTime(response) {
myText.textContent = response;
var time = JSON.parse(response);
//myText.textContent = time;
}
showTime
中的第一行将帮助您调试,以防JSON格式出现问题。