Ich versuche mich mit einem HTML-Formular in ein Benutzerkonto einzuloggen, mit AJAX und PHP habe ich stundenlang nach Lösungen gesucht, aber nichts gefunden. Ich bin neu in AJAX und php, also würde es mir gefallen, wenn mir jemand helfen könnte !! Die Anforderung sendet an den Server (WAMP), aber eine Antwort nicht zurückschicken ..Ich kann mich nicht mit html5, AJAX und PHP einloggen
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);
?>
Es keine Antwort zurückschicken? Also ist die Anfrage Timeout? – Chris
Ja, wie repariere ich es bitte, steckte seit Stunden darauf !! – jessmh1
Es wäre ziemlich ungewöhnlich für die Anfrage, die Zeit zu überschreiten, bevor das Ausführungszeitlimit von PHP erreicht wird, aber ich denke, das ist abhängig von Ihrer Konfiguration möglich. Ich würde Ihrem Code Logging-Anweisungen hinzufügen und versuchen, herauszufinden, welche Zeile den Prozess blockiert. Wenn ich raten müsste, würde ich sagen, dass es entweder die MySQL-Verbindung oder die Abfrage ist, aber das sollte wirklich nicht passieren. – Chris