Так ты POST данных не отправил... читай
тут
А так тебе просто надо заменить вот эту фигню:
var xhr = new XHR();
xhr.open('POST', 'http://tests/register.php?login='+login+'&p='+password, true);
xhr.onload = function() {
alert( this.responseText );
}
xhr.onerror = function() {
alert( 'Ошибка ' + this.status );
}
xhr.send();
на что то подобное:
var xhr = new XHR();
var body = 'login=' + encodeURIComponent(login) +
'&password=' + encodeURIComponent(password);
xhr.open("POST", 'http://tests/register.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
alert( this.responseText );
}
xhr.onerror = function() {
alert( 'Ошибка ' + this.status );
}
xhr.send(body);