php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.09.2010, 13:55  
Erfahrener Benutzer
 
Registriert seit: 16.09.2010
Beiträge: 100
PHP-Kenntnisse:
Fortgeschritten
N4bla befindet sich auf einem aufstrebenden Ast
Standard Javascript/Ajax um ein Formular zu überprüfen!

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

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 ;)
N4bla ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.09.2010, 14:14  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hallo,

hat es einen Grund, dass du kein AJAX-fähiges Framework verwendest? Es ist etwas überflüssig, wenn wir jetzt noch versuchen müssen, deine eigene Implementierung von AJAX zu debuggen. Installier dir doch erstmal Firebug und schau, ob der Request überhaupt rausgeht und was er zurückliefert. Debugging per Firebug kannst du auch ganz einfach machen, in dem du console.log() verwendest.

PS: Dein PHP-Code ist auch nicht wirklich sinnig, statt echo "dein <html>-Code" kannst du die PHP-Verarbeitung auch mit ?> beenden und nun normal HTML schreiben. Dein PHP-Editor wirds dir zusätzlich mit Syntaxhighlighting des HTML danken.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 19.09.2010, 14:21  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Zumal es sowieso sinnlos ist, für eine JavaScript-Frage den PHP-Code zu posten anstatt einfach dessen Ausgabe.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 19.09.2010, 14:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von N4bla Beitrag anzeigen
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.
Ob der verwendete Pfad korrekt ist oder fehlerhaft, kriegst du ganz leicht selber raus, wenn du das Net-Panel von Firebug nutzt.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.09.2010, 15:04  
Erfahrener Benutzer
 
Registriert seit: 16.09.2010
Beiträge: 100
PHP-Kenntnisse:
Fortgeschritten
N4bla befindet sich auf einem aufstrebenden Ast
Standard

Pfad ist soweit richtig , zumindest laut FireBug
Die Anfrage wird auch gesendet mit dem richtigen Inhalt nur kommt halt nie eine Antwort an...

Warum ich kein framework benutze ?
Ich brauch so gut wie nie Ajax/javascript und deswegen wollte ich mir jquery o.ä. nicht aneignen
N4bla ist offline   Mit Zitat antworten
Alt 19.09.2010, 15:06  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von N4bla Beitrag anzeigen
Die Anfrage wird auch gesendet mit dem richtigen Inhalt nur kommt halt nie eine Antwort an...
Was als Antwort kommt, lässt sich mit Firebug auch sehr schön untersuchen ...

Entweder interpretierst du die Antwort also falsch - oder dein serverseitiges Script reagiert falsch auf die Anfrage.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.09.2010, 18:24  
Erfahrener Benutzer
 
Registriert seit: 16.09.2010
Beiträge: 100
PHP-Kenntnisse:
Fortgeschritten
N4bla befindet sich auf einem aufstrebenden Ast
Standard

Habs hingekriegt. Trotzdem danke
N4bla ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formular Überprüfen auf Kommazahl the-rod JavaScript, Ajax und mehr 5 18.08.2009 22:47
[Erledigt] Formular dynamisch überprüfen regsnerven JavaScript, Ajax und mehr 1 09.07.2009 21:25
Im Formular mit BlacklistPath Domain überprüfen Elbgeist PHP Tipps 2009 6 11.06.2009 13:06
Formular Felder überprüfen lassen zum 100 mal ^^ Paddy PHP Tipps 2009 8 08.04.2009 17:02
Formular überprüfen und wieder aufrufen tinchen PHP Tipps 2006 5 12.06.2006 19:14
[JavaScript] Formular inhalt überprüfen moose HTML, Usability und Barrierefreiheit 2 23.03.2006 21:11
Formular Feld überprüfen ? CityHubter HTML, Usability und Barrierefreiheit 3 08.09.2005 11:21
Formular auf vollständigkeit überprüfen! HTML, Usability und Barrierefreiheit 3 26.07.2005 13:21
Formular überprüfen Lia PHP Tipps 2005-2 11 07.06.2005 16:28
Formular überprüfen und eintragen PHP Tipps 2004-2 10 30.12.2004 21:54
[JS] Formular überprüfen I-Spy HTML, Usability und Barrierefreiheit 13 30.12.2004 21:47
Telefonnummer im Formular überprüfen PHP Tipps 2004 4 04.11.2004 10:51
Mehrseitiges Formular überprüfen? PHP Tipps 2004 9 01.09.2004 00:04
Formular überprüfen flual2000 PHP Tipps 2004 1 12.07.2004 12:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ajax formular prüfen, http://www.php.de/javascript-ajax-und-mehr/72000-javascript-ajax-um-ein-formular-zu-ueberpruefen.html, ajax formular überprüfen, jquery formulare prüfen, formular überprüfen ajax, javascript register formular überprüfen, formular prüfen ajax, javascript formular prüfen, jquery formular prüfen, javascript formular prüfen ajax, ajax formular senden, javascript ajax formular prüfen, ajax feld überprüfen, passwort übereinstimmung überprüfen java, ajax formular check, formular mit ajax prüfen, ajax passwort prüfen, formular prüfen mit jquery, formulardaten prüfen ajax, formularfeld id check javascript

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum