Objekt erzeugen und PHP-Datei ansteuern

dragonfly77

Mitglied
Ein frohes neues Jahr!
Ich möchte folgendes realisieren:

- Ein Formularfeld wo man einen Namen eingeben kann, daneben ein Button mit "Add" oder so.
- Wenn auf den Button geklickt wird soll der Name aus dem Formular mittels PHP in
eine DB geschrieben werden.
Und der name soll unterhalb des Formularfeld via Ajax eingeblendet werden.

So das ich beliebig viele Name mit einem Klick auf "Add" untereinander erscheinen lassen kann und
diese dann in eine DB geschrieben werden.

Meine Frage dazu:
1. Wie mache ich den Ajax-Teil? Gibt es dafür irgendwo ein Bespiel?
2. Wie/Wo Steuer ich dann die PHP-Datei an die die Werte in die DB schreibt?
 
Hi

empfehle das leicht geändert:

a) Den Text unter dem Formular ohne Ajax oder irgendein Netzwerkzeug dazutun,
einfach so als Text in die Seite einfügen. jQuery ja/nein?

b) Das "Ansteuern" der PHP-Datei ist dann dafür der Ajaxteil.
Eine PHP-Datei machen, die per GET-Parameter erhaltene Daten prüft und
in die DB einfügt, aber nicht dafür gedacht ist, irgendein HTML zum
Browser zu senden, und diese dann per JS aufrufen ... wieder: jQuery ja/nein?
 
jquery wäre mit an Board.
Aber wie setzte ich das um? Hab von jQuery nicht so die Ahnung. Gibt es da eine art Tutorial oder sowas was in die Richtung geht?
 
Es wird immer nur die PHP-Datei/Zieldatei aufgerufen
Meinst Du damit, dass die alte Seite verschwindet und die PHP-Seite aufgerufen wird, anstatt dass diese ohne Neuladen ausgeführt wird?
Poste doch mal, was Du versucht hast, am besten die URL.
 
Hallo. Hab es jetzt mit dem Tutorial hinbekommen. Es lag daran das ich den JS-Code in der HTML-Datei eingebettet hatte anstatt diesen in einer externen Datei auszulagern.

Habe jetzt aber noch eine Frage:
Ich benutze folgenden Code um das Formular abzusenden: (aus dem Tutorial)
Code:
$("form").submit(function(event) {
    // Das eigentliche Absenden verhindern
    event.preventDefault();
   
    // Das sendende Formular und die Metadaten bestimmen
    var form = $(this); // Dieser Zeiger $(this) oder $("form"), falls die ID form im HTML exisitiert, klappt übrigens auch ohne jQuery ;)
    var action = form.attr("action"), // attr() kann enweder den aktuellen Inhalt des gennanten Attributs auslesen, oder setzt ein neuen Wert, falls ein zweiter Parameter gegeben ist
        method = form.attr("method"),
        data   = form.serialize(); // baut die Daten zu einem String nach dem Muster vorname=max&nachname=Müller&alter=42 ... zusammen
       
    // Der eigentliche AJAX Aufruf
    $.ajax({
        url : action,
        type : method,
        data : data
    }).done(function (data) {
        // Bei Erfolg
        alert("Erfolgreich:" + data);
    }).fail(function() {
        // Bei Fehler
        alert("Fehler!");
    }).always(function() {
        // Immer
        alert("Beendet!");
    });
});

Dies triggert die PHP-Datei die die Daten in die DB schreibt.

Jetzt möchte ich aber das danach eine PHP-Funktion getriggert wird die mir die aktuellen Daten aus der DB anzeigt.
Wo und wie muss ich im JS diese PHP-Funktion "triggern?"
 
Dafür sehe ich zwei Möglichkeiten:
  1. Du schreibst die Ermittlung der Daten für die Anzeige mit in die PHP-Datei, die mit Ajax aufgerufen wird. Dann brauchst Du keine zweite Datei zu triggern.
  2. Du schreibst eine zweite PHP-Datei, die die Daten für die Anzeige ermittelt, und rufst diese im success-Callback mit Ajax auf.
Selber finde ich die erste Variante einfacher und übersichtlicher.
In beiden Fällen musst Du im success-Callback die Daten auswerten und die Anzeige veranlassen. Weiß nicht, ob das in diesem Tutorial behandelt wird.
 

Neue Beiträge

Zurück