Ergebnis 1 bis 6 von 6

Thema: AJax Request Form Send - Datenbank

  1. #1
    Contao-Nutzer
    Registriert seit
    22.09.2009.
    Beiträge
    51

    Standard AJax Request Form Send - Datenbank

    Hi zusammen,

    schicke via Ajax (Mootools) ein Formular im Backend ab und rufe hier eine PHP-Datei auf!

    Hier meine Dateien:

    HTML-Code:
    <form id="xglog" action="system/modules/meinModul/ajax/ajax_form_xgform.php" method="post">
    Name:<br/>
    <input type="text" name="xgbenutzername" value="" size="50" /> Passwort:<br/>
    <input type="password" name="xgpasswort" value="" size="50" />
    <hr/>
    <input type="submit" value="speichern" name="xgbuttonspeichern" />
    </form>
    <div id="xglog_res"></div>
    Über folgendes AJaxscript wird das Formular ausgewertet:

    Code:
    window.addEvent('domready', function() {
        $('xglog').addEvent('submit', function(e){
            e.stop();
            //Empty the log and show the spinning indicator.
            var log = $('xglog_res').empty().addClass('ajax-loading');
            //Set the options of the form's Request handler.
            //("this" refers to the $('myForm') element).
            this.set('send', {
                onComplete: function(response) {
                    log.removeClass('ajax-loading');
                    log.set('html', response);               
                }
            });
            //Send the form.
            this.send();
        });
    });
    Nun wird ja folgende PHP-Datei vom Ajax aufgerufen:
    > ajax_form_xgform.php >
    PHP-Code:
    <?php var_dump($_POST);?>
    //Hier möchte ich jetzt einen Datenbankeintrag schreiben!!!!!
    //Wie mach ich das??
    UNd genau in dieser Datei möchte ich nun die POST-Daten verarbeiten und in die Datenbank schreiben!
    ABer der DB-Handler steht mir ja nicht bereit!!!

    Wie mach ich das?Was muss ich alles includen?

    Danke

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Die sauberste Methode wäre mit der ajax.php von andreas.schempp zu arbeiten.
    Das mal vorab. Dann kannst du sauber via Hook anfragen, ob es sich um eine Anfrage von deinem Modul handelt, wenn ja, verarbeiten, ansonsten false zurückgeben!

    Die Klasse die du schreibst muss dann einfach z.B. Frontend extenden. Dann hast du alle Methoden und diejenigen die du nicht hast lädst du einfach mit $this->import('Klasse'); rein.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    22.09.2009.
    Beiträge
    51

    Standard

    HI,

    wenn ich jetzt in der von Ajax aufgerufenen PHP schreibe:

    PHP-Code:
    class test extends Backend
    {
      
    //..

    kommt folgender Fehler:

    Fatal error: Class 'Backend' not found in C:\wamp\www\...

    Mir fehlen in diesem PHPFile jegliche Resourcen und Klassen von Typolight!
    WIe kann ich das ändern?

    Danke

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    TL lädt Klassen in stystem/modules automatisch unter folgender Bedingung:

    • Verzeichnis heisst 'test'
    • Klasse heisst 'test' (class 'test' extends Whatever)
    • Datei heisst test.php
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer
    Registriert seit
    22.09.2009.
    Beiträge
    51

    Standard

    Hi,

    das Problem ist, dass ich der PHP-Datei, welche von Ajax ausgeführt wird auf gar nichts ZUgriff habe. Werder auf Session, Globals noch auf die von Typolight geladenen Klassen, noch auf die PHP-Dateien, welche Typolight automatisch included!!!!

    An weas liegt das?
    Müsste hier die ganzen Dateien wie Backend, BackendModule nochmals fpr diesen Request includen, damit ich auf den DB-Handler von Typolight zugreifen kann!?

    Gibt es da nicht eine andere Variante?

    Danke

  6. #6
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Wie gesagt. Nutz die ajax.php von andreas.schempp und dann ist alles viel einfacher.
    Logisch hast du keinen Zugriff auf die Daten von TL, wenn du was fremdes ansprichst, es aber nicht integrierst...

    Also Kurzanleitung wie du zu dem kommen solltest, was du willst:
    • Installier dir die Ajax-Erweiterung von andreas.schempp
    • Mach ein neues Modul. In die config/config.php registrierst du den Hook dispatchAjax oder so ähnlich (Findest du ja im Code der ajax.php von Andy)
    • Danach schreibst du in die ausgewählte Klasse und Methode eine if-Abfrage, damit dein Code nicht bei jedem Aufruf ausgeführt wird. Sonst beeinträchtigst du ja andere Module. Wichtig ist, dass du ansonsten false zurückgibst, weil das die ajax.php erwartet!
    • Voila, dort schreibst du dann alles was zu tun ist rein. Als Ziel für den Ajax-Code von mootools schreibst du einfach 'url': 'ajax.php'


    Siehst du das Prinzip?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. TCPDF ERROR: Some data has already been output, can't send PDF file
    Von El_Jey im Forum Allgemeine Inhaltselemente
    Antworten: 9
    Letzter Beitrag: 13.07.2012, 19:44
  2. Bad Request
    Von Grete Gräte im Forum Sonstiges zu Contao
    Antworten: 1
    Letzter Beitrag: 15.03.2011, 13:06
  3. [ajax] Ajax-Tools / kein response
    Von laura_w im Forum Sonstige Erweiterungen
    Antworten: 16
    Letzter Beitrag: 29.07.2010, 13:15
  4. Request/Mootools und ajax.php von Andreas
    Von Toflar im Forum Entwickler-Fragen
    Antworten: 5
    Letzter Beitrag: 24.10.2009, 18:27
  5. Ajax-Tools (ajax Erweiterung)? Was sie eigentlich macht?
    Von bruc13 im Forum Sonstige Erweiterungen
    Antworten: 8
    Letzter Beitrag: 25.08.2009, 08:33

Lesezeichen

Lesezeichen

Berechtigungen

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