AndreD: Variablen im Mail-Befehl

Beitrag lesen

Hallo Mensch Frauke :-)

ja, es geht ja darum, dass ich das Script von selfphp.info erstmal zum laufen kriege, weil dann dürfte es sich relativ problemlos anpassen lassen. Finde es erstaunlich, dass das Script einer php-Lernpage nicht funktioniert.

Ja, ich habs mir schon heute morgen angeschaut, das ist wohl noch ein Überbleibsel von vor PHP 4.2, ab da sind standardmässig die Reg. Globals auf Off, eben aus Sicherheitsgründen. Vergiss doch mal das Beispielscript ;-) und versuche es selbst hinzubekommen. Als kleine Hilfe mal ein rudimentäres Codebeispiel, sollte so auf jeden Fall funktionieren:

/*
 * formular.htm:
 */

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title>Formular</title>
</head>
<body>
  <form action="formhandler.php" method="post">
    <input type="text" name="name">
    <input type="submit" name="Senden" value="Senden">
  </form>
</body>
</html>

In der action steht die Datei welche die Daten entgegen nimmt, Du kannst auch <?php $_SERVER["PHP_SELF"] ?> einsetzen wenn es sich um eine PHP-Datei handelt die sich selbst aufrufen soll. IMHO ist es aber so sauberer, da man Html- und PHP-Code schön trennen kann.
method ist die Art der Übergabe: Für Formulare gibt es post und get, in der Regel wird post verwendet, die Daten werden somit nicht in der URL übermittelt was die Sache nochmal sicherer macht. get bietet sich z.B. bei Suchmaschinen (siehe Google) an.

/*
 * formhandler.php:
 */

<?php

$name = $_POST["name"];

echo( "Name: " . $name );

?>

Beachte das die Felder in der globalen Variablen gleich wie Deine entprechenden name-Attribute der input-Felder heissen müssen. Diese übergibst Du an eine lokale Variable (hier $name) und verarbeitest diese beliebig weiter, z.B. Ausgabe, Datenbank, mail() etc...

Es fehlt natürlich noch die Fehlerbehandlung und Anzeige sowie die obligatorische "Vielen Dank"-Seite. Aber es geht ja mal nur rein um die Übergabe der Variablen. Ich hoffe das es Dir weiterhilft!

Gruss AndreD