php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.01.2008, 15:28  
Lia
Erfahrener Benutzer
 
Registriert seit: 22.11.2004
Beiträge: 241
Lia
Standard Problem: [Warning Empty delimiter]

Hallo an alle,

ich hoffe, Ihr könnt mir wieder einmal weiterhelfen.
Ich habe ein Kontaktformular, dessen Angaben in eine CSV-Datei gespeichert werden soll. Natürlich überprüfe ich die Eingaben des Formulars.
Nun erscheint folgende Fehlermeldung:
Warning: strpos() [function.strpos]: Empty delimiter...

Folgende Zeilen sorgen für die Fehlermeldung:

PHP-Code:
if ( (strpos("\n",$firma) != false) || (strpos("\r",$firma) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$abteilung) != false) || (strpos("\r",$abteilung) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$titel) != false) || (strpos("\r",$titel) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$name) != false) || (strpos("\r",$name) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$vorname) != false) || (strpos("\r",$vorname) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$strasse) != false) || (strpos("\r",$strasse) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$plz_ort) != false) || (strpos("\r",$plz_ort) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$telefon) != false) || (strpos("\r",$telefon) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$fax) != false) || (strpos("\r",$fax) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$email) != false) || (strpos("\r",$email) != false) ) { $Fehler "Y"; }
        if ( (
strpos("\n",$mobil) != false) || (strpos("\r",$mobil) != false) ) { $Fehler "Y"; } 
Könnt Ihr mir sagen, was hierdran falsch ist? Ich habe schon versucht, das Trennzeichen \n und \r durch \t zu ersetzen, doch leider zwecklos.
Ich wäre Euch echt dankbar, wenn Ihr mir helft!

LG
Lia
Lia ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.01.2008, 16:08  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

irgend eine variable ist leer, d.h. entweder NULL oder ''. lass sie dir also ausgeben. zudem würde es dir helfen, die variable $Fehler mit sinnvollen sachen zu füllen.

aber mal die sinn frage: du überprüfst ob kein \n (Zeilenumbruch) und kein \r enthalten ist. bei einem email formular wird dein formular so schnell zur spamschleuder.

und es heißt nicht != FALSE sondern !== FALSE (typensicherheit)
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 03.01.2008, 16:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dein Skript ist ein großer Haufen Mist!

strpos() prüft man zusätzlich auf Typgleich/ungleichheit, weil 0, 1 oder FALSE alles gültige Rückgabewerte sind, die man aber unterschieden haben möchte:
http://php.net/strpos

Der konkrete Fehler taucht vermutlich auf, weil irgendeine deiner Variablen $firma, $abteilung, .. leer ist und es keinen Sinn macht, in leeren Zeichenketten zu suchen.
Siehe hierzu:
http://php.net/empty

Außerdem solltest du dir mal überlegen, ob du wirklich jede Zeile wiederholen musst, es gibt schließlich Schleifen in PHP:
http://de2.php.net/manual/en/languag...structures.php

Und zusätzlich kennt PHP boolsche Typen, die allemal besser sind als ein $Fehler = "Yes":
http://de2.php.net/manual/en/language.types.boolean.php
Und please entscheide dich for eine language, alles othere ist bullshit.

Ganz zum Schluß bietet sich noch der Blick auf Coding-Standards an:
http://framework.zend.com/manual/en/...-standard.html
denn
PHP-Code:
<?php
if (irgendwas) { tuwas(); } // schlecht

if (irgendwas) {
  
tuwas(); // besser da übersichtlicher
}
?>
Zergling-new ist offline  
Alt 03.01.2008, 23:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Schließlich und endlich solltest Du die "Validierung" in einem OR-verknüpftem IF oder in einer Schleife mit Abbruchbedingung (break) formulieren. Denn in Deinem Beispiel werden selbst wenn in $firma ein \n gefunden und damit $Fehler gesetzt wird, alle anderen Tests noch unsinnigerweise durchlaufen.
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Timestamp problem phrain PHP Tipps 2008 2 04.04.2008 09:41
Problem mit CAPTCHA patEwing PHP Tipps 2008 0 11.02.2008 21:57
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
problem mit SELECT PHP Tipps 2004 10 27.10.2004 16:51
empty Problem PHP Tipps 2004 7 24.09.2004 14:51
Formular Problem mit empty und or PHP Tipps 2004 2 07.09.2004 23:49
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
empty delimiter, strpos empty delimiter, strpos() [function.strpos]: empty delimiter, warning: strpos() [function.strpos]: empty delimiter, php strpos empty delimiter, warning: strpos() [function.strpos]: empty delimiter in, php empty delimiter, strpos(): empty delimiter, empty delimiter in, empty delimiter strpos, strpos() [function.strpos]: empty delimiter in, warning: strpos(): empty delimiter, empty delimiter php, delimiter php, php empty delimiter strpos, php delimiter, strpos() [function.strpos]: empty delimiter., warning: strpos() [function.strpos]: empty delimiter., strpos empty delimiter in, empty delimiter in strpos

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.