Startseite Forum
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Daten ändern

Daten ändern 2 Jahre, 3 Monate her #8188

Hallo,

ich wusste jetzt nicht, was ich für einen Threadtitel nehmen soll, damit nicht gleich alle denke:"Oh man ey, nicht schonwieder"^^

Also. PHP ist Serverseitig, dass ist mir klar. JS ist Clientseitig (auch wenn ich nicht ganz weis, was das heist ).
Ich weis allerdings, dass ich mit JS, nicht auf meine MySQL Datenbank zugreifen kann.


Mein Problem nun:

Ich habe eine MySQL Datenbank, in der sich Benutzerdaten befinden. Benutzername, Passwort, Vorname...

Nun habe ich ein Formular, in dem man einen neuen Benutzer erzeugen kann, sprich alle Daten angeben kann, dann Speichern drückt, und dann wird das per INSERT INTO, in die MySQL Tabelle geschrieben.

Nun möchte ich aber, dass wenn z.B. der Benutzername "Testbenutzer" bereits existiert, und ich Testbenutzer eingegeben habe, und dann in das nächste Feld wechsel, mir automatisch die Informationen, dieses Benutzers, angezeigt werden.


Ich dachte daran, ein JavaScript aufzurufen, dass dann eine PHP funktion aufruft, in der geguckt wird, ob die Daten existieren. Wenn die Daten existieren, gibt diese PHP Funktion true zurück, und wenn sie nicht existieren, false.

Ich habe keien Ahnung ob das damit machbar ist. Und ich habe keine Ahnung, wie ich es anstellen soll.
Bin doch noch ein JavaScipt noob

Ich hoffe, ihr könnt mir helfen.

mfG
theSonGoku

Aw: Daten ändern 2 Jahre, 3 Monate her #8189

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Sowas kann man mittels Ajax realisieren.

Ein nettes Framework, was ich selbst gern für sowas nutze, ist xajax.

Aw: Daten ändern 2 Jahre, 3 Monate her #8190

Kann man Ajax irgendwo gut und einfach auf deutsch lernen?
Oder ist das zu komplex?

Wenn man es einfach und auf deutsch lernen kann, dann wo? Habt ihr gute Erfahrungen mit irgendwelchen Seiten gemacht? Denn ich habe hier nicht die Zeit, mir 1000 Seiten handbuch duchzulesen.^^

Aw: Daten ändern 2 Jahre, 3 Monate her #8191

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Tutorials gibt es sicher einige zu Ajax, auch gute Bücher, (z. B. hier das zweite: Ajaxshop - gibts wohl aber leider momentan nicht).

Ajax von Grund auf zu lernen ist sicher nicht verkehrt, das Framework (xajax) nimmt aber schon sehr viel ab und macht das entwickeln damit sehr schnell und komfortabel. Das einlesen geht auch recht flott, da ein paar Zeilen Code ausreichen. Hier gibts (leider auch auf englisch) die passende Anleitung dafür:
xajaxproject.org/en/docs-tutorials/learn-xajax-in-10-minutes/

Aw: Daten ändern 2 Jahre, 3 Monate her #8192

Ich hab grade im Moment, so einen richtigen Brainlag, wo ich absolut garnix kapiere. -.-

Was ist denn XAJAX jetzt? Was macht XAJAX einfacher oder so als AJAX. Was meinst du mit dem Framework?

Oh man, ich verstehe nur Bahnhof.

Aw: Daten ändern 2 Jahre, 3 Monate her #8193

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Also, dann mal der Reihe nach

Ajax ist ein Zusammenspiel verschiedener Techniken, d. h. Javascript, XML und irgendwas serverseitiges, z. b. PHP

XAJAX ist ein Framework für PHP und Ajax, d.h. es gibt viele vorgefertigte Funktionen, die einem viel Arbeit abnehmen (z. B. alles kompatibel mit den verschiedenen Browsern zu machen).

Und ein Framework ist quasi ein kleiner Rahmen mit verschiedenen immer wiederkehrenden Funktionen, die man einfach in eigenen Projekten nutzen kann.

Sehe grad, hier gibts das auch auf deutsch:
www.xajax.de/

Aw: Daten ändern 2 Jahre, 3 Monate her #8194

Gut, was AJAX macht bzw. wie es was macht, habe ich jetzt soweit verstanden.

Aber wie löse ich nun mein geschildertes Problem?^^ Bin nurnoch eine Woche hier (bis zum 23.10) und würde das Projekt gerne noch fertig bekommen.

Ist zwar nur ein Praktikantenprojekt, aber ich möchte ja einen guten Eindruck hinterlassen.
Und wenn man mir erklärt, was was in dem Quelltext macht, dann verstehe ich das ja auch. Ist ja nicht so, als würde ich dich/euch arbeiten lassen und dafür das Lob einheimsen.
Lerne ja auch dadurch, und werde mich in diesem Forum, auch nach dem Praktikum, noch regelmässig blicken lassen.

mfG
theSonGoku

Aw: Daten ändern 2 Jahre, 3 Monate her #8195

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Du hast dir XAJAX noch nicht angeschaut, oder?

Einfach in die PHP-Funktion (die via xajax per Javascript aufgerufen wird) eine DB-Abfrage rein, wenn Ergebnis da ist, dann die Formularfelder ausfüllen... wenn nicht, dann nicht.

Aw: Daten ändern 2 Jahre, 3 Monate her #8202

micha schrieb:
Du hast dir XAJAX noch nicht angeschaut, oder?


Doch schon. Habe mir einiges darüber durchgelesen. Zb, dass man durch XAJAX bzw. AJAX auf der gleichen Seite bleibt, und nicht auf eine anderen Seite weitergeleitete wird.
Dadurch spart man Resourcen, da eben nicht, eine neue Seite geladen werden muss.


Einfach in die PHP-Funktion (die via xajax per Javascript aufgerufen wird) eine DB-Abfrage rein,


Das mit der DB Abfrage rein, das ist kein Problem.^^ Das kenne ich ja.
$sql = mysql_query() ...
Das ist nichts Neues für mich.
Aber was meinst du denn mit

"Einfach in die PHP-Funktion (die via xajax per Javascript aufgerufen wird)"
Muss ich denn nicht XAJAX bzw. JavaScript noch irgendetwas sagen, was es machen soll?
Oder verstehe ich da etwas falsch?
Stehe desbezüglich grade etwas auf dem Schlauch.^^

mfG
theSonGoku

Aw: Daten ändern 2 Jahre, 3 Monate her #8206

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Genau das meinte ich damit. Du hast zwar das Prinzip von Ajax verstanden, aber du hast dir xajax nicht genauer angeschaut. Dort steht nämlich ganz genau beschrieben wie man sowas macht

Schau mal hier:
xajaxproject.org/en/docs-tutorials/learn-xajax-in-10-minutes/

1. In die Datei fügst du oben folgendes ein:

require_once("xajax_core/xajax.inc.php"); // Pfad natürlich anpassen, wenn dieser anders aussieht


2. Dann legst du dein neues xajax-Objekt an:

$xajax = new xajax();


3. Dann registrierst du eine Funktion, die die Prüfung auf den existierenden Namen übernimmt:

$xajax->registerFunction("pruefeNamen");
$xajax->processRequest(); // einmal unter alle Funktionsregistrierungen


4. Dann schreibst du die Funktion, prüfst den Namen und gibst ggf. weitere Infos aus. Das Argument $arg ist dabei der Wert, den du per Javascript übergibst:

function pruefeNamen($arg)
{
    $objResponse = new xajaxResponse(); // Pflicht!

    $arg = mysql_real_escape_string( $arg );
    $query = mysql_query('SELECT...'); // hier dein Query rein und die DB-Abfrage

    // Auf Wert prüfen
    if ( $ergebnis ) {
        // Name existiert, also Fehlerbehandlung hier rein
        $objResponse->addAlert('Name bereits vergeben. Bitte wähle einen anderen Namen');
        $objResponse->addAssign('emailFeldID', 'value', $email_des_existierenden_users);
    } else {
        // nichts passiert, Name darf genommen werden
    }
    
    $objResponse->assign("SomeElementId","innerHTML", $newContent);
    
    return $objResponse; // Pflicht!
}


5. Das kommt in den head-Bereich des HTML-Teils:

<?php $xajax->printJavascript(); ?>


6. Hier jetzt dein JS-Aufruf im Formularfeld (o.ä.). Dabei muss die Javascript-Funktion fürs xajax immer mit xajax_ beginnen und anschließend den gleichen Namen haben wie die PHP-Funktion:

<input type="text" id="username" name="username" onblur="xajax_pruefeNamen(this.value);" />


Fertig.
Ladezeit der Seite: 0.51 Sekunden

Login

Aktuell im Forum

mehr