Что нужно:
JS отправляет информацию в переменной login на phpPHP проверяет, зарегистрирован ли логин (из переменной login) и если нет - отправляет на js true, если да - falseJS принимает информацию и делает проверку: если передано значение true - выполняет один код, если false - другой.Что происходит:
Ничего. Либо php не отправляет ответ, либо js не принимает.
Код:
JS:
var xhr = new XMLHttpRequest;
xhr.open("POST", "check.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(login);
xhr.onreadystatechange = function (){
if(xhr.readyState == 4){
if(xhr.responseText == "true"){
var div = document.querySelector("#login");
div.className = "true";
div.innerHTML = "✓Логин не занят";
alogin = null;
alogin = true;
}else if(xhr.responseText == "false"){
var div = document.querySelector("#login");
div.className = "false";
div.innerHTML = "Логин занят!";
alogin = null;
alogin = false;
}
}
}
check.php:
<?php
include("db.php");
if(isset($_POST["login"]){
$login = $_POST['login'];
if($login == ''){
unset($login);
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$login = trim($login);
$result = mysql_query("SELECT id FROM accounts WHERE login='$login'", $db);
$myray = mysql_fecth_array($result);
if(!empty($myray['id'])){
echo 'false';
}else{
echo 'true';
}
}
?>
db.php:
<?php
$db = mysql_connect("194.67.202.210", "testsite", "не скажу");
mysql_select_db("LHVideo", $db);
?>
HTML
<input id='login' onchange='check();'>
<div id='hint'></div>
JS
function check() {
var xhr = new XMLHttpRequest;
xhr.open("POST", "ttt9.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(login);
xhr.onreadystatechange = function (){
if(xhr.readyState == 4){
var div = document.getElementById("hint");
if(xhr.responseText == "true"){
div.className = "true";
div.innerHTML = "?Логин не занят";
alogin = null;
alogin = true;
}else if(xhr.responseText == "false"){
div.className = "false";
div.innerHTML = "Логин занят!";
alogin = null;
alogin = false;
}
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости