Maverick: Variablen aus Link in Mail

Hallo Zusammen,
Ich habe einen Link in welchen verschiedene Variablen übergeben werden.
Wie beispielsweise http://meinedomain.com/template.php&Name=Name&Strasse=Strassennamen

Diese Variablen lese ich über get in mein Formular auf der Webseite ein. Dies funktioniert auch wunderbar und die Daten werden angezeigt.
In meinem PHP Teil in dem ich die Mail erstelle und versende erstelle ich neue variablen mit dem Inhalt der Variablen im Link.

Mein PHP Teil sieht so aus:

<?php
$Name2= $_GET["Name2"];
$Strasse=$_GET["Strasse"];
$PLZ=$_GET["PLZ"];
$Ort=$_GET["Ort"];
$Telefon=$_GET["Telefon"];
if(isset($_POST["submit"]))
{
$Name= $_GET['Name'];
$empfaenger = 'Mailadresse';
$betreff = 'Betreff';
$from = "Content-Type:text/html\r\n";
$from .=  "From: maladresse\r\n";
$text = '
        <html><head><title>Title</title></head>
        <body>
        <table border=0 style="font-family:calibri,sans-serif;">
        <tr><td>Kunde: </td><td>'.$Name.'</td></tr>
        </table>
        </body>
        </html>';
mail($empfaenger, $betreff, $text, $from);
}
?>
Versende ich die Mail so kommt diese auch an, jedoch sind die Variablen leer.  Daher habe ich versucht die Variablen im Formular durch zu schleifen.
Leider habe ich jetzt das Problem das der Komplette Inhalt aller Variablen in die erste Variable im Formular schreibt.
Mein Formular:
<form name="Terminbe"  action="<?php print $_SERVER['PHP_SELF'] . '?Name=' . $_GET['Name'] .  $_GET['Name2'] . $_GET['Strasse'] . $_GET['PLZ'] .  $_GET['Ort'] . $_GET['Thema'] . $_GET['Datum'] . $_GET['Begin'] .$_GET['Ende'];  ?>" method="post">

Was mache ich hier falsch?

  1. Ich habe einen Link in welchen verschiedene Variablen übergeben werden.
    Wie beispielsweise http://meinedomain.com/template.php&Name=Name&Strasse=Strassennamen

    Parameter heissen die Dinger, nicht Variablen.

    Mein PHP Teil sieht so aus:

    $Name2= $_GET["Name2"];
    $Strasse=$_GET["Strasse"];

    Daten aus den $_GET- und $_POST-Bunkern in andere Variablen zu schieben, ist eine PHP-Unsitte. Irgendwer hat das wohl mal vorgemacht und jetzt machen's alle nach, ohne über den Nutzen nachzudenken - den hat das _so_ nämlich nicht. Der Inhalt ist in $_GET["Name2"] genauso gut aufgehoben wie in $Name2. Schlimmer noch, mit der blinden Übernahme in eigene Variablen verschleierst du die überaus gefährliche, da öffentliche Herkunft der Daten:

    $Name= $_GET['Name'];

    $text = '

    <tr><td>Kunde: </td><td>'.$Name.'</td></tr>

    Das ist jetzt ganz blöd, wenn ich pöser Pube dein "PHP Teil" mit HTML-Code statt meines Namens im Parameter Name aufrufe. Würde die Ausgabe in eine Webseite statt in eine Mail gehen, wären mit etwas Javascript-Würze auch ganz besonders lustige Spielereien möglich.

    Befasse dich dringend mit htmlspecialchars() oder htmlentities(). (Aber keine Sorge, du bist nicht allein. Selbst Banken lassen sich in ihren Kontozugänge gern mal fremden Code unterjubeln.)

    Versende ich die Mail so kommt diese auch an, jedoch sind die Variablen leer.

    Welche Variable_n_? In der Mail benutzt du nur eine, $Name.

    Davon unabhängig: Eingangs schriebst du noch …

    Diese Variablen lese ich über get in mein Formular auf der Webseite ein. Dies funktioniert auch wunderbar und die Daten werden angezeigt.

    Wenn die Daten per Ausgabe im Formular angezeigt werden, aber nichts in die Mail ausgegeben wird, muss irgendein Unterschied zwischen Formular- und Mailausgabe bestehen. Du hast leider keinen Code eingefügt, der die Formularausgabe demonstriert, insofern ist eine Fehlersuche hier nicht möglich. Vergleiche beide Teile selbst und finde den Unterschied.

    Leider habe ich jetzt das Problem das der Komplette Inhalt aller Variablen in die erste Variable im Formular schreibt.

    Der Inhalt schreibt in eine Variable? Das kann nicht sein, Inhalt ist tote Materie, der kann nicht schreiben.

    Mein Formular:
    <form name="Terminbe"  action="<?php print $_SERVER['PHP_SELF'] . '?Name=' . $_GET['Name'] .  $_GET['Name2'] . $_GET['Strasse'] . $_GET['PLZ'] .  $_GET['Ort'] . $_GET['Thema'] . $_GET['Datum'] . $_GET['Begin'] .$_GET['Ende'];  ?>" method="post">

  2. Hallo,

    $Name2= $_GET["Name2"];
    $Strasse=$_GET["Strasse"];
    $PLZ=$_GET["PLZ"];
    $Ort=$_GET["Ort"];
    $Telefon=$_GET["Telefon"];

    zum sinnlosen Umkopieren hat sich Waldemar schon ausführlich geäußert. Dem schließe ich mich an.

    $text = '
            <html><head><title>Title</title></head>
            <body>
            <table border=0 style="font-family:calibri,sans-serif;">
            <tr><td>Kunde: </td><td>'.$Name.'</td></tr>
            </table>
            </body>
            </html>';
    mail($empfaenger, $betreff, $text, $from);
    }

    Versende ich die Mail so kommt diese auch an, jedoch sind die Variablen leer.

    Ähm, nein, aber du benutzt sie ja überhaupt nicht.

    Mein Formular:
    <form name="Terminbe"  action="<?php print $_SERVER['PHP_SELF'] . '?Name=' . $_GET['Name'] .  $_GET['Name2'] . $_GET['Strasse'] . $_GET['PLZ'] .  $_GET['Ort'] . $_GET['Thema'] . $_GET['Datum'] . $_GET['Begin'] .$_GET['Ende'];  ?>" method="post">
    Leider habe ich jetzt das Problem das der Komplette Inhalt aller Variablen in die erste Variable im Formular schreibt.

    So steht's im action-Attribut deines Formulars: Du hast *einen* Parameter "Name", und dessen Wert bildest du, indem du die Werte aller Variablen aneinanderhängst. Wo sind die Trennzeichen und die Namen der restlichen Parameter?

    Ciao,
     Martin

    --
    why the heck do you jerk think, that wir ein doppelposting nicht bemerken, wenn you zwischendurch the sprache wechselst?
      (wahsaga)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(