Gladiator6
Erfahrenes Mitglied
Hallo
Ich habe vor einiger Zeit einmal ein Kontaktformular mit PHP gemacht. Das ist auf einer Website erfolgreich im Einsatz. Nun wollte ich dass selbe Formular auf einer anderen Website (anderer Webserver) einsetzen (leicht modifiiert), und stelle fest, dass das Script nicht richtig funktioniert.
Wäre nett wenn jemand kurz über den Code schauen könnte, und vielleicht grad sieht, warum das mit der neueren PHP Version nicht mehr funktioniert?
Problem ist folgendes:
Die Eingaben werden nach dem absenden nicht gelöscht!
Mittels CSS sollten die unvollständig ausgefüllten Felder markiert werden. Es werden jedoch immer alle Felder markiert, auch wenn nur eines unvollständig ist!
Ich habe vor einiger Zeit einmal ein Kontaktformular mit PHP gemacht. Das ist auf einer Website erfolgreich im Einsatz. Nun wollte ich dass selbe Formular auf einer anderen Website (anderer Webserver) einsetzen (leicht modifiiert), und stelle fest, dass das Script nicht richtig funktioniert.
Wäre nett wenn jemand kurz über den Code schauen könnte, und vielleicht grad sieht, warum das mit der neueren PHP Version nicht mehr funktioniert?
HTML:
<form name="feedback" action="feedback.php" method="post">
<table width="250" border="0">
<tr>
<td width="50">Vorname:</td>
<td><input type="text" name="vorname" value="<?php echo $_POST['vorname']; ?>" <?php if( strlen($vorname)<3 and isset($absenden)) { echo "class='form_text'"; }?> ></td>
</tr>
<tr>
<td>Nachname:</td>
<td><input type="text" name="nachname" value="<?php echo $_POST['nachname']; ?>" <?php if( strlen($nachname)<4 and isset($absenden)) { echo "class='form_text'"; }?>></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" value="<?php echo $_POST['email']; ?>" <?php if( strlen($email)<10 and isset($absenden)) { echo "class='form_text'"; }?> ></td>
</tr>
</table>
Nachricht:<br><br>
<textarea name="nachricht" cols="35" rows="5"></textarea>
<br>
<br>
<input type="submit" class="submit" name="absenden" value="Absenden">
</form>
PHP:
<?php
if (isset($absenden))
{
//variablen übergeben
$vorname=$_POST["vorname"];
$nachname=$_POST["nachname"];
$email=$_POST["email"];
$nachricht=$_POST["nachricht"];
$ip=$REMOTE_ADDR;
$webmaster="webmaster@domain.com";
$betreff="Feedback";
//Formular überprüfen
if(strlen($vorname)<3 or strlen($nachname)<4 or strlen($email)<10)
{
echo "<br>Bitte alle Felder ausfüllen!";
}
else
{
$nachricht_total="Vorname: $vorname \n Nachname: $nachname \n Email: $email \n Nachricht: $nachricht \n IP: $ip";
//Email versenden
mail($webmaster, $betreff, $nachricht_total, "From: formmailer@domain.com");
//Formular variable löschen
unset($absenden);
unset($vorname);
unset($nachname);
unset($email);
echo "<br>Vielen Dank für das Feedback";
}
}
?>
Problem ist folgendes:
Die Eingaben werden nach dem absenden nicht gelöscht!
Mittels CSS sollten die unvollständig ausgefüllten Felder markiert werden. Es werden jedoch immer alle Felder markiert, auch wenn nur eines unvollständig ist!