Hi Leute.
Ich versuch grad nen Formular zu überprüfen.
Hab 4 Eingabefelder ( user, pass, repass, mail ) und möchte das vor dem Check überprüfen ob
1. alles eingetragen ist.
2. die beiden Passwörter übereinstimmen
3. Der Benutzer/Mail nicht schon im System vorhanden sind.
Ich dachte ich bin klug und nutze für 3. ajax, um die daten per Post an ein php script zu übergeben, was dann entweder 0 oder 1 zurückgibt.
Soweit so gut.
NUn bekomme ich aber leider jedes mal wenn ich das script aufrufe den Fehlercode request.status = 0.
Ich hab erst vermutet das es mit der request.open url zusammenhängt weil ich nicht weiß ob ich die datei einhängen muss logisch zum Pfad der Datei in welcher es eingebaut ist, oder zum gesamtem Script.
Meine index.php datei ( in welcher meine register.php datei eingebunden ist ) liegt im root verzeichnis. register.php und register_check.php sind in php/module/sites/ ..
Aber nun hier erstmal der Code
Ich versuch grad nen Formular zu überprüfen.
Hab 4 Eingabefelder ( user, pass, repass, mail ) und möchte das vor dem Check überprüfen ob
1. alles eingetragen ist.
2. die beiden Passwörter übereinstimmen
3. Der Benutzer/Mail nicht schon im System vorhanden sind.
Ich dachte ich bin klug und nutze für 3. ajax, um die daten per Post an ein php script zu übergeben, was dann entweder 0 oder 1 zurückgibt.
Soweit so gut.
NUn bekomme ich aber leider jedes mal wenn ich das script aufrufe den Fehlercode request.status = 0.
Ich hab erst vermutet das es mit der request.open url zusammenhängt weil ich nicht weiß ob ich die datei einhängen muss logisch zum Pfad der Datei in welcher es eingebaut ist, oder zum gesamtem Script.
Meine index.php datei ( in welcher meine register.php datei eingebunden ist ) liegt im root verzeichnis. register.php und register_check.php sind in php/module/sites/ ..
Aber nun hier erstmal der Code

PHP-Code:
<?php
echo'
<script type="text/javascript">
<!--
function CheckInput()
{
var check;
setRequest();
if(document.register.user.value == "" || document.register.pass.value == "" || document.register.repass.value == "" || document.register.mail.value == "")
{
document.getElementById(\'hinweis\').style.display = "block";
document.getElementById(\'hinweis\').innerHTML = "Bitte füllen Sie alle Felder aus!";
return false;
}
else if (document.register.pass.value != document.register.repass.value)
{
document.getElementById(\'hinweis\').style.display = "block";
document.getElementById(\'hinweis\').innerHTML = "Die beiden Passwörter stimmen nicht überein!";
return false;
}
else if (document.register.pass.value.length<8 || document.register.pass.value.length<8)
{
document.getElementById(\'hinweis\').style.display = "block";
document.getElementById(\'hinweis\').innerHTML = "Das Password muss mindestens aus 8 Zeichen bestehen";
return false;
}
else if (check == false)
{
return false;
}
else
{
document.getElementById(\'hinweis\').style.display = "none";
return true;
}
}
function setRequest() {
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject(\'Msxml2.XMLHTTP\'); // IE 5
} catch (e) {
try {
request = new ActiveXObject(\'Microsoft.XMLHTTP\'); // IE 6
} catch (e) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "php/module/sites/register_check.php";
// Request öffnen
request.open(\'post\', url, true);
// Request senden
request.setRequestHeader(\'Content-Type\', \'application/x-www-form-urlencoded\');
string = "user="+document.register.user.value+"&mail="+document.register.mail.value;
request.send(string);
// Request auswerten
request.onreadystatechange = interpretRequest;
}
}
// Request auswerten
function interpretRequest() {
switch (request.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
var senden = request.responseText;
// den Inhalt des Requests in das <div> schreiben
if (senden=="1")
{
document.getElementById(\'hinweis\').innerHTML = "Der Benutzername/E-Mail Adresse ist schon vergeben.";
check = false;
}
else if (senden=="0")
{
check = true;
}
}
break;
default:
break;
}
}
//-->
</script>
<div id="register">
<form name="register" method="post" onsubmit="return CheckInput();" action="http://www.recash.me/?action=doregister">
<div class="register_user">
<span style="float:left;">Benutzername:</span>
<span style="float:right;"><input type="text" name="user" style="width:150px;" /></span>
</div>
<div class="register_pass">
<span style="float:left;">Passwort:</span>
<span style="float:right;"><input type="password" name="pass" style="width:150px;" /></span>
</div>
<div class="register_repass">
<span style="float:left;">Passwort:</span>
<span style="float:right;"><input type="password" name="repass" style="width:150px;" /></span>
</div>
<div class="register_repass">
<span style="float:left;">E-Mail:</span>
<span style="float:right;"><input type="text" name="mail" style="width:150px;" /></span>
</div>
<div id="hinweis" style="float:left;padding:15px;color:red;display: box">
</div>
<div class="register_botton">
<input type="Submit" id="button" value="Registrieren" />
</div>
</form>
</div>
';
?>
Danke fürs Mühsame durchschauen ;)
Kommentar