Formularüberprüfung via PHP?

  • #1
E

Enrico

Bekanntes Mitglied
Themenersteller
Dabei seit
06.07.2001
Beiträge
156
Reaktionspunkte
0
Ort
Dresden
Hallo,

kann mir jemand sagen, wie ich ein Formularfeld mit Hilfe vpn PHP auf Richtigkeit überprüfen kann?
Und zwar brauche ich eine Prüfung für Email und noch ein anderes Feld. Wenn das Feld leer ist oder keine korrekte Eingabe erfolgt ist, so soll eine Fehlerseite ausgegeben werden ?

Wäre super, wenn da jemand was weiß.

Grüße und danke
Enrico
 
  • #2
Hi

<form method=deinedatei.php action=post>

<input type=text name=email>
<input type=text name=name>


Dann zum Überprüfen:

<?php
$failure = false;

if ($_POST[name] == ) {
$failure = true;
}

if (!preg_match(/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)/i, $_POST)) {
$failure = true;
}

if ($failure) {
header(Location: fehler.html);
}
?>

Gruß, Michael
 
  • #3
Hi,

danke für deine Antwort, die Prüfung funktioniert schon mal, kann ich es jetzt auch so machen, dass wenn failure aufgerufen wird eine Fehlermeldung in der Formularseite selbst erscheint und unter der Fehlermeldung die Formulare noch ausgefüllt da stehen?


Grüße und danke
Enrico
 
  • #4
Hi

Als Action brauchst du deine Formularseite selber.

Eintragen der alten Werte geschieht über:

&lt;input type=text name=email value=&lt;?php echo $_POST ?>>
oder ganz korrekt:
echo isset($_POST[email]) ? $_POST[email] :

Die Überprüfung darf dann natürlich nur durchgeführt werden, wenn das Formular abgeschickt wurde.
&lt;input type=submit name=Abschicken>

&lt;?php if (isset($_POST[Abschicken])) {
obere Überprüfung
}
?>

und dann irgendwo in deinem Dokument:

&lt;?php if ($failure) : ?>
Ihre eingegebenen Daten stimmen nicht.
&lt;?php endif ?>

Gruß, Michael
 
  • #5
Hi,

ich habe das ganze jetzt mal so geschrieben:

<?php if (isset($_POST[Abschicken])) {

//Überprüfung
$failure = false;

if ($_POST[name] == ) {
$failure = true;
}

if (!preg_match(/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)/i, $_POST[from])) {
$failure = true;
}

if ($failure) {
include(fehler.php);
}

else {
//Senden des Formulars
include(config.php);

mail($to, $subject, Diese Nachricht wurde am $datum gesendet.\n\n
Name: $name
Firma: $firma
Telefon: $phone
Email: $from\n

Anfrage:
$message\n

Ich bitte um Rückantwort $wie.\n
Protokoll:
IP-Adresse: $ip
Host: $host
Plattform: $plattf,Von: $from);
}
}
?>



funktioniert auch, nur wird die Fehlermeldung immer nur unter dem Forumlar ausgegeben, ich möchte sie aber gern darüber haben.
Auch wenn ich:

<?php if ($failure) : ?>
Ihre eingegebenen Daten stimmen nicht.
<?php endif ?>

schreibe, funktioniert es nur, wenn dieser Code unter allen anderen steht?


Grüße und danke
Enrico
 
  • #6
Hi

Schreib die Überprüfung ganz an den Anfang deiner Seite, dann kannst du die Fehlermeldung beliebig setzen.

Gruß, Michael
 
  • #7
Hi,

danke für deine Hilfe, jetzt funktioniert alles super...


Grüße
Enrico
 
  • #8
Hi,

noch ein Problem:
wie kann ich prüfen ob im Formularfeld Sonderzeichen eingegeben wurden (z.B. ä,ü,ö,ß,?,/,&amp;,...).
Wenn ein Sonderzeichen enthalten ist, dann soll wieder eine Fehlerseite kommen?

Grüße und danke
Enrico
 
  • #9
Hi

if (preg_match(/(ä|ü|ö|ß)/i, $text) {
header(Location: fehler.htm);
}

| steht für oder
i für gross/klein egal

Gruß, Michael
 
  • #10
danke...

Grüße
Enrico
 
  • #11
Was ganz schön aussieht (so hab ich das auf einer meiner Seiten auch gemacht), wenn die Fehlermeldung nicht auf einer Seite, sondern in einem JavaScript-Alert erscheint... Das ist hier auf WinTotal übrigens auch so... Find ich halt ganz nett, da damit die Aufmerksamkeit des Users stärker beansprucht wird als wenn du eine Fehlermeldung in die Seite (wo auch das Formular ist) reinpackst.
 
  • #12
Hallo und guten Abend (Tag),
bin kein Profi und kein Neuling am PC - doch vor kurzem habe ich festgestellt, dass die vorinstallierten Ordner leer sind (Wartung und Zubehör) .. also wenn man Start alle Programme auswählt. Wie kann das sein und wie kann ich das ändern?
Würd mich über Hilfe freuen - herzlichen Dank vorab!
 
Thema:

Formularüberprüfung via PHP?

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben