Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Validieren muss man immer alles, was vom Nutzer kommt. Requests können beliebig formuliert werden. Es können Parameter entfernt werden, als Geschlecht kann „12“ übergeben werden, als Name ein Array…
Wozu? Die Valedierung soll doch dazu dienen, dem Benutzer mitzuteilen, welche Felder er übersehen oder falsch ausgefüllt hat. Wenn der Seitenbesucher bewusst das Formular manipuliert, so dass am Ende Quatsch in der Mail steht, ist das doch komplett dessen Problem. Ich gäbe dir recht, wenn es um Einträge in einer Datenbank ginge ...
<Klugscheiß = on> Übrigens: Validierung schreibt sich mit i statt mit e ! </klugscheiß>
2.) Die Idee mit dem "honey pot" is ja großartig, allerdings wissen das die Bot-Prgrammer nicht auch und passen ihre Bots solchen "honey pots" an???
3.) Die Ausgabe (per echo) von Fehlern a la "Sie haben vergessen, ihre E-Mail_Adresse anzugeben" ist schlecht für dieses Projekt, da ich wie gesagt in beiden Fällen auf ein anderes HTML-Dokument weiterleiten möchte (danke.html und fehler.html).
Gibt es eine Möglichkeit zu diesem Dokument weiterzuleiten, und nur den Ausgabesatz zu ändern
(also welches Feld nicht ausgefüllt wurde) oder müßte ich dazu jeweils ein eigenes HTML-Dokument für jeden Fehler mit dem
jeweiligen Satz anlegen ???
4.) Nochmal zu den Sonderzeichen-Fehlern....Hat jemand eine Idee, wieso die Sonderzeichen nicht korrekt übertragen wurden
bodil schrieb:Wozu? Die Valedierung soll doch dazu dienen, dem Benutzer mitzuteilen, welche Felder er übersehen oder falsch ausgefüllt hat. Wenn der Seitenbesucher bewusst das Formular manipuliert, so dass am Ende Quatsch in der Mail steht, ist das doch komplett dessen Problem. Ich gäbe dir recht, wenn es um Einträge in einer Datenbank ginge ...
Lovemate schrieb:Wenn einer (ein Mensch, kein Bot) ne Joke-Mail mit Käsekuchenangaben wegschicken will....dann kann er/sie und wird er das auch!
bodil schrieb:Und wenn das alles nichts nützt, schreibst du deine Formulardaten mit utf8_encode() in die Mail. Oder mit utf8_decode(). Das kann man sich dann logisch überlegen. Da es aber nur eine begrenzte Zahl von Möglichkeiten (2) gibt, entscheide ich mich hier immer für Trial and Error.
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!DOCTYPE html>
@charset "utf-8";
HTML:<!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
HTML:<!DOCTYPE html> @charset "utf-8";
Dumme Frage also: Reicht das nicht?
<!DOCTYPE html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="language" content="de" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!DOCTYPE html>
<div id="kofo">
<form method="post" action="../scripts/hw_kofo.php">
<fieldset><legend>Ihre Kontaktdaten</legend>
<div id="geschlecht">
<label for "sex">Herr <input class="radio" type="radio" value="Herr" id="gesch" name="sex" checked="checked" accesskey="g"></label>
<label for "sex">Frau <input class="radio" type="radio" value="Frau" id="gesch" name="sex" accesskey="g"></label><div class="screw">
<img src="../pics/schraube.png" width="47" height="15"></div>
</div>
<div class="felder"><label for="vn">Vorname..................<input type="text" id="vn" name="vorname" maxlength="40" accesskey="v"></label><br></div>
<div class="felder"><label for="nn">Nachname...............<input type="text" id="nn" name="nachname" maxlength="40" accesskey="n"></label><div class="screw">
<img src="../pics/schraube.png" width="47" height="15"></div><br></div>
<div class="felder"><label for="frm">Firma.......................<input type="text" id="frm" name="firma" maxlength="40" accesskey="f"></label><br></div>
<div id="hopo"><label for="email"> E-Mail-Adresse..........<input type="text" id="email" name="email" maxlength="50" accesskey="e"></label></div><br>
<div id="brief"><label for="em"> E-Mail-Adresse........<input type="text" id="brf" name="brief" maxlength="50" accesskey="e"></label><div class="screw">
<img src="../pics/schraube.png" width="47" height="15"></div><br></div>
<div class="felder"><label for="plz">Postleitzahl..............<input type="text" id="postleit" name="postleit" maxlength="5" accesskey="p"></label><div class="screw">
<img src="../pics/schraube.png" width="47" height="15"></div>
<br></div>
<div class="felder"><label for="ort">Ort...........................<input type="text" id="ort" name="ort" maxlength="45" accesskey="o"></label><br></div>
<div class="felder"><label for="str">Strasse....................<input type="text" id="strasse" name="strasse" maxlength="55" accesskey="s"></label><br></div>
<div class="felder"><label for="tel">Telefon-Nr................<input type="text" id="telefon" name="telefon" maxlength="18" accesskey="t"></label><div class="screw">
<img src="../pics/schraube.png" width="47" height="15"></div><br></div>
</fieldset>
<p><span>Die mit einer Schraube <img src="../pics/schraube.png" width="47" height="15"> gekennzeichneten Felder</span><br>
<span>sind Pflichtfelder.</span></p>
<fieldset><legend>Kontaktgrund</legend>
<div id="geschlecht">
<label for="typ"> Kunde <input type="radio" id="typ" name="typ" value="Kunde "accesskey="t" checked="checked"></label>
<label for="typ">Interessent <input type="radio" id="typ" name="typ" value="Interessent" accesskey="t"></label><br></div>
<div class="feld"><label for="grund">allgem. Anfrage<input type="checkbox" id="grund1" name="grnd1" value="allgemeine Anfrage"></label></div>
<div class="feld"><label for="grund">Wartung / Prüfung<input type="checkbox" id="grund2" name="grnd2" value="Wartung / Prüfung"></label><br></div>
<div class="feld"><label for="grund">Beratung Holz<input type="checkbox" id="grund3" name="grnd3" value="Beratung Holz"></label></div>
<div class="feld"><label for="grund">Beratung Spielgerät<input type="checkbox" id="grund4" name="grnd4" value="Beratung Spielgeräte"></label><br></div>
<div class="feld"><label for="grund">Bestellung<input type="checkbox" id="grund5" name="grnd5" value="Bestellung"></label><br></div>
<label for="texa">Ihre Nachricht<textarea id="tex" name="texa" cols="35" rows="5" >Bitte hier Ihre Nachricht an uns eintippen</textarea></label>
</fieldset>
<label for="absenden"><button id="absenden" type="submit" class="submiter" name="absenden" value="submit">Absenden</button></label>
<label for="verwerfen"><button id="verwerfen" type="reset" class="submiter" name="verwerfen" value="reset">Verwerfen</button></label>
</form>
</div>
Also, mein google sagt mitIch bitte um Vorschläge, wie das effizient mit PHP zu lösen ist!
php formular validierung
Das sollte doch wohl reichen.Ungefähr 5.650.000 Ergebnisse
HTML:<!DOCTYPE html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta name="language" content="de" > <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!DOCTYPE html>
<html>
<head>
<meta name="language" content="de" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="language" content="de" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Steht im head aber das Ergebnis bleibt gleich!
Hier der Code des finalen Formulars:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="language" content="de" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
$sex = $_POST['sex'];
$vname = $_POST['vorname'];
$nname = $_POST['nachname'];
$firma = $_POST['firma'];
$mail = $_POST['brief'];
$plz = $_POST['postleit'];
$ort = $_POST['ort'];
$strasse = $_POST['strasse'];
$telefon = $_POST['telefon'];
$typ = $_POST['typ'];
$grund1 = $_POST['grnd1'];
$grund2 = $_POST['grnd2'];
$grund3 = $_POST['grnd3'];
$grund4 = $_POST['grnd4'];
$grund5 = $_POST['grnd4'];
$nachricht = $_POST['texa'];
$verschickt = 'http://www.mustermann.de/html/danke.html';
$recipient = "[email protected]";
$sender = "Kontaktformular Mustermann GmbH";
$frommail = "[email protected]";
$betreff = "Anfrage durch Kontaktformular";
$message="Anrede:" .$sex. "\r\n";
$message.="Vorname:" .$vname. "\r\n";
$message.="Nachname:" .$nname. "\r\n";
$message.="Firma/Verein:" .$firma. "\r\n";
$message.="Email:" .$mail. "\r\n";
$message.="Postleitzahl:" .$plz. "\r\n";
$message.="Ort:" .$ort. "\r\n";
$message.="Strasse:" .$strasse. "\r\n";
$message.="Telefon-Nr:" .$telefon. "\r\n";
$message.="Klassifizierung:" .$typ."\r\n";
$message.="Kontaktgrund 1:" .$grund1. "\r\n";
$message.="Kontaktgrund 2:" .$grund2. "\r\n";
$message.="Kontaktgrund 3:" .$grund3. "\r\n";
$message.="Kontaktgrund 4:" .$grund4. "\r\n";
$message.="Kontaktgrund 5:" .$grund5. "\r\n";
$message.="Nachricht:" .$nachricht. "\r\n";
/*var_dump($_POST);*/
mail($recipient, $betreff, $message, "From: $sender <$frommail>");
header("Location: $verschickt");
exit;
?>
if( isset($_POST["feldname"]) && strlen($_POST["feldname"]) > 0 ) {
// da steht was drinne
}
else
{
// da steht nichts drinne
}
<?php function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') { $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n"; mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header); } ?>
<?php
$sex = $_POST['sex'];
$vname = $_POST['vorname'];
$nname = $_POST['nachname'];
$firma = $_POST['firma'];
$mail = $_POST['brief'];
$plz = $_POST['postleit'];
$ort = $_POST['ort'];
$strasse = $_POST['strasse'];
$telefon = $_POST['telefon'];
$typ = $_POST['typ'];
$grund1 = $_POST['grnd1'];
$grund2 = $_POST['grnd2'];
$grund3 = $_POST['grnd3'];
$grund4 = $_POST['grnd4'];
$grund5 = $_POST['grnd4'];
$nachricht = $_POST['texa'];
$verschickt = 'http://www.mustermann.de/html/danke.html';
$recipient = "[email protected]";
$sender = "Kontaktformular Mustermann GmbH";
$frommail = "[email protected]";
$betreff = "Anfrage durch Kontaktformular";
$message="Anrede:" .$sex. "\r\n";
$message.="Vorname:" .$vname. "\r\n";
$message.="Nachname:" .$nname. "\r\n";
$message.="Firma/Verein:" .$firma. "\r\n";
$message.="Email:" .$mail. "\r\n";
$message.="Postleitzahl:" .$plz. "\r\n";
$message.="Ort:" .$ort. "\r\n";
$message.="Strasse:" .$strasse. "\r\n";
$message.="Telefon-Nr:" .$telefon. "\r\n";
$message.="Klassifizierung:" .$typ."\r\n";
$message.="Kontaktgrund 1:" .$grund1. "\r\n";
$message.="Kontaktgrund 2:" .$grund2. "\r\n";
$message.="Kontaktgrund 3:" .$grund3. "\r\n";
$message.="Kontaktgrund 4:" .$grund4. "\r\n";
$message.="Kontaktgrund 5:" .$grund5. "\r\n";
$message.="Nachricht:" .$nachricht. "\r\n";
/*var_dump($_POST);*/
mail($recipient, $betreff, $message, "From: $sender <$frommail>");
header("Location: $verschickt");
exit;
?>
Wie soll man das eigentlich finden, dass wir hier deinen Job kostenlos machen und du damit Geld verdienst?Kann mir jemand diese Funktion auf mein script abwandlen
Wie soll man das eigentlich finden, dass wir hier deinen Job kostenlos machen und du damit Geld verdienst?
Das Script, um das es geht, gehört zu deinem Jon und somit verdienst du mit unserer kostenlosen Hilfe Geld!"Mein Job" umfaßt wesentlich mehr als ein php-script!