thecooper: Pflichtfelder bei PHP Formularen

Hallo,
ich habe erst ein Formular in PHP gemacht. Jedoch bräuchte ich dazu noch pflichtfelder, da ich von den Usern bestimmte daten einfach benötige und mir sonst die ganze Nachricht nichts nützt.
Mein ziel währe, dass wenn der User auf "Absenden" drückt dieselbe Seite, auf der er das Formular ausgefüllt hat nocheinmal aufgerufen wird, nur diesesmal die Fehlermeldung am Seitenanfang steht.
Am besten währe natürlich, wenn immer das Stehen würde, das er ausgelassen hat wie z.b. "du hast keinen Namen eingetragen".
Die "falsche" nachricht sollte noch nicht gesendet werden, da ich sonst Fluten von unnützen emails bekomme.
Ich bräuchte auch noch so ein Feld, wie dort unten, das man bestätigen muss, wenn man einen Beitrag absenden will. User sollen die Nachricht nicht absenden können, bevor sie das Kästchen markiert haben.
(Ich habe die  Charta des SELFHTML-Forums gelesen und akzeptiere sie.
Mir ist klar, dass mein Beitrag...)

Es würde schon reichen, wenn jemand einen Link zu einer Seite schicken würde, an der ein richtiger code steht. Ich habe schon ätliche methoden ausprobiert, jedoch hat keine Richtig funktioniert.

Ich glaube es zwar nicht, aber vielleicht hilft euch ja das script, vom Formular weiter:

<?php

Konfiguration

Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

An welche Adresse sollen die Mails gesendet werden?

$strEmpfaenger = 'name@wunschname.de'

Welche Adresse soll als Absender angegeben werden?

(Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)

$strFrom       = '"Formmailer" name@anderername.de';

Welchen Betreff sollen die Mails erhalten?

$strSubject    = 'betreff'

Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?

Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!

$strReturnhtml = 'http://www.wunschname.de/danke.html';

Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?

$strDelimiter  = ": \t";

Ende Konfiguration

if($_POST)
{
 $strMailtext = "";

while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

...

<form action="../usertest_formular/?php print $_SERVER['PHP_SELF']; ?" method="post" enctype="multipart/form-data">

...

[esonders gut währe es, wenn zu beginn eine Liste, mit allen Pflichtfeldern aufgeführt werden würde (z.B. Nahme fehlt! Email fehlt!...) die mit jedem ausgefüllten Pflichtfeld kleiner wird.
(Muss aber nicht sein)]

Schon mal danke im voraus

  1. hi,

    Es würde schon reichen, wenn jemand einen Link zu einer Seite schicken würde, an der ein richtiger code steht. Ich habe schon ätliche methoden ausprobiert, jedoch hat keine Richtig funktioniert.

    Affenformular

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }