2017-01-30 2 views
2

Ich bin mit PHP in meinem Projekt und wenn jede Form vorgelegt wird, ich brauche, falls die Eingabe nicht leer zu überprüfen, so dass ich so etwas wie diese:Wie überprüft man den Eingabewert nicht Leerzeichen?

if(empty($myVar)) { 
    echo "Error"; 
} else { 
    echo "success"; 
} 

Aber das scheint nicht zu funktionieren so wie ich will, also wenn der Benutzer einen leeren Platz wie "" eingibt, so ist zwischen dem Zitat nichts als Leere, aber trotzdem zeigt PHP eine Erfolgsmeldung anstelle einer Fehlermeldung.

I verwendet isset ($ var) auch, aber sein das Samething, nicht funktioniert, wie ich brauche.

Was könnte das Problem sein? und wie man es löst?

+2

'leer (trim ($ myVar))' und Sie sind in Ordnung. Und da wir in it-Welt meinen Sie mehr: 'Sehkraft emptiness' – JustOnUnderMillions

Antwort

5

Verwenden trim Funktion, die Leerzeichen am Anfang und am Ende eines Strings entfernt:

if(empty(trim($myVar))) { 
    echo "Error" 
} else { 
    echo "success"; 
} 
+0

Thank So viel, gespeichert Sie meinen Tag :) Aber ich habe eine kurze Frage, warum leere Funktion in diesem Zustand nicht geeignet? Warum zählt der Raum nicht als echter Charakter? Oder was genau passiert in dieser Funktion? –

+0

Hier ist eine manuelle Seite http://php.net/manual/en/function.empty.php#refsect1-function.empty-returnvalues ​​Es beschreibt, welche Werte leer –

+0

@Maohammed Hayder Sehr wichtig und hilfreich Tabellen http betrachtet werden: // php.net/manual/de/types.comparisons.php – JustOnUnderMillions

3
echo empty(trim($myVar)) ? 'Error' : 'success'; 
2

Wenn Sie wollen trim alle Felder aus $_POST, verwenden Sie die folgenden Schritte aus:

$_POST = array_map("trim", $_POST); 

Dann können Sie einfach mit empty() überprüfen.

Dies ist aber nur dann sinnvoll, wenn Sie ein paar Felder haben. Für nur ein, sollten Sie den direkten Weg mit empty(trim($var))

2

folgen würde ich vorschlagen, sollten Sie zuerst die $ myVar trimmen, bevor Sie die Leere Überprüfung als

if(empty(trim($myVar))) { 
    echo "Error"; 
} else { 
    echo "success"; 
} 

folgt Was wird dies tun wird, zu entfernen ist jeder Vorder- oder Hinter Leerzeichen aus der Variablen $ myVar und dann prüfen, ob die Variable leer ist oder nicht.

Verwandte Themen