Dev: echo wird nicht "ausgeführt"

Beitrag lesen

Hi,

Dein Fehler liegt bei den Valueausgaben der Einagbefelder

<input type="text" name="email" id="email" size="50" value="'.(isset($_POST['email'])) ? $_POST['email'] : ''.'" />

muss heißen

<input type="text" name="email" id="email" size="50" value="'.$_POST['email'].'">

denn wenn POST nicht gefüllt ist, wird auch nichts angezeigt. Deshalb brauchst du nicht abfragen.

Gruss
Dev

Hallo!

Ich habe gerade mal für ein kleines Projekt einen Formmailer geschrieben, den ich nun testen wollte. - Ja, wollte, denn komischerweise wird mir das "echo" welches das Formular ausgibt nicht "ausgeführt", und ich komm einfach nicht drauf, warum... Hier einstweilen der code:

<?php

if(isset($_POST['name']) || isset($_POST['email']) || isset($_POST['text']))
{
  $from = "Formmailer @ meine-webseite.at";
  $to = "mail@example.com";
  $subject = "Formmailer - Feedback";
  $text = "Nachricht von ".$_POST['name']." &lt;".$_POST['email']."&gt;\r\n".$_POST['text']."\r\nIP: ".$_SERVER['REMOTE_ADDR'];

mail($to, $subject, $text, "From: ".$from);

header("Location: http://www.meine-webseite.at/");
}
else
{
   echo '
    <form method="post" action="testdocument.php">
<table>
  <tr>
   <td><label for="name">Name</label></td><td><input type="text" name="name" id="name" size="50" value="'.(isset($_POST['name'])) ? $_POST['name'] : ''.'" /></td>
  </tr>
  <tr>
   <td><label for="email">eMail</label></td><td><input type="text" name="email" id="email" size="50" value="'.(isset($_POST['email'])) ? $_POST['email'] : ''.'" /></td>
  </tr>
  <tr>
   <td><label for="text">Nachricht</label></td><td><textarea cols="30" rows="20" name="text" id="text">"'.(isset($_POST['text'])) ? $_POST['text'] : ''.'"</textarea></td>
  </tr>
  <tr colspan="2">
   <input type="reset" value="Zurücksetzen" />&nbsp;<input type="submit" name="submit" value="Abschicken" />
  </tr>
</table>
</form>
  ';

if(!isset($_POST['name']))
    echo 'Bitte geben Sie einen Namen ein!<br />';
  if(!isset($_POST['text']))
    echo 'Bitte geben Sie einen Nachrichtentext ein!<br />';
  if(!isset($_POST['email']) || !preg_match('/[1]+@([^\s]+.)+[^\s]{2,6}$/', $_POST['email']))
    echo 'Bitte geben Sie eine gültige eMail-Adresse ein!<br />';
}

?>


>   
> Würde mich über eine Antwort freuen!  
>   
> Gruss,  
>   eniem

  1. ^\s ↩︎