Ergebnis 1 bis 9 von 9
  1. #1
    бамбук ε(●̮̮̃•̃)з Avatar von Swola4
    Registriert seit
    06.11.2008
    Beiträge
    352

    Standard SQL und JavaScript???

    Hallo, ich komme bei einem Problem leider nicht weiter...
    Ich bin gerade dabei eine Registrationsseite zu erstellen.
    Ich möchte, dass wenn man bei nickname, seinen nickname einträgt direkt überprüft wird, ob so ein nickname schon bereitz vorhanden ist oder nicht. Falls dieser vorhanden sein sollte, soll eine Error-Message ausgegeben werden.

    ich habe schon ein bischen rumgeguckt und habe eine seite gefunden, bei der es so ist, wie ich es auch haben möchte...
    http://diestaemme.de/register.php

    habe natürlich bei denen im quellcode ein bischen rumgeguckt und folgendes script gefunden


    Leider werde ich da nicht so ganz schlau raus.

    Kann mir bitte jemand zumindest einen Tipp geben, wo ich ansetzten kann?
    Und ist das mit javascript überhaupt möglich ? oder muss ich da auch auf ajax ausweichen ?

    Hoffe ihr habt verstanden wo mein Problem liegt

    Schon mal danke im Vorraus, falls jemand helfen kann

    ~ Das Leben ist ein scheiß Game, mit geiler Grafik ~


  2. #2
    Stanley Jobson Avatar von GregorSamsa
    Registriert seit
    23.08.2008
    Beiträge
    729

    Standard

    Das Script hängt mit dem JSON Javascript Framework zusammen - primär brauchst du SQL und kein JS zum überprüfen

  3. #3
    бамбук ε(●̮̮̃•̃)з Avatar von Swola4
    Registriert seit
    06.11.2008
    Beiträge
    352

    Standard

    Ich habe jetzt gedacht,mit der funktion OnChange lässt man ein Script starten, welches eine Select-Abfrage mit einer Bedingung wo Username == $username ist macht. Wenn etwas gefunden wird dann soll der die error msg. ausgeben wenn nicht, dann halt nicht.
    Aber wie kann ich mit javascript zu meiner Datenbank verbinden ??
    Außerdem würde man dann doch die Datenbank-Daten sehen, was nicht gerade zur Sicherheit der Seite beitragen würde ^^

    ~ Das Leben ist ein scheiß Game, mit geiler Grafik ~


  4. #4
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Das ist AJAX. Also Javascript + XML. Du sendest einen Request per AJAX an ein PHP-Script, welches sich etwas aus der Datenbank sucht und das Ergebnis dann dem Javascript mitteilt, welches wiederrum sein Ergebnis auswertet auf die Weise, wie Du es möchtest. Ich habe auf einer Seite ein Script laufen, welches es erlaubt News zu bewerten. Beim Klick auf einen Stern werden die Berechnungen und Abfragen im Hintergrund ausgeführt. Nach wenigen Millisekunden ist das Ergebnis berechnet und die Anzahl der Sterne und die Anzahl der Wähler berechnet sich neu. Ohne die Seite neu zu laden...

    Siehe mal dieses Tutorial an dann weißt Du, was ich meine. In dem PHP-Script wird aber eine Anfrage ausgeführt an MySQL und kein strtoupper(), wie im zweiten Beispiel des Tutorials. Auch muss die URL etc. angepasst werden. Aber das Script ist nahezu perfekt.
    Ach... Nimm das Script aus Beispiel 2. Das erste ging bei mir nicht.
    Come to the dark side - We have cookies

  5. #5
    бамбук ε(●̮̮̃•̃)з Avatar von Swola4
    Registriert seit
    06.11.2008
    Beiträge
    352

    Standard

    Alles klar, vielen Dank...
    Ich schaue es mir gleich mal an und versuche es mal

    ~ Das Leben ist ein scheiß Game, mit geiler Grafik ~


  6. #6
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Ich habs schon und es geht. Habs spaßeshalber mal gebastelt...

    check.js:



    Bei der zweiten Funktion, interpretrequest wird in das DIV mit der ID 1 das geschrieben, was die check.php dem JS mitteilt (request.responseText).
    Abgeändert werden müsste ggf. die Div-ID und die URL weiter oben, an die der Request gehen soll. Ein Div ist übrigens nicht nötig: Es kann auch font, p etc. sein.

    look.php (enthält das Inputfeld):



    Muss natürlich angepasst weden... Die Funktion prüft, ob das, was in dem Feld steht in der Userstabelle gefunden wird. Das ganze geht per onKeydown (wenn eine Taste gedrückt wird). Dafür wird lookfor(this.value) verwendet. Also ziemlich einfach.

    check.php (die Auswertung und der Empfang des Requests):



    Wie man sieht sehr einfach. Wenn die Mysql-Anfrage erfolgreich ist wird per print "" ein Fehler ausgegeben. Wenn nicht halt garnichts. Ob die oben genannte onKeydown-Methode so gut ist weiß ich nicht. Weil leider wird das ganze erst erkannt, wenn man noch ein weiteres Zeichen eingibt. Vielleicht ist onChange besser. Die Mysql-Daten müssen natürlich angepasst werden bzw. erstmal eine Verbindung hergestellt werden.

    Natürlich muss das ganze angepasst werden an Dein System. Aber immerhin... Viel Spaß damit .

    PS.: Bedenke: Das ganze bedeutet einen Query pro Tastendruck! Also ziemlich viel. Aber es ist sicher hilfreich. Man registriert sich ja nicht so oft...
    Geändert von VeN0m (25.04.2009 um 20:03 Uhr) Grund: Jetzt ist alles richtig ^^
    Come to the dark side - We have cookies

  7. #7
    бамбук ε(●̮̮̃•̃)з Avatar von Swola4
    Registriert seit
    06.11.2008
    Beiträge
    352

    Standard

    Wow, danke schön... hast mir echt sehr geholfen

    ~ Das Leben ist ein scheiß Game, mit geiler Grafik ~


  8. #8
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Absoulut kein Problem. Hauptsache es geht. Ich hatte es an einem E107-System getestet, wo ich die Verbindungsdaten nicht extra ziehen wollte. Daher hoffe ich mal, dass die Auswertungsdatei noch korrekt ist. Alles andere sicherlich, dafür kann ich garantieren .
    Viel Spaß damit.
    Come to the dark side - We have cookies

  9. #9
    Stanley Jobson Avatar von K1ngC0bra
    Registriert seit
    26.08.2007
    Beiträge
    650

    Standard

    Power-Sven's Mehtode ist wirklich sehr gut, verwende solch eine Methode sehr oft auf verschiedenen Websites (Stichwort: Ajax)

    Alles geklärt => Close <= Bei Fragen PM
    Geändert von K1ngC0bra (29.04.2009 um 23:32 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •