AW: Zeichenüberprüfung
so zum Grundverständniss des ganzen... Einen Link kann ich nicht direkt posten da es sich um ein noch nicht veröffentlichtes Projekt handelt...
So hier mal der Quellcode der Seite bishin zum html Bereich...
<?php
header ("Content-Type: text/html; charset=utf-8");
session_start();
require_once 'inc/config.inc.php';
require_once 'inc/mysql.inc.php';
require_once 'inc/mail/htmlMimeMail5.php';
include "configuration.php";
include "functions.inc.php";
include "check_zeichen.php";
$sessionstringnew = null; // für den Sicherheitscode
$sessionstringadd = null;
function validate_input() {
$arrErrorMsgs = array();
//echo $_POST['kategorie'];
//die();
// bildupload();
// es wurde keine Firma eingetragen
//Anfang der Validierung
if(!$_POST["firma"] || empty($_POST["firma"])) {
array_push($arrErrorMsgs, "Sie haben folgende Angabe vergessen einzutragen: Firma.");
}
if (!$_POST["name"] || empty($_POST["name"])) {
// es wurde kein Name eingetragen check_zeichen.php
array_push($arrErrorMsgs, "Sie haben folgende Angabe vergessen einzutragen: Name.");
}
if( !check_zeichen($_POST['name'])) {
$arrErrorMsgs[] = "Der Name darf keine Sonderzeichen enthalten: Name.";
}
if(!$_POST["vorname"] || empty($_POST["vorname"])) {
// es wurde kein Vorname eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Vorname.";
}
if( !check_zeichen($_POST['vorname'])) {
$arrErrorMsgs[] = "Der Vorname darf keine Sonderzeichen. Vorname:";
}
if(!$_POST["strasse"] || empty($_POST["strasse"])) {
// es wurde keine Straße eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Straße/Hausnummer.";
}
if(!$_POST["plz"] || empty($_POST["plz"])) {
// es wurde keine PLZ eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: PLZ.";
}
if(!is_numeric($_POST["plz"])) {
$arrErrorMsgs[] = "ungültige Eingabe: PLZ.";
}
if(!$_POST["ort"] || empty($_POST["ort"])) {
// es wurde kein Ort eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Ort.";
}
if(!$_POST["telefon"] || empty($_POST["telefon"])) {
// es wurde kein Telefon eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Telefon.";
}
if((!is_numeric($_POST["telefon"])) || (!is_numeric($_POST["vorwahl"]))) {
$arrErrorMsgs[] = "ungültige Eingabe: Telefonnummer.";
}
if(!$_POST["email"] || empty($_POST["email"])) {
// es wurde keine E-Mail Adresse eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: eMail-Adresse.";
} elseif (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST["email"])) {
// eMail Validation
$arrErrorMsgs[] = "Sie haben ungültige eMail-Adresse eingetragen.";
}
$sql = "SELECT email FROM qqwertz_kontaktdaten WHERE email='".mysql_real_escape_string($_POST['email'])."'";
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
$arrErrorMsgs[] = "Die angegebene EMail-Adresse ist bereits vorhanden.";
}
if(!$_POST["pass"] || empty($_POST["pass"])) {
//es wurde kein Passwort eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Passwort.";
} elseif (!$_POST["repass"] || empty($_POST["repass"])) {
//es wurde kein Passwort wiederholt
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Passwort wiederholen.";
}
if($_POST["repass"] != $_POST["pass"]) {
// Passworte vergleichen
$arrErrorMsgs[] = "Die beiden angegebenen Passwörter stimmen nicht überein: Passwort";
}
if(!$_POST["firmenname"] || empty($_POST["firmenname"])) {
//Darstellung
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Firmenname.";
}
if(!$_POST["kategorie"] || empty($_POST["kategorie"])) {
// es wurde keine Kategorie ausgewählt.
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Kategorie";
}
if(!$_POST["dar_name"] || empty($_POST["dar_name"])) {
// es wurde kein Name eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Name.";
}
if( !check_zeichen($_POST['dar_name'])) {
// Sonderzeichen im Feld Name prüfen
$arrErrorMsgs[] = "Der Name darf keine Sonderzeichen. Name:";
}
if(!$_POST["dar_strasse"] || empty($_POST["dar_strasse"])) {
// es wurde keine Straße eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Straße/Hausnummer.";
}
if(!$_POST["dar_plz"] || empty($_POST["dar_plz"])) {
// es wurde keine PLZ eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: PLZ.";
} else if(!is_numeric($_POST["dar_plz"])) {
$arrErrorMsgs[] = "die PLZ darf nur Ziffern enthalten.";
}
if ($_FILES['pic_file']['name'] != "") {
$filetype = $_FILES['pic_file']['type'];
switch ($filetype)
{
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
$pic_filetype = '.jpg';
break;
case 'image/png':
case 'image/x-png':
$pic_filetype = '.png';
break;
case 'image/gif':
$pic_filetype = '.gif';
break;
default:
$arrErrorMsgs[] = "Falsches Dateiformat des Bildes. Nur JPEG, GIF oder PNG erlaubt!";
}
}
if ($_FILES['pic_file']['size'] > MAX_FILESIZE_BYTE) {
$arrErrorMsgs[] = "Die Dateigröße des Bildes ist zu groß.";
}
if(!$_POST["bland"] || empty($_POST["bland"])) {
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Bundesland.";
}
if(!$_POST["dar_url"] || empty($_POST["dar_url"])) {
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Homepage.";
} elseif (! preg_match("/^([a-zA-Z]+[:\/\/]+)?[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i", $_POST["dar_url"])) {
$arrErrorMsgs[] = "Der Eintrag 'Homepage' hat ein falsches Format.";
}
if(!$_POST["dar_ort"] || empty($_POST["dar_ort"])) {
// es wurde kein Ort eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Ort.";
}
if(!$_POST["nachricht"] || empty($_POST["nachricht"])) {
// es wurde keine Nachricht eingetragen
$arrErrorMsgs[] = "Sie haben folgende Angabe vergessen einzutragen: Beschreibung.";
}
if (!isset($_COOKIE[session_name()])) {
$sessionstringnew = '?' . session_name() . "=" . session_id();
$sessionstringadd = '&' . session_name() . "=" . session_id();
} elseif(sha1(trim(strip_tags(strtoupper($_POST['code'])))) != $_SESSION['P91Captcha_code']) {
$arrErrorMsgs[] = "Ungültiger Sicherheitscode";
}
if (sizeof($arrErrorMsgs) > 0) {
// print error messages
foreach ($arrErrorMsgs as $errorMsg) {
echo "<div align='center'><span class='mail'>$errorMsg</span> <br />";
echo "</div>";
}
echo "<br /><br /><a href=\"javascript:history.back()\">zurück</a>";
echo "</div>";
die();
}
}
function register_user() {
$query = "INSERT INTO qqwertz_kontaktdaten (firma, name, vorname, strasse, plz,
ort, vorwahl, telefon, fax_vorwahl, fax,
mobile, email, url, pass, kategorie, firmenname,
dar_name, dar_strasse, dar_plz, dar_ort, bland,
dar_url, nachricht) VALUES (";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["firma"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["name"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["vorname"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["strasse"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["plz"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["ort"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["vorwahl"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["telefon"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["fax_vorwahl"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["fax"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["mobile"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["email"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["url"])) . "',";
$query .="'" .md5($_REQUEST["pass"] ). "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["kategorie"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["firmenname"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["dar_name"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["dar_strasse"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["dar_plz"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["dar_ort"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["bland"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["dar_url"])) . "',";
$query .="'" . trim(mysql_real_escape_string($_REQUEST["nachricht"])) . "')";
$result = mysql_query( $query );
if ( ! $result ) {
echo("<div align='center'><span class='mail'>Fehler beim speichern ihrer Daten. Bitte probieren Sie es später erneut.</span></div>" ) ;
echo "<br /><br /><a href=\"javascript:history.back()\">zurück</a>";
die;
}
$id = mysql_insert_id();
if ($_FILES['pic_file']['size'] > 0) {
// upload image
$bild = $_FILES['pic_file']['name'];
// Passwort in der user_passwörter tabelle eintragen
//Bild hochladen
include "upload.php";
$bildgros = $_FILES['pic_file']['size'];// Bytes
//$bildsize = $bildgros/1024; // in KBytes
$bildtyp = $_FILES['pic_file']['type'];
//Ende des Uploadbildes
}
$mail_notify_user = new htmlMimeMail5();
$mail_notify_company = new htmlMimeMail5();
$mail_notify_user->setTextCharset("utf-8");
$mail_notify_company->setTextCharset("utf-8");
$mail_notify_user->setSMTPParams('localhost', // string $host
25, // int $port
'the-qqwertz.de', // string $helo
false, // bool $auth
'rechnung@the-qqwertz.de', // string $user
'xiller666'); // string $pass
$mail_notify_company->setSMTPParams('localhost', // string $host
25, // int $port
'the-qqwertz.de', // string $helo
false, // bool $auth
'rechnung@the-qqwertz.de', // string $user
'xiller666'); // string $pass
// Erzeuge die Rechnungsnummer
$date = date("YmdHi");
$rechnum = "XIL-" . $date.$id;
$mail_notify_company->setFrom(COMPANY_MAIL);
$mail_notify_company->setSubject($_POST["firma"]);
$mail_notify_company->setText($_POST["nachricht"]);
$mail_notify_company->send(array(COMPANY_MAIL));
$mail_notify_user->setFrom(COMPANY_MAIL);
$mail_notify_user->setSubject("Vielen Dank");
$body_danke = "Hallo ".$_POST["name"].",\n\nDanke für Ihre Nachricht!\n\n Anbei erhalten Sie Ihre Rechnungsnummer: ".$rechnum;
$body_danke .= "\n\n\n Mit freundlichen Gruessen\n\n".COMPANY_NAME."\n\n--\n\nIhre Nachricht:\n\n".$_POST["nachricht"]."";
$mail_notify_user->setText($body_danke);
$ret = $mail_notify_user->send(array($_POST['email']));
return $ret;
}
?>
<html>
<head>
<title> Kontaktformular</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../defoult.css">
<script type="text/javascript">
function P91Captcha(sid)
{
var pas = new Image();
var heuri = new Date();
pas.src="captcha_form.php?x="+heuri.getTime()+sid;
document.getElementById("P91Captcha").src=pas.src;
}
</script>
</head>
<body >