Nachdem ich mein anderes Problem auch dank hilfe nun gelöst habe kommt nun der 2te teil.
Den Aktiven link zu kennzeichenen war das eine.
Nun der 2te teil auf meiner Website der per php umgesetzt werden muss.
Ich hoffe ihr versteht mich ich habe keine Zeit php komplett zu lernen. Ich bin aber mit hilfestellungen auch zu frieden wie Seiten wo das Problem erklährt wird.
Problem:
Ich habe ein Kontaktformular. Der Code steht unter diesem Absatz. Er kommt von dieser Website: WebDesign - Tips und Tricks: universeller Formmailer
Nun möchte ich hierrein einen Spamschutz machen. Kein Captcha sondern etwas ganz simples. Ich möchte eine Frage stellen und per php soll nur geprüft werden ob eine von mir angegebene Antwort richtig ist. Groß und kleinschreibung soll egal sein.
Beispiel:
Wie heißt dieses Forum hier?
Mögliche Antworten zum Beispiel:
html.de
HtMl.De
HTML.DE
Ist die Antwort so richtig darf die Mail abgeschickt werden.
Und bitte keine diskusion ob dies ein sinnvoller Spamschutz ist, ich würde es gerne so haben.
Code meines formulars live hier:
Kontaktformular
als code hier:
Den Aktiven link zu kennzeichenen war das eine.
Nun der 2te teil auf meiner Website der per php umgesetzt werden muss.
Ich hoffe ihr versteht mich ich habe keine Zeit php komplett zu lernen. Ich bin aber mit hilfestellungen auch zu frieden wie Seiten wo das Problem erklährt wird.
Problem:
Ich habe ein Kontaktformular. Der Code steht unter diesem Absatz. Er kommt von dieser Website: WebDesign - Tips und Tricks: universeller Formmailer
Nun möchte ich hierrein einen Spamschutz machen. Kein Captcha sondern etwas ganz simples. Ich möchte eine Frage stellen und per php soll nur geprüft werden ob eine von mir angegebene Antwort richtig ist. Groß und kleinschreibung soll egal sein.
Beispiel:
Wie heißt dieses Forum hier?
Mögliche Antworten zum Beispiel:
html.de
HtMl.De
HTML.DE
Ist die Antwort so richtig darf die Mail abgeschickt werden.
Und bitte keine diskusion ob dies ein sinnvoller Spamschutz ist, ich würde es gerne so haben.
Code meines formulars live hier:
Kontaktformular
als code hier:
PHP:
<?php
define ('MAILTO', "[email protected]"); // Empfänger hier eintragen
define ('MAILFROM', "Kontaktformular"); // ggfls. Absender hier eintragen
define ('CHARSET', "UTF-8"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Nachricht'); // ggfls. weitere Pflichtfelder angeben
$AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;
if($Formular_abgeschickt = !empty($_POST)) {
$Formular_leer = true; set_magic_quotes_runtime(0);
$_POST = array_map('Formular_Daten', $_POST);
}
function Formular_Daten($val) {
global $Formular_leer;
if(is_array($val)) return array_map('Formular_Daten', $val);
if(get_magic_quotes_gpc()) $val = stripslashes($val);
if($val = trim($val)) $Formular_leer = false;
return $val;
}
function Formular_Pflichtfelder() {
global $Pflichtfelder;
$Fehler = '';
foreach ($Pflichtfelder as $Feld) {
$key = str_replace(' ','_',$Feld);
if(!(isset($_POST[$key]) && trim($_POST[$key])!=='')) {
if($Fehler) $Fehler .= '<br />';
$Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
}
}
return $Fehler;
}
function Formular_neu($log='.htPOSTdata.txt') {
if(file_exists($log) && is_readable($log)
&& file_get_contents($log) == print_r($_POST,true))
return false;
if($handle=@fopen($log, 'w')) {
fwrite($handle, print_r($_POST,true)); fclose($handle);
}
return true;
}
function Formular_Check() {
global $Formular_leer;
if($Formular_leer) $Fehler = 'Keine Daten eingetragen.';
elseif(!$Fehler = Formular_Pflichtfelder()) {
if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
}
return $Fehler;
}
function Formular_Eingabe($Feldname, $def='') {
if(isset($_POST[$Feldname]) && $_POST[$Feldname]!=='')
echo htmlspecialchars($_POST[$Feldname]);
else echo $def;
}
?>
<!DOCTYPE html>
<head>
<title>Kontaktformular</title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>" />
</head>
<body>
<h1>Kontakt</h1>
<?php
if($Formular_abgeschickt) {
if($Formular_Fehler = Formular_Check())
echo '<p class="Meldung" id="Fehler">',$Formular_Fehler,'</p>';
elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader))
echo '<p class="Meldung" id="OK">Nachricht verschickt.</p>';
else echo '<p class="Meldung" id="Fehler">Server-Fehler !</p>';
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
<fieldset><legend>Kontaktformular</legend>
<p>
<label for="Name">Ihr Name:</label>
<input name="Name" id="Name" size="66"
value="<?php Formular_Eingabe('Name'); ?>" />
</p>
<p>
<label for="Nachricht">Nachricht:</label>
<textarea name="Nachricht" id="Nachricht" rows="5" cols="50"><?php
Formular_Eingabe('Nachricht'); ?></textarea>
</p>
<p><input type="submit" value="abschicken" /></p>
</fieldset>
</form>
</body>
</html>