Moritz Diekmann: Was ist hier falsch?

Hallo,

ich poste hier jetzt zum zweiten mal, weil ich mir wirklichnicht erklären kann, warum mein PHP Skript mein Flashformular auf der Seite: www.freshmilklive.de micht korrekt auswertet.

Das Skript lautet:

<?php

$message = "name: ".$name."\nEmail: ".$email."\nMessage:

".$message;

mail(info@freshmilklive.de", $subjekt, $message, "FROM: PHPMAiler\nReply-To: $email\nX-Mailer: PHP/" . phpversion());

?>

Was ist falsch, muss ich es auf dem Server besonders einbinden?

Zur Zeit liegt es im selben order wie die swf Datei.

Danke und Gruß
MOritz

  1. Halihallo Moritz

    $message = "name: ".$name."\nEmail: ".$email."\nMessage:

    Woher kommt $name und $email? - Falls diese vom Formular (den Parametern) kommen, so
    verwende ab jetzt $_GET oder $_POST (s. Formular-Methode), denn $name und $email sind
    seit PHP 4.? per default nicht mehr zugreifbar (php.ini: register_globals=off seit
    eben PHP 4.?).

    mail(info@freshmilklive.de", $subjekt, $message, "FROM: PHPMAiler\nReply-To: $email\nX-Mailer: PHP/" . phpversion());

    Es fehlt ein (") vor der E-Mail Adresse.

    Was ist falsch, muss ich es auf dem Server besonders einbinden?

    Ich könnte mir vorstellen, dass es eben an register_globals=off hängt. Verwende $_GET
    bzw. $_POST. Ansonsten fehlt mir eine genaue Fehlerbeschreibung!

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  2. Hi,

    micht korrekt auswertet.

    Wie äußert sich das?

    $message = "name: ".$name."\nEmail: ".$email."\nMessage:

    $_GET[] bzw. $_POST[]

    mail(info@freshmilklive.de", $subjekt, $message, "FROM: PHPMAiler\nReply-To: $email\nX-Mailer: PHP/" . phpversion());

    Da fehlt ein Anführungszeichen.

    Schönen Gruß,
    Julian

  3. Hallo,

    ich poste hier jetzt zum zweiten mal, weil ich mir wirklichnicht erklären kann, warum mein PHP Skript mein Flashformular auf der Seite: www.freshmilklive.de micht korrekt auswertet.

    Um das Problem einzukreisen, koenntest Du ja mal auf das Flash-Zeugs
    verzichten und die Variablen $message und $subjekt gleich im PHP-Skript
    selbst festlegen.

    Vielleicht liegt es ja auch an register_globals=ON?
    Die Variablen aus dem Formular solltest Du mit
    $_POST['message'], $_GET['message']  oder $_REQUEST['message']
    uebernehmen, und nicht einfach mit $message.

    Mit dem Befehl
    print_r($_POST); bzw. print_r($_GET);  bzw. print_r($_REQUEST);
    kannst Du ja mal schauen, was so fuer Variablen uebergeben wurden.

    $message = "name: ".$name."\nEmail: ".$email."\nMessage:".$message;

    (IMHO falscher) Zeilenumbruch entfernt.
    Warum nicht einfach so:
    $message = "name: $name\nEmail: $email\nMessage: $message";

    mail(info@freshmilklive.de", $subjekt, $message, "FROM: PHPMAiler\nReply-To: $email\nX-Mailer: PHP/" . phpversion());

    * Ist $subjekt definiert?
    * Lass mal das vierte Argument weg.
    * Im FROM sollte vielleicht eine E-Mail-Adresse stehen, und nicht bloss ein String.

    Zur Zeit liegt es im selben order wie die swf Datei.

    Das ist PHP herzlich egal. Und auch, was es fuer ein Formular ist
    (sofern Flash in der Lage ist, ein Formular abzuschicken)

    HTH, Gruesse,

    Thomas