<?
/***************************************************************************
* *
* copyright : (C) 2008 Daniel Kauser *
* email : danysahne333@mail.ru *
* website : www.cb-talk.de/captcha.html *
* *
* *
* *
***************************************************************************/
/***************************************************************************
* *
* Diese Script ist gratis. Viele andere Scripte kosten viel Geld doch *
* ich und zum Glück auch noch ein paar andere sind gegen sowas und *
* bieten unsere Scripte gratis an. Deshalb löscht nicht den copyright *
* von mir damit wir kein Stress kriegen *
* *
***************************************************************************/
// Header
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum aus Vergangenheit
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// immer geändert
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
// Alle Fehler und Notices anzeigen
error_reporting(E_ALL);
session_start();
$CAPTCHA_TempString="";
// Zufallsfunktion für Zahlen und Buchstaben
function GetRandomChar() {
// Zufallszahl generieren
mt_srand((double)microtime()*1000000);
$CAPTCHA_RandVal = mt_rand(1,2);
// Buchstabensalat generieren jeh nachdem ob Randval 1 oder 2 ist
switch ($CAPTCHA_RandVal) {
case 1:
// Zahlen 0-9
$CAPTCHA_RandVal = mt_rand(48, 57);
break;
case 2:
// Grosse Buchstaben
$CAPTCHA_RandVal = mt_rand(65, 90);
break;
}
// Zufallscode ausgeben
return chr($CAPTCHA_RandVal);
}
// Zufallscode x-stellig ausgeben
for ($i = 1; $i <= 6; $i++) {
$CAPTCHA_TempString .= GetRandomChar();
}
// Text in Sessionvariable speichern
if (isset($CAPTCHA_TempString)) {
$_SESSION["CAPTCHA_RndText"] = str_replace('I','E',str_replace('0','3',str_replace('1','S',str_replace('B','F',str_replace('O','P',str_replace('4','A',str_replace('D','K',$CAPTCHA_TempString)))))));
} else {
die("Zufallscode konnte nicht generiert werden!");
}
// +++++++ in diesen Teil habe ich die komplette Originaldatei kontakt_ausw.php übernommen
if(isset($_POST['eintrag']) AND $_POST['eintrag']=='eintragen')
{
// Session starten und config.php includen
/*/ +++++++ isession_start() habe ich auskommentiert
session_start();
// */
include ("config.php");
// CaptchaCodes abfragen
$CAPTCHA_RandomText = "";
if (isset($_POST['txtCode'])){
$CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
}
if (isset($_SESSION['CAPTCHA_RndText'])) {
$CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
}
// Eingabefelder abfragen
$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['betreff'] = $_POST['betreff'];
$_SESSION['nachricht'] = $_POST['nachricht'];
$email_i = $_SESSION['email'];
// Email Funktion
function pruefe_mail($email_i) {
if(strstr($email_i, "@")) {
$email_i = explode ("@", $email_i);
if(strstr($email_i[1], ".")) $ok = TRUE;
}
return $ok;
}
// Eingaben prüfen
$fehler = "";
if(!pruefe_mail($email_i) && !empty($email_i)) {
$fehler .= "<li>Email fehlerhaft!</li>";
}
if ($_SESSION['name'] == ""){
$fehler .= "<li>Name fehlt!</li>";
}
if ($_SESSION['email'] == ""){
$fehler .= "<li>Email fehlt!</li>";
}
if ($_SESSION['betreff'] == ""){
$fehler .= "<li>Betreff fehlt!</li>";
}
if ($_SESSION['nachricht'] == ""){
$fehler .= "<li>Nachricht fehlt!</li>";
}
if ($CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
$captcha = true;
} else {
$fehler .= "<li>Captcha fehlt oder fehlerhaft!</li>";
}
echo '<div style="border: 1px #000 solid; width: 350px; padding: 5px;">';
if ($fehler == ""){
// Email zumsammensetzen
$email = "From: " . $_SESSION['email'];
$nachrichtfertig = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['nachricht'];
$versand = mail($empfaenger, $_SESSION['betreff'], $nachrichtfertig, $email);
if ($versand) {
echo '<h3>Kontaktformular</h3>
<p>Email ist erfolgreich versendet worden!</p>';
// Sessionvariablen löschen
unset($_SESSION['name']);
unset($_SESSION['email']);
unset($_SESSION['betreff']);
unset($_SESSION['nachricht']);
}
} else {
echo '<h3>Kontaktformular</h3>';
echo $fehler;
echo '<p><a href="kontakt.php">zurück</a></p>';
}
echo '</div>';
// Session unset
unset($_SESSION['CAPTCHA_RndText']);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="language" content="de" />
<title>Kontaktformular</title>
</head>
<body>
<div style="border: 1px #000 solid; width: 350px; padding: 5px;">
<h3>Kontaktformular</h3>
<form method="post" action="test.php" name="kontakt">
<table>
<tr><td><p>Name: </p></td><td><p><input name="name" size="34" type="text" <?if (isset($_SESSION['name'])) { echo 'value="' . $_SESSION['name'] . '"'; }?>/></p></td></tr>
<tr><td><p>Email: </p></td><td><p><input name="email" size="34" type="text" <?if (isset($_SESSION['email'])) { echo 'value="' . $_SESSION['email'] . '"'; }?>/></p></td></tr>
<tr><td><p>Betreff: </p></td><td><p><input name="betreff" size="34" type="text" <?if (isset($_SESSION['betreff'])) { echo 'value="' . $_SESSION['betreff'] . '"'; }?>/></p></td></tr>
<tr><td><p>Nachricht: </p></td><td><p><textarea name="nachricht" rows="3" cols="26"><?if (isset($_SESSION['nachricht'])) { echo $_SESSION['nachricht'] ; }?></textarea></p></td></tr>
<tr><td> </td><td><img border="0" src="captcha_img.php?PHPSESSID=<?echo session_id();?>&ver=<?echo time();?>" alt="" /></td></tr>
<tr><td><p>Code: </p></td><td><p><input maxlength="6" name="txtCode" size="34" type="text" /></p></td></tr>
<tr><td> </td><td><p><input class="button" type="submit" name="eintrag" value="eintragen" /> <input class="button" type="reset" name="reset" value="löschen" /></p></td></tr>
</table>
</div>
</form>
</body>
</html>