Heiko Hirsch: Kurioses Problem

Hallo,
ich habe ein html-Formular, das u.a. Anrede, Name, Vorname, Strasse, PLZOrt übergibt.
Das ganze wird an eine PHP-Datei übergeben.

Die Variablen hab ich in der php-Datei definiert:
Ausschnitt php-Datei:
<?php
$anrede = $_POST["anrede"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$strasse = $_POST['strasse'];
$plzort = $_post['plzort'];
$tel = $_post['tel'];

Weiterer Ausschnitt PHP-Datei:

<?php
$subject = "Der Betreff";
$from = "mail@mail.de";
$to = "mail@mail.de";
$message = "Bestellung von " .$anrede. "\n\n"

.$vorname. "\n\n"
 .$nachname. "\n\n"
 .$strasse. "\n\n"
 .$plzort. "\n\n"
 .$tel. "\n\n" .

-->> Es wird in der Mail nur die Anrede, der Vorname und der Nachname übertragen, obwohl in der html-Datei die Straße, die PLZOrt und die Telefonnummer mit übertragen wird.
Woran kann das liegen

"";
$laengeemail = strlen($email);
// if ($laengeemail > 5) {
mail ($to,$subject,$message,"From: $from");
echo "<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">";
echo "<center>";
echo "Das E-Mail wurde versendet!";
echo "<br><br>";
echo "<a href="javascript:top.window.close()"><font size="2" face="Arial">Schließen</font></a>";
echo "</center>";

?>

<?php

// $message =  "Diese Nachricht wurde von einem PHP-SCript erzeugt. \n"

//              .= "Der eingegebene Anrede lautet: ". $anrede ."\n";
  //             .= "Der eingegebene Name lautet: ". $vorname ."\n";

?>

  1. $nachname = $_POST["nachname"];
    $strasse = $_POST['strasse'];

    Habs gesehen da fehlt das ".
    Allerdings geht es mit dem Anführungszeichen auch nicht :(

  2. Hallo,

    <?php
    $anrede = $_POST["anrede"];
    $vorname = $_POST["vorname"];
    $nachname = $_POST["nachname"];
    $strasse = $_POST['strasse'];
    $plzort = $_post['plzort'];
    $tel = $_post['tel'];

    Das Umkopieren der Variablen aus dem Post-Array ist vollkommen nutzlos.
    Um zu sehen, welche Parameter überhaupt mit dem Post übertragen werden, bau stattdessen mal

    echo "<pre> \n";
    echo htmlspecialchars(print_r($_POST,1));
    echo "</pre> \n";

    ein

    Übrigens ist PHP bezüglich der Bezeichner im $_POST-Array case sensitive, achtet also auf die Groß-/Kleinschreibung

    LG
    Chris©

    1. Nochmal  Hallo,

      $plzort = $_post['plzort'];
      $tel = $_post['tel'];

      Das Array heißt außerdem $_POST und nicht $_post oder $_Post

      LG
      Chris©

      1. Das Array heißt außerdem $_POST und nicht $_post oder $_Post

        Danke Chris,
        mittlerweile überträgt er alles bis auf die Variable strasse und die Variable tel (für Telefonnummer)

  3. echo $begrüßung;

    Woran kann das liegen

    Es ist eine gute Idee, beim Entwickeln das error_reporting auf E_ALL zu stellen (und display_errors auf on), um Hinweise bei Zugriffen auf nicht vorhandene Variablen angezeigt zu bekommen. Das hilft, Tippfehler zu finden. Logische Fehler findet man mittels Kontrollausgaben. Die meisten Fehler beruhen darauf, dass der Inhalt einer Variablen ein anderer ist, als man es sich vorgestellt hat. Ein einfaches echo kann schon helfen, Wunsch und Wirklichkeit miteinander zu vergleichen, deutlich genauer ist aber var_dump().

    echo "$verabschiedung $name";

  4. Vielen Dank für die Antworten.
    Nun ich habe es immer und immer wieder geprüft und der Fehler ist weiterhin aufgetreten, er hat nicht alle Variablen per Mail weitergeleitet.

    Komischerweise ging es nach einem Neustart meines PC´s.

    Kann es sein, das irgendwo noch Variablen im Cache vom Browser waren oder wie auch immer?
    Mir ist das ganze unerklärlich.

    Trozdem habe ich mit den Antworten die ich hier erhalten habe einige wertvolle Tipps erhalten, vielen Dank dafür.

  5. In den nächsten 100 Jahren wird wohl kaum einer das Formular benutzen wenn
    man bedenkt, daß sich bisher nur 13 von den 8362 Seitenbesuchern ange-
    meldet haben. Eine E-Mail-Adresse reicht vollkommen aus.

    1. Es sei denn Du hast ein neues, tolles Projekt wo mal mehr als 13 Leutchen
      Interesse zeigen.