Ergebnis 1 bis 15 von 15

Thema: input::getInstance bei mehrseitigen Formularen

  1. #1
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard input::getInstance bei mehrseitigen Formularen

    Hallo,

    kann ich irgendwie auf Seite 4 eines mehrseitigen Formulares auf die Werte von
    Seite 1 oder 2 zugreifen?

    Input::getInstance() liefert nur die Werte der aktuellen Seite.

    info: die Erweiterung sessionform soll nicht verwendet werden.


    Danke

    Mark
    Geändert von Mark Knochen (08.02.2013 um 07:21 Uhr)

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Die Daten müssen natürlich irgendwie in die Session gespeichert werden, da ja Input nur die aktuellen Request Parameter abfragen kann...

  3. #3
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ah, habe einen Tipp bekommen ... die liegen alle in $_SESSION['FORM_DATA'] ...


    mark

  4. #4
    Contao-Nutzer Avatar von corticelli
    Registriert seit
    20.06.2009.
    Ort
    Ranoldsberg bei Buchbach bei Dorfen bei München
    Beiträge
    230

    Standard

    Hallo Mark,

    kannst Du einem Nicht-Crack noch ein paar Details mehr geben, wie man auf dieses Array dann zugreift?
    Im Template? Oder in einem {{file::irgendwas.php}}?

    Danke & Grüße
    Peter
    Weil ich halt ein Schelm bin.

  5. #5
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Hallo Peter,

    es geht eigentlich sogar beides ... ich habe den für mich schnelleren Weg genommen und im Template form.html5 unten dran einfach die $_SESSION['FORM_DATA'] als Array ausgelesen und für mich weiterverwendet.


    Bis dahin


    Mark

  6. #6
    Contao-Nutzer Avatar von corticelli
    Registriert seit
    20.06.2009.
    Ort
    Ranoldsberg bei Buchbach bei Dorfen bei München
    Beiträge
    230

    Standard

    in der Tat, klappt beides - danke!
    Weil ich halt ein Schelm bin.

  7. #7
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard

    Hi Mark,

    könntest du dein verändertes Template mal als Beispiel hier posten? Ich versuche nämlich gerade auch auf Daten eines vorigen Formulars zuzugrifen. Anzeigen kann ich die ja per Inserttag {{form::name}} ja schon auf der Seite in einem Inhaltselement oder per HTML im Formulargenerator. Was halt noch nicht klappt ist, die Daten aus dem vorigen Formular mit in der E-Mail zu versenden da der EFG ja nur auf die Daten der aktuellen Seite zurückgreift.

    Ich verwende ein Contao 3.0.0

    Viele Grüße,
    operatorone
    Geändert von operatorone (08.03.2013 um 09:00 Uhr)

  8. #8
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ich habe unten am Template:


    <?php
    $form = $_SESSION['FORM_DATA'];
    ?>


    mit var_dump($form); kannst Du alle Daten sehen, die bisher on der Session liegen und per Array auch darauf zugreifen.


    mark

  9. #9
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard

    Cool, danke dir für die Antwort.

    Hiermit
    PHP-Code:
    <?php echo var_dump($form); ?>

    Hier der Output:
    array(13) { 
    ["FORM_SUBMIT"]=> string(16) "auto_planung" 
    ["REQUEST_TOKEN"]=> string(32) "702df24b820cec0ef0ba5333bcfb7be9" 
    ["FORM_PAGE"]=> string(1) "1" 
    ["c193261f2cda6e0e83f4783c10879f0e8"]=> string(2) "12" 
    ["MAX_FILE_SIZE"]=> string(7) "2048000" 
    ["cc13619505c3aeba4cef47558a371ed8e"]=> string(1) "9" 
    ["ca75d4c0e631e7bda88879575f22d3206"]=> string(2) "13" 
    ["start"]=> string(9) "KT" 
    ["flugziel"]=> string(16) "FRA" 
    ["abflug"]=> string(10) "04.04.2013" 
    ["landedatum"]=> string(10) "07.04.2013" 
    ["passagier"]=> string(16) "1 Erwachsener" 
    ["klasse"]=> string(5) "first" }
    kann ich ja alle Werte anzeigen. Das hab ich ausprobiert und hat auch super geklappt.
    Nur wie bekomme ich die nun an die E-Mail weitergegeben?

    Ich habe unter "Per E-Mail versenden (formatierter Text / HTML)" folgendes eingegeben
    und die Felder von Abflug bis Passagier kommen aus dem ersten Formular und bleiben leer.

    Abflug: {{form::abflug}}
    Landung: {{form::landung}}
    Flugziel: {{form::flugziel}}
    Passagier: {{form:assagier}}

    Name: {{form::name}}
    E-Mail: {{form::email}}
    Telefon: {{form::telefon}}
    Nachricht: {{form::message}}

    Wie müsste ich die Felder vorbereiten, um Sie in die E-Mail zu integrieren?
    Wäre super, wenn du mir dazu noch einen Tip geben könntest.

    Viele Grüße,
    operatorone

  10. #10
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    <?php $form $_SESSION['FORM_DATA']; ?>
    Abflug: <?php echo $form['abflug']; ?>
    Landung: <?php echo $form['landung']; ?>
    Flugziel: <?php echo $form['flugziel']; ?>
    Passagier: <?php echo $form['passagier']; ?>

    Name: {{form::name}}
    E-Mail: {{form::email}}
    Telefon: {{form::telefon}}
    Nachricht: {{form::message}}
    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  11. #11
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard

    Hi Chris,

    danke dir für den Code. Also müsste die HTML-Mail-Vorlage des EFG dazu so aussehen?
    Oder bring ich da etwas durcheinander?

    Til

    HTML-Code:
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <title>Online-Check-in</title>
    <style>
    <!--
     body { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; padding:0; }
     td, p, div { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; }
    -->
    </style>
    </HEAD>
    <BODY style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; padding:0; background-color:#FFFFFF">
    <div style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000;">
    <p>Herr/Frau {{form::name}},<br><br>
    hat am {{date}} den Online-Check-in ausgefüllt.<br><br>
    
    Folgende Daten wurden eingegeben:<br>
    <?php $form = $_SESSION['FORM_DATA']; ?>
    Abflug: <?php echo $form['abflug']; ?><br>
    Landung: <?php echo $form['landung']; ?><br>
    Flugziel: <?php echo $form['flugziel']; ?><br>
    Passagier: <?php echo $form['passagier']; ?><br>
    Name: {{form::name}}<br>
    E-Mail: {{form::email}}<br>
    Telefon: {{form::telefon}}<br>
    Nachricht: {{form::message}}<br>
    Datei: {{form::file}}<br>
    {{form::file?attachment=true}}
    </p>
    </div>
    </BODY>
    </HTML>

  12. #12
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Vermutlich ja
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  13. #13
    Contao-Fan Avatar von Ulrich
    Registriert seit
    03.03.2010.
    Ort
    Freiburg i. Br.
    Beiträge
    395

    Frage

    Hallo,

    ich arbeite gerade an einem ähnlichen Problem unter Contao 2.10.4 (page template in xhtml). Leider wird PHP in der Antwort-HTML-Mail-Vorlage nicht ausgeführt.

    Hat jemand eine Idee, woran das liegen könnte?

    Vielen Dank im Voraus!

    Grüße
    Uli

  14. #14
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard

    Hi Ulrich,

    musste das Teilprojekt erstmal einem anderen unterordnen und antworte jetzt etwas spät, aber ich habe das gleiche Problem. Bei mir wird auch der PHP-Code in der Mail nicht ausgeführt und zeigt nur die Ergebnisse aus dem aktuellen Formular. Muss da noch eine ID übergeben werden oder wie kann ich die Daten des vorigen Formulars abfragen?

    Viele Grüße,
    operatorone

    HTML-Code:
    <BODY style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; padding:0; background-color:#FFFFFF">
    <div style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000;">
    <p>Herr/Frau {{form::name}},<br><br>
    hat am {{date}} den Online-Check-in ausgefüllt.<br><br>
    
    Folgende Daten wurden eingegeben:<br>
    <?php $form = $_SESSION['FORM_DATA']; ?>
    Abflug: <?php echo $form['abflug']; ?><br />
    Landung: <?php echo $form['landung']; ?><br />
    Flugziel: <?php echo $form['flugziel']; ?><br />
    Passagier: <?php echo $form['passagier']; ?><br />
    Name: {{form::name}}<br>
    E-Mail: {{form::email}}<br>
    Telefon: {{form::telefon}}<br>
    Nachricht: {{form::message}}<br>
    Datei: {{form::file}}<br>
    {{form::file?attachment=true}}
    </p>
    </div>
    </BODY>

  15. #15
    Contao-Fan Avatar von operatorone
    Registriert seit
    19.06.2009.
    Ort
    Kitzingen
    Beiträge
    547

    Standard [gelöst] Formulardaten an folgendes Formular übergeben

    So, nun habe ich dank dieses Beitrags herausgefunden wie ich FORM_DATA abfragen und an mein Formular weitergeben kann. Verwendet habe ich dazu den EFG und die darin enthaltene HTML-Mail-Vorlage.

    Bevor ich das zweite Formular abschicke zeige ich im Frontend noch mal die eingegebenen Daten in einem Text-Inhaltselement an:

    HTML-Code:
    <table style="width: 500px;" border="0" cellspacing="0" cellpadding="0">
    <tbody>
    <tr>
    <td style="width: 200px;"><strong>Flugziel</strong><br>{{form::feld1}}</td>
    <td><strong>Abflug</strong><br>{{form::feld2}}</td>
    </tr>
    <tr>
    <td style="width: 200px;"><strong>Passagier</strong><br>{{form::feld3}}</td>
    <td><strong>Landung</strong><br>{{form::feld4}}</td>
    </tr>
    </tbody>
    </table>

    Die Mail-Voralge sieht folgendermaßen aus:

    HTML-Code:
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <title>medienflieger mail</title>
    <style>
    <!--
     body { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; padding:0; }
     td, p, div { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; }
    -->
    </style>
    </HEAD>
    <BODY style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; padding:0; background-color:#FFFFFF">
    <div style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000;">
    <p>Herr/Frau {{form::name}},<br><br>
    hat am {{date}} den Online-Check-in ausgefüllt.<br><br>
    
    Folgende Daten wurden eingegeben:<br>
    
    {{file::mail.php}}
    
    <strong>Name: </strong>{{form::name}}<br>
    <strong>E-Mail: </strong>{{form::email}}<br>
    <strong>Telefon: </strong>{{form::telefon}}<br>
    <strong>Nachricht: </strong>{{form::message}}<br>
    <strong>Datei: </strong>{{form::uploads}}<br>
    {{form::uploads?attachment=true}}
    </p>
    </div>
    </BODY>
    </HTML>
    Die Datei mail.php liegt im Ordner templates und enthält folgenden Code:

    PHP-Code:
    <?php
    echo "<strong>Feldbeschreibung1: </strong>" $_SESSION[FORM_DATA]['feld1']."<br />" "<strong>Feldbeschreibung2: </strong>" $_SESSION[FORM_DATA]['feld2']."<br />" "<strong>Feldbeschreibung3: </strong>" $_SESSION[FORM_DATA]['feld3']."<br />" "<strong>Feldbeschreibung4: </strong>" $_SESSION[FORM_DATA]['feld4']."<br />";
    ?>
    Hoffe ich kann damit noch anderen im Forum helfen die vor dem gleichen Problem stehen.

    Viele Grüße,
    operatorone

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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