String nicht leer

Hallo,

ich möchte bei einer Anmeldung überprüfen, ob ein String nicht leer ist.
isset() funktioniert nicht, da der String über ein POST-Formular zugewiesen wird.
empty() und == ‚‘ funktionieren zwar, aber ich möchte auch solche Eingaben wie z.B.: " " (5 Leerzeichen) herausfiltern.

Gruß, sagitta1793

Hi
Wenn es nur um die Leerzeichen geht kannst du trim( $sString ) benutzen:

$sString = trim( $sString );
if( empty( $sString ) ){
 // leer
}else{
 // nicht leer
}

Gruß Lamer

Hallo,

danke für die schnelle Antwort.
Mein Code sieht so aus:
if(empty(trim($_POST[‚name‘]))) {echo(’- Es wurde kein Name angegeben.’ . $br); $fehler = true;}
Ergebnis:

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or ‚$‘ in /homepages/x/xxxxxxxxx/htdocs/xdateix.php on line 17
Ich programmiere mit Dreamweaver CS5 und in der Funktionsbeschreibung von trim() steht: „trim( string $str [, string $charlist] )“, deshalb habe ich auch noch:
if(empty(trim($_POST[‚name‘], ’ ‚))) {echo(‘- Es wurde kein Name angegeben.’ . $br); $fehler = true;}
ausprobiert, selber Fehler.

Ich vermute mal, ich habe einen sau blöden winzigen Denkfehler drin, ich finde ihn allerdings nicht :wink:

Gruß, sagitta1793

Hi

Versuch es mal so:

$sName = trim( $\_POST['name'] );
if( empty( $sName ) ){
 echo 'Kein Namen eingegeben';
 $bFehler = true;
}

Das was du bei trim als optionalen Parameter noch mit geben kannst ist eine Charlist von werten die er vorn und hinten am String löschen soll. Das kannst du also erstmal weg lassen da der Standard alle möglichen WhiteSpaces berücksichtigt.

Woher der Fehler in Line 17 kommt kann ich dir allerdings nicht sagen.

Gruß Lamer

1 Like

empty ist ein Sprachkonstrukt und keine Funktion.
Daher kann empty keine Funktionen enthalten sondern kann nur einen Wert prüfen

heißt du musst erst trimmen und dann mit empty prüfen.

Gruß

1 Like

Hallo,

ihr habt beide Recht.
Danke für die Hilfe und von mir gibts dafür ein Sternchen :wink:

Gruß, sagitta1793