У меня есть АЯКС функция в моем индексном файле:Войти регистрация с AJAX
var xmlhttp;
function loadocget(url, func)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = func;
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function verifyLogin() {
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
var formdata = "username=" + username + "&password=" + password;
loadocget("verify.php?" + formdata, function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
var result = xmlhttp.responseText;
if (result != "true"){
document.getElementById("ack").innerHTML = "<p>Your username or password is invalid</p>";
});
}
}
}
И форма также в моем индексном файле:
<div id="ack"></div>
<form action="member.php" method="post" onsubmit="return verifyLogin();" name="login-form" id="login-form">
<div>
<div class="form-group">
<label for="username">Username: </label>
<input name="username" id="username" class="form-control" type="text" placeholder="Username" required/>
</div>
<div class="form-group">
<label for="password">Password: </label>
<input name="password" id="password" class="form-control" type="password" placeholder="Password" required/>
</div>
</div>
<div>
<div class="form-group">
<input type="submit" class="btn btn-danger form-control" id="login-submit" name="login-submit" value="Sign In" />
</div>
<div class="form-group">
<input type="button" class="btn btn-primary form-control" id="signup-button" name="signup-button" value="Sign Up"/>
</div>
</div>
<div class="form-group">
<div id="forgot" class="link-div"><p style="cursor: pointer;">Forgot your username or password?</p></div>
</div>
</form>
и файл verify.php для проверки имени пользователя и пароль:
<?php
$username = $_GET['username'];
include_once 'connectDB.php';
$Table = "users";
$temp = $_GET['password'];
$password = md5($username . $temp);
$SQLstring = "SELECT * FROM $Table WHERE username='$username' AND password='$password'";
$result = mysql_query($SQLstring, $DBConnect);
if (mysql_num_rows($result) == 0) {
echo false;
} else {
echo true;
}
?>
Когда я отлаживать эти коды с поджигатель, я мог видеть предупреждающее сообщение появилось, но форма еще взял пользователя в Memb er.php. Пожалуйста помоги. Большое спасибо.
Привет, я просто попробовал ваше решение, но он не работал. Страница индекса по-прежнему занимала меня на странице member.php. – Luciferis
Убедитесь, что ваш скрипт не печатает ничего, кроме этих двух выражений 'echo'. Избавьтесь от строки '?>' - после нее может появиться новая строка. – Barmar
Большое спасибо за то, что вы придерживаетесь меня. К сожалению, я просто применил ваше предложение, и оно все еще не работает. – Luciferis