Я пытаюсь войти в учетную запись пользователя, используя форму html, а AJAX и PHP потратили часы на поиск решений, но ничего не смогли найти. Я новичок в AJAX и php, поэтому мне хотелось бы, чтобы кто-то помог мне! Он делает отправить запрос на сервер (WAMP), но не отправляет обратно ответ ..Невозможно войти в систему с помощью html5, AJAX и PHP
hthml5 form
<div id="Text">
<form action="JavaScript:loginAccount()" id="loginForm">
<h1>Login into My Account</h1>
Username:<input id="username" type = "text" value="" /><br><br>
Password:<input id="password" type = "text" value="" /><br><br>
<div class="buttons">
<input type="submit" id="" value="Login" />
<input type="button" id="" value="Cancel" onclick="returnMain()"/>
</div>
</form>
AJAX Request to the php file
var loginAccountRequest = new XMLHttpRequest();
function loginAccount() {
var url = "login.php";
var userName = document.getElementById("username").value;
var passWord = document.getElementById("password").value;
loginAccountRequest.onreadystatechange = insertStock();
loginAccountRequest.open("POST", url, true);
loginAccountRequest.setRequestHeader("Content-type", "application/x- www-form-urlencoded");
loginAccountRequest.send("user="+userName+"&pass="+passWord);
}
AJAX response from the server
function insertStock() {
if (loginAccountRequest.readyState == 4) {
if (loginAccountRequest.status == 200) {
var response = loginAccountRequest.responseText;
var thediv = document.getElementById("Text");
if(response==0){
thediv.innerHTML = "Sorry please try again.."
}
if(response==1){
stockShort();
}
}
}
}
php file
<?php
$uname = "";
$pword = "";
$errorMessage = "";
$num_rows = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
}
$link = mysqli_connect('localhost', 'username', 'password','database');
//Grab User submitted information
$users = $_POST['user'];
$passwd = $_POST['pass'];
$sql = "SELECT * FROM users WHERE username = $users AND password = $passwd";
$result = mysqli_query($link,$sql);
if ($result) {
}
else { $errorMessage = "Error logging on";
}
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
$errorMessage= "logged on ";
}else {
$errorMessage= "Invalid Logon";
}
mysqli_close($link);
?>
Он не посылает обратно ответ? Итак, запрос истекает? – Chris
Да, так как я могу исправить это, пожалуйста, застрял на нем в течение нескольких часов! – jessmh1
Было бы довольно необычным для запроса тайм-аута перед тем, как нажать на время выполнения PHP, но я предполагаю, что это возможно в зависимости от вашей конфигурации. Я бы добавил в свой код записи регистрации и попытался выяснить, какая строка блокирует этот процесс. Если бы я должен был догадаться, я бы сказал, что это либо соединение с MySQL, либо запрос, но этого не должно произойти. – Chris