Tabelle > Daten > Variable > Mail

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

  • Tabelle > Daten > Variable > Mail

    Hallo,
    ich habe gestern angefangen mich mit PHP zu beschäftigen und stehe jetzt vor einem Problem:

    Es soll die ausgabe.php aufgerufen werden, nachdem das Formular ausgefüllt wurde und DIE Daten in
    einer Tabelle anzeigen, welche auch tätsächlich eingetragen wurden. Das klappt soweit, sicherlich
    etwas umständlich und es wäre vielleicht mit ner Schleife einfacher, jedoch hab ich keine Ahnung wie
    ich ne Schleife programmiere welche diese Daten sammelt und sie in einer Tabelle formatiert anzeigt.

    Das Problem besteht jetzt darin, das diese angezeigte Formatierung der Daten auch SO per Mail verschickt
    werden soll, damit die Bearbeiter einen schnellen Überblick bekommen. Die bisherigen Versuche sind jedoch
    gescheitert und zeigen Fehler an.
    Woran kann das liegen oder welche Erfahrungenbzw. Vorschläge habt ihr? Danke.


    Server_Software : Apache/1.3.27 (Linux/SuSE) mod_python/2.7.8 Python/2.2.2 PHP/4.3.1 mod_perl/1.27 mod_ssl/2.8.12 OpenSSL/0.9.6i


    --- ausgabe.php ---

    <form name="mail" method="post" action="mail.php">
    [color=blue]<? $daten=" /* die Anzeige der Daten klappt soweit nur ohne diese Zeile und zugehöriges Ende */[/color=blue]
    <table border="0" cellpadding="2" cellspacing="0" class="table_content">
    <? if ($name != null) { echo "<tr><td>Name:</td><td>&nbsp;$name</td></tr>"; } else { } ?>
    <? if ($vorname != null) { echo "<tr><td>Vorname:</td><td>&nbsp;$vorname</td></tr>"; } else { } ?>
    <? if ($geburtsdatum != null) { echo "<tr><td>Geburtsdatum:</td><td>&nbsp;$geburtsdatum</td></tr>"; } else { } ?>
    <? if ($strasse != null) { echo "<tr><td>Strasse:</td><td>&nbsp;$strasse</td></tr>"; } else { } ?>
    <? if ($ort != null) { echo "<tr><td>Ort:</td><td>&nbsp;$ort</td></tr>"; } else { } ?>
    <? if ($plz != null) { echo "<tr><td>PLZ:</td><td>&nbsp;$plz</td></tr>"; } else { } ?>
    <? if ($mailadresse != null) { echo "<tr><td>e-mail:</td><td>&nbsp;$mailadresse</td></tr>"; } else { } ?>
    <? if ($telefon != null) { echo "<tr><td>Telefon:</td><td>&nbsp;$telefon</td></tr>"; } else { } ?>
    </table>";
    ?>
    </form>



    --- mail.php ---

    <?
    $mail_empfaenger="info@webseite.de";
    $mail_absender="webseite.de";
    $betreff="Formular";
    $text="$daten";
    mail($mail_empfaenger, $betreff, $text,"from:$mail_absender\r\
    nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n");
    print "email wurde verschickt";
    ?>

    -----------------------------

    Ich hoffe Ihr könnt mir helfen und schonmal Danke im vorraus.
    Zuletzt geändert von smartdragon; 07.08.2003, 08:40.
    Ein Sechser im Lotto und entdecke die Möglichkeiten.

  • #2
    Moin!

    Ich fürchte so funktioniert das nicht... Mal ins PHP-Handbuch geguckt?

    Eine kleine Anleitung...

    formular.php:

    PHP-Code:
    <form name="mail" method="post" action="mail.php">
    <input type="text" name="emailtext" value="<?
    /* hier jetzt deine Tabelle aufbauen */
    ?>">
    <input type="submit" value="senden">
    </form>
    mail.php:

    PHP-Code:

    $mail_empfaenger
    ="info@webseite.de"
    $mail_absender="webseite.de";
    $betreff="Formular";
    $text=$_POST[emailtext];
    mail($mail_empfaenger$betreff$_POST[emailtext], "from:$mail_absender\r\
    nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n"
    );
    print 
    "email wurde verschickt"
    Die Tabelle musst du in mail.php aufbereiten oder in deiner formular.php ein hidden Feld machen, in das du die Tabelle schreibst und das dann auch per POST übergeben. Auf das hidden-Field kannst du dann auch genau wie auf die anderen Felder mit $_POST[feldname] zugreifen.

    Ich hoffe das hilft.

    Gruss

    Yezariel
    mens agitat molem

    Kommentar


    • #3
      Danke, aber das klappt so leider nicht, ich habe 3 Dateien:

      --formular.php--

      <form name="wunschzettel" method="post" action="send1.php">
      <table class="table_content" border="0" cellspacing="0" cellpadding="2">
      <tr>
      <td>Name:</td>
      <td><img src="tranzparenz.gif" width="10" height="10"></td>
      <td> <input type="text" name="name"> </td>
      </tr>....weitere Eingabefelder und Checkboxen...



      --ausgabe.php-- //diese Datei gibt nur [color=red]die[/color] Daten wieder welche eingetragen worden sind um den User nochmal die Sachen auf Richtigkeit überprüfen zu lassen. Die Daten werden dabei in einer Tabelle angezeigt.

      <div class="div_content">
      <form name="mail" method="post" action="mail.php">
      <table border="0" cellpadding="2" cellspacing="0" class="table_content">
      [color=blue] <? if ($name != null) { echo[/color] "<tr><td>Name:</td><td>&nbsp;$name</td></tr>";[color=blue] } else { } ?>
      <? if ($vorname != null) { echo [/color]"<tr><td>Vorname:</td><td>&nbsp;$vorname</td></tr>";[color=blue] } else { } ?>[/color].....


      --mail.php-- // diese Datei soll die in der ausgabe.php angezeigten Daten mit der Tabellenformatierung per Mail senden nur Erhalte ich immer Fehler wenn ich Versuche alles von <table border="0" .... bis </table> in einer Variablen zu speichern.

      <?
      $mail_empfaenger="user@webseite.de";
      $mail_absender="webseite.de";
      $betreff="Formular";
      $text="$daten"; [color=red]// möchte die Tabelle samt Daten & Formatierung hierdrin speichern [/color]
      mail($mail_empfaenger, $betreff, $text,"from:$mail_absender\r\
      nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n");
      print "email wurde verschickt";
      ?>

      Ein Sechser im Lotto und entdecke die Möglichkeiten.

      Kommentar


      • #4
        Dann würde ich in deiner ausgabe.php anstatt die Daten mit echo auszugeben, die Tabelle in einer Variablen speichern und wenn die Tabelle fertig aufgebaut ist, die Variable mit echo ausgeben und gleichzeitig die gleiche Variable in einer Session speichern. Dann kannst du in deiner mail.php die Session wieder auslesen und die Daten verschicken.

        Guck dir mal die Session-Verarbeitung im PHP-Handbuch an. Das ist an sich ganz einfach.

        Gruss

        Yezariel
        mens agitat molem

        Kommentar


        • #5
          Das hört sich interessant an. Nur Leider fängt das Problem da schon an, ich bekomme einen Fehler wenn ich versuche die Tabelle in einer Variable zu speichern:

          [color=blue]<? $daten=" [/color]<table border="0" cellpadding="2" cellspacing="0" class="table_content">
          [color=blue] <? if ($name != null) { echo[/color] "<tr><td>Name:</td><td>&nbsp;$name</td></tr>";[color=blue] } else { } ?>[/color]


          nachdem in der 1. Programmzeile alle Formatierungen rausgenommen sind und nur noch <table> bleibt nimmt der Parser dies und meldet in der 2. Programmzeile einen Fehler. Nun ist aber gerade die Darstellung der Daten in der Tabelle nach einer Form wichtig.
          Ein Sechser im Lotto und entdecke die Möglichkeiten.

          Kommentar


          • #6
            Probier's mal so:

            PHP-Code:

            <? 
            $daten=' <table border="0" cellpadding="2" cellspacing="0" class="table_content">';

            if ($name != null) { echo '<tr><td>Name:</td><td> $name</td></tr>'; } else { } 

            ?>
            Du solltest für HTML-Content immer einfache Anführungszeichen benutzen, es sei denn du hast Variablen drin. Dann solltest du eine Zeichenkettenverknüpfung mit Punkt machen. Beispiel:

            PHP-Code:

            $var
            ='<table border="'.$border.'">'
            Ausserdem: RTFM!!!

            Gruss

            Yezariel
            mens agitat molem

            Kommentar


            • #7
              Danke, und ich RTFM! nur ist es nicht so einfach auf Anhieb die Stelle zu finden and er soetwas stehen könnte, aber nach einer gewissen Zeit...
              Ein Sechser im Lotto und entdecke die Möglichkeiten.

              Kommentar


              • #8
                O.k. das speichern der Formatierungen (HTML) in der Variable, so wie du beschrieben hast, klappt nicht. Ich kann also durch [color=blue]<? echo $daten; ?> und <? echo $daten; ?>[/color] Die Daten nicht zweimal aufrufen.
                Dies klapp jedoch bei <? $var = 5; ?>
                Kann man überhaupt Tabellenformatierungen mit Varibalen in Variablen speichern?

                und ITFM hab ich nichts gefunden..
                Zuletzt geändert von smartdragon; 07.08.2003, 18:14.
                Ein Sechser im Lotto und entdecke die Möglichkeiten.

                Kommentar

                Lädt...
                X