[PHP] Formmailer - Wieso klappt es nicht?

He4db4nger

Commodore Pro
Registriert
Feb. 2007
Beiträge
4.158
hi ihrs,

hab ne kleine Seite eingerichtet auf der sich Leute anmelden können. Das Ganze hatte auch mal funktioniert nur jetzt irgendwie nicht mehr. Es sind 3 Eingabefelder, die an eine formmailer.php übergeben werden sollen und die kommen dann direkt zu mir ins Email-Postfach. Problematisch dabei ist nun, dass weder die Variable $betreff noch $message übernommen wird. Das einzige was kommt sind leere Emails.
Hier mal die entsprechenden Codeschnippsel:

Code:
<form action="formmailer.php" method="post">
<input name="thankyou" value="Vielen Dank für Ihre Mail." type="hidden">
<input name="betreff" value="bliblablubb" type="hidden">
 eMail-Adresse:<input name="email">
 Kampfname: <input name="nick"> 
 Richtiger Name: <input name="name2"> 
</form>

Ich hab mal die ganzen <br> und <div> und so rausgenommen, stört ja nur ^^

Code:
<?
    $message = "";
 if (!empty($HTTP_GET_VARS)) 
 {
   while(list($name2, $nick) = each($HTTP_GET_VARS))
   $message.="$name2 = $nick\n";
 }
 if (!empty($HTTP_POST_VARS)) 
  {
  while(list($name2, $nick) = each($HTTP_POST_VARS))
  $message.="$name2 = $nick\n";
  }
 
  $message=rawurldecode($message);
  $message=str_replace("+", " ", $message);  
    mail("[EMAIL="zensur@zensur.eu"]zensur@zensur.eu[/EMAIL]", "$betreff", $message, "From: $email");
 ?>
 
  <? 
  echo $thankyou;
  ?>

Also ich mein, das ist jetzt eig. schon ein Copy&Paste von php-tutorials und trotzdem funktioniert das nicht (mehr)? Also ich steh grad echt aufm Schlauch und sorry, falls das schonmal irgendwo steht. Danke schonmal im Vorraus.
 
Zuletzt bearbeitet: (Verweise auf Homepage entfernt, bevors noch als Werbung gewertet wird.)
Nimm von diesem Code direkt Abstand.

Wenn du weißt, was für Variablen dein Formular hat, dann nimm doch direkt
$_POST["betreff"]
$_POST["message"]
 
AW: [PHP] Formmailer - epic fail

das script benutzt HTTP_GET_VARS u. HTTP_POST_VARS. also register_globals=on nötig!!!
dazu in der php-doku:
!!!Warning!!!

This feature has been DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

abgesehen davon sollte man die eingaben überprüfen, also sei froh das es nicht funktioniert, sonst hättest einen spamserver am laufen

das du auf dem schlauch stehst ist nicht verwunderlich, evt solltest du dir auch ein paar tutorials durchlesen anstatt nur copy&paste zu benutzen.
 
ok, danke schonmal für die Antwort, schön grade raus, is viel besser so =)

@x81: Nja, bei strato läuft aber php5.x. die formmailer tutorials laufen aber immer auf exorbitante projekte raus die man so bei google findet. und das von php tutorials (wo auch der krempel erklärt wurde) lief ja mal eigentlich, aber vermutlich ging da vom update von php4 auf php5 bei strato was flöten und zack, klappts nicht mehr.

dann kuck ich jetzt halt mal, dass das mit dem $_POST hinkrieg und das sollte reichen.

was meinst du eig. mit eingaben überprüfen? Die Leute geben da ihren Namen und ihre email - Adresse ein, was kann man denn da prüfen? oO
 
Zuletzt bearbeitet:
Jap, in die formmailer. Zur einfacheren Handhabung kannst die POST-Variablen noch Arbeitsvariablen zuweisen. z.B. $mail = $_POST['email']
das erleichtert deinen Zugriff.
 
nur noch ne blöde frage: kommt das mit dem _POST in die formmailer.php, fliegt die formmailer.php komplett raus oder kommt das in die html datei (wohl eher nicht)

das ist eine wirklich verdammt blöde frage......
 
Zurück
Oben