Witam. Mam funkcję która sprawdza czy w bazie danych został znaleziony użytkownik, próbowałem z niej zwrócić wartość ale wynikiem jest zawsze "undefined", z tego co czytałem na necie to chodzi o tą asynchroniczność. Nie mam pojęcia jak to zrobić, mam nadzieje, że ktoś mi pomoże. Pozdrawiam
FUNKCJA
user_exist.php
FUNKCJA
Kod:
function userExist(){
var user = createRequest();
var adres = "user_exist.php?login="+document.getElementById("login").value;
var ilogin = document.getElementById("ilogin");
var login = document.getElementById("login");
user.open("GET", adres, true);
user.onreadystatechange = function (){
if ( user.readyState == 4 && user.status == 200){
var error = user.respon***ML.getElementsByTagName("error")[0].childNodes[0].nodeValue;
if ( error == 0 ){
ilogin.innerHTML = "";
login.className = "ok";;
}
else {
var dane = user.respon***ML.getElementsByTagName("msg")[0].childNodes[0].nodeValue;
ilogin.innerHTML = dane;
login.className = "blad";
}
}
}
user.send(null);
}
user_exist.php
PHP:
<?php
header('Content-type: application/xml; charset="utf-8"');
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "<ajaxaction>";
include ("../klasy/users.php");
$user = new users;
$user -> getLogin($_GET['login']);
if ( $user -> userExist()){
echo " <error>0</error></ajaxaction>";
}
else {
echo " <error>1</error><msg>Taki uzytkownik juz istnieje</msg></ajaxaction>";
}
?>