Antworten auf deine Fragen:
Neues Thema erstellen

Zeichenüberprüfung

BeatrixKiddo

Noch nicht viel geschrieben

Hallo,

ich bin gerade dabei für ein Portal eine Homepage zu basteln. Dabei wurde ein Registrierungsformular integriert hinter dem ein Zeichenüberprüfungscode steht.

Leider akzeptiert das Formular allerdings, trotz meiner Eingabe keine Umlaute.

Was ist an diesem code falsch bzw wie muß ich ihn ändern.


<?php
function check_zeichen($in) {
if(preg_match('/[^a-z0-9äöüß]/i',$in)){#innerhalb [] welche Zeichen erlaubt sind
return false;
}
return true;
}
?>
 

BeatrixKiddo

Noch nicht viel geschrieben

AW: Zeichenüberprüfung

Meine PHP Kentnisse sind sehr rudimentär. Ich stehe da ganz am Anfang. Jedoch muß ich mich halt trotzdem um dieses Projekt kümmern.

Ich muß also ein Stück weit darauf hoffen, dass man mit seinen Aufgaben wächst...
 

Lizzard

Aufmerksamer

AW: Zeichenüberprüfung

Wenn du einfach mal

/[^a-z0-9äöüß]/i

durch

/^((?i)[0-9a-zäöüÄÖÜ])+$/


austauschst ?
 

j0shua

Scripter

AW: Zeichenüberprüfung

Kommt die Fehlermeldung eigentlich auch wenn du keine Umlaute benutzt?
Deine Funktion liefert nämlich false zurück wenn deine Regex matched.

Kann es sein, dass du das drehen musst?
 

cebito

undefined

AW: Zeichenüberprüfung

Ja UFT-8 hatte ich im Code drinstehen.

Danke

aber damit kann ich leider nun gar nichts anfangen

Dann kommt noch immer die gleiche Fehlermeldung

nein dann wird es ganz normal in die Datenbank eingetragen


Ja wo ist denn die Fehlermeldung? Was sagt sie denn aus? Und was soll WIE in die DB eingetragen werden? Informationen die uns allen weiterhelfen könnten dein Problem zu verstehen und zu helfen es zu lösen.

Die nächsten nichtssagenden Beiträge lösch ich raus!
 

BeatrixKiddo

Noch nicht viel geschrieben

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>&nbsp; <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 >
 
Zuletzt bearbeitet:

ChrisvA

Aktives Mitglied

AW: Zeichenüberprüfung

Noch ein kleiner Tipp für die Vereinfachung von Code:
Statt
PHP:
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.";
               
                          }
Kann man auch folgendes schreiben:
PHP:
$arrGetErrors = array(
"ort" =>  "Sie haben folgende Angabe vergessen einzutragen: Ort.",
"telefon" => "Sie haben folgende Angabe vergessen einzutragen: Telefon.");

foreach($arrGetErrors as $key => $error){

if(!$_POST[$key] || empty($_POST[$value])){

$arrErrorMsgs[] = $error;
}
}
Das spart viele Wiederholungen.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.640
Beiträge
1.538.506
Mitglieder
67.560
Neuestes Mitglied
azmostbethaot
Oben