Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular ausgabe Array

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • cuep
    hat ein Thema erstellt [Erledigt] Formular ausgabe Array.

    [Erledigt] Formular ausgabe Array

    Hallo an alle,

    Habe folgendes Problem.
    Habe ein Formular gebastelt was erst an eine Seite geschickt wird wo der Benutzer noch mal seine Eingaben überprüfen, und dann auf absenden klicken kann. Ich bekomme zwar eine E-Mail wenn ich auf Senden klicke allerdings ohne Daten. Stattdesen steht da nur "Array" drinne.
    Habe schon mal was mit implode() versucht.

    Code auszug:

    Code:
    $message = array();
     
     $message .= $_POST['name'];
     $message .= $_POST['vorname'];
     
    mail($emailAdresse,$emailBetreff,$message,$absender);
    Also mein Anliegen ist eigentlich nur, das die daten die ich per "POST" verschicken will auch wirklich bei mir ankommen.
    verschiedenen Themen die ich hier durchgelesen habe, trafen leider nicht auf mein Problem zu.
    Wenn ich ein Formular bastel was direkt verschickt wird ohne das die Daten nochmals auf einer andere Seite zu kontrolle ausgeben werde, funktioniert es.
    Aber vieleicht hat ja einer ne Idee warum ich eine Ausgabe " Array " bekomme.
    Danke im Voraus

    Gruss

    Cuep

  • nikosch
    antwortet
    Gerne. Beehren Sie uns wieder

    Einen Kommentar schreiben:


  • cuep
    antwortet
    Danke schön

    Zum abschluss von diesem Thema wollte ich mich nochmals für die Informationen und Hilfe bedanken.

    Gruß

    CueP

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Ja, genau. PHP: PHP Manual - Manual Falls Du unter Windows arbeitest, ist auch die *.chm Version sehr sinnvoll. Vor allem wegen des Index.

    Einen Kommentar schreiben:


  • cuep
    antwortet
    Danke schön erst mal für die schnelle und hilfreiche Antwort und vor allem für die Erläuterung dazu .
    Hmm vom Affenformular hatte ich schon mal was gelesen, werde ich mir mal anschauen.
    Mal noch ne eine andere kleine Frage. Was genau ist immer mit Manual gemeint?
    Ist das irgendwie was von php.net? Die doku oder so?

    PS: Deine Antwort hätte ich jetzt nicht als Kritik aufgefasst

    Gruß

    CueP

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Ganz einfacher Fall (keine Kritik): Requestdaten halten nur für das aufgerufene Script. Da auswertung.php lediglich ein Button Feld im Form enthält, ist dessen Wert das einzige, was in redirect.php an POST Daten ankommt.

    Lösungen:
    - hidden fields (<input> mit hidden Type)
    - Sessions oder sonstige serverseitige Datenspeicherung

    Die Lösung mit dem Backlink ist sowieso nicht ideal. Um beide Probleme gleichzeitig zu lösen schau Dich mal nach dem Stichwort "Affenformular" um (gibts auch was im Manual zu).

    Einen Kommentar schreiben:


  • cuep
    antwortet
    @ Hu5eL das habe ich noch nicht ausprobiert werde ich aber morgen mal machen und bescheid sagen.
    Eigentlich ne gute Idee was man eigentlich auch mal gelernt hat sich ab und zu mal was ausgeben zu lassen.

    Nein das war nicht falsch formuliert, weil in der E-Mail als Text nur Array ausgegeben wurde.
    Ich? schnell aufgeben? Nein nein. Wenn ich wo dran bin dann Stunde und mehr.
    Kann die Codes + Erläuterung gerne Posten kein prob.

    Datei 1 formular.php
    Code:
     <form method="post" action="auswertung.php">
     
    Herr       <input type="radio" name="titel" value="Herr" /> &nbsp;
    Frau       <input type="radio" name="titel" value="Frau" /><br /><br />
    Name:*<br />    <input type="text" name="name"  /><br /> 
    Vorname:*<br />    <input type="text" name="vorname" /><br />
    Strasse / Hausnummer: <br /><input type="text" name="strasse" /> &nbsp; <input type="text" name="hausnummer" maxlength="3"/><br />
    Ort / Plz: <br />   <input type="text" name="ort" /> &nbsp; <input type="text" name="plz" maxlength="5" /><br />
    E-Mail:* <br />    <input type="text" name="e-mail" /><br />
    Betreff:* <br />
    <select name="betreff" size="1" >
     <option value="">---Bitte W&auml;hlen---</option>
        <option>Frage zu...</option>
        <option >Kritik</option>
        <option >Sonstiges</option>
    </select><br /><br />
    <textarea cols="30" rows="20" name="textfeld"></textarea><br /><br />
    <input type="submit" name="submit" value="Senden" />
     
     
        </form>
    Datei 2 auswertung.php

    Hier werde die daten nochmals ausgegeben damit evt. Fehleingaben verbessert werden können. Die mit include eingebunden formcheck.php kontrolliert lediglich ob pflichtpfelder ausgfüllt sind also ist vorerst passiv von Interesse

    Code:
    include('formcheck.php');
     
     echo "Bitte überprüfen Sie nochmals Ihrer Daten<p></p>";
     
     echo $_POST['titel'] . "<br />";
     echo "<b>Name:</b> " . $_POST['name'] . "<br />";
     echo "<b>Vorname:</b> " . $_POST['vorname'] . "<br />";
     echo "<b>Strasse:</b> " . $_POST['strasse'] . "<br />";
     echo "<b>Hausnummer:</b> " . $_POST['hausnummer'] . "<br />";
     echo "<b>Ort:</b> " . $_POST['ort'] . "<br />";
     echo "<b>Postleitzahl:</b> " . $_POST['plz'] . "<br />";
     echo "<b>E-Mail:</b> " . $_POST['e-mail'] . "<br />";
     
    ?>
     
     
    <html>
    <body>
    <form method="POST" action="redirect.php">
    <input type="submit" name="ok" value="Senden" /> &nbsp; 
    <a href="formular.php">Zurueck</a>
    </form>
    </body>
    </html>
    Datei redirect.php soll das ganze dann abschicken.

    Code:
    <?php 
      include('auswertung.php');
     $message = "";
     
     $message  = $_POST['name'];
     $message .= $_POST['vorname'];
     
     
     
     $emailAdresse = 'sende@zu.de';         
     $emailBetreff = "Anfrage";           
     $absender  = 'From: absender@yourdomain.de' . "\r\n" .  
             'Reply-To: antwort@yourdomain.de';   
     
     
     
     if (isset($_POST['ok']))
     {
     
     
      mail($emailAdresse,$emailBetreff,$message,$absender);
     }
     
    header("Location: successful.php");
    ?>
    Damit hier jetzt nicht tage lang die anfänger Code's studiert werden müssen schreibe ich noch mal kurz mein Vorhaben.

    Formular.php

    Stellt das Formular dar und schickt die daten an die auswertung.php

    auswertung.php

    Zeigt dem Benutzer seine Eingaben und bei klick auf senden geht es per method="post" und action="redirect.php" zu redirect.php

    redirect.php (die datei heisst so weil die erst für was anders fungierte)

    Soll die daten an die angegeben E-Mail adresse schicken.
    So dann bin ich mal gespannt Und bitte nicht so hart mit der Kritik bin noch frisch in Sachen PHP.

    Gruß

    CueP

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Vermutlich hast Du method="POST" im Form vergessen. Obwohl, wenn vorher ne Mail verschickt wurde, kanns das eigentlich nicht sein. Wie gesagt, vermutlich, denn ohne unseren Kaffesatz sind wir wohl auf einiger Code-Postings Deinerseits angewiesen.

    Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.
    Ich hoffe, das war nur schlecht formuliert. mail erzeugt nämlich keine Ausgabe.
    Naja werde mal bisschen weiter im I-Net suchen mal sehen was finde.
    Trotzdem Danke.
    Du gibst ja schnell auf. In jedem Forum kann Dir nur auf Grund der übermittelten Antworten geantwortet werden.

    Einen Kommentar schreiben:


  • Hu5eL
    antwortet
    was passiert wenn du vor
    mail(...)
    dir mal den inhalt von $message ausgeben lässt?

    Einen Kommentar schreiben:


  • cuep
    antwortet
    Danke

    Danke Hu5eL für die schnelle und hilfreiche Antwort.
    Leider war es das noch nicht ganz. Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.

    Naja werde mal bisschen weiter im I-Net suchen mal sehen was ich finde.
    Trotzdem Danke.

    Einen Kommentar schreiben:


  • Hu5eL
    antwortet
    PHP-Code:
    $message ""
    sollte das heißen, da funktioponiert der erste fehler wenigstens..

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Weil Du $message als Array deklarierst.
    Stell error_reporting auf E_ALL und lies die auftretende Fehler Notice.

    Wenn alles funktioniert, setze Dich bitte mit dem Problem der Email Header Injection auseinander.

    Einen Kommentar schreiben:

Lädt...
X