2012-06-26 23 views
31

Powiel możliwe:
Check if a variable is emptyCo to jest składnia PHP, aby sprawdzić "nie jest pusta" lub pusty ciąg znaków?

Proste PHP pytanie:

mam ten stement:

if (isset($_POST["password"]) && ($_POST["password"]=="$password")) { 
...//IF PASSWORD IS CORRECT STUFF WILL HAPPEN HERE 
} 

Gdzieś nad tym stwierdzeniem używam następujący wiersz w mój JavaScript, aby ustawić nazwę użytkownika jako zmienna zarówno w moim JavaScript w moim PHP:

uservariable = <?php $user = $_POST['user']; print ("\"" . $user . "\"")?>; 

Co chcę zrobić, to dodać warunek, aby upewnić $ użytkownik nie jest null lub pusty ciąg znaków (nie musi być jakaś konkretna wartość , Po prostu nie chcę, żeby była pusta. Jaki jest właściwy sposób na zrobienie tego?

Wiem, że to jest pytanie, ale nie mam doświadczenia z PHP. Proszę doradzić, dziękuję!

+0

Aby skorzystać z funkcji wyszukiwania, zanim zadasz pytanie, jak zostałeś poproszony w http://stackoverflow.com/questions/ask-advice. Zostało to już zadane i udzielono na nie odpowiedzi: http://stackoverflow.com/search?q=check+for+empty+value+php – Gordon

Odpowiedz

52

Null LUB pusty ciąg znaków?

if (!empty($user)) {} 

Użyj pustego().


po zdając sobie sprawę $ user ~ = $ _ POST [ 'user'] (dzięki matowej):

var uservariable='<?php 
    echo ((array_key_exists('user',$_POST)) || (!empty($_POST['user']))) ? $_POST['user'] : 'Empty Username Input'; 
?>'; 
+0

Wygląda na to, że przeczytałem to pytanie inaczej niż wszyscy inni ... mówimy o $ user, a nie $ _POST ['user'], prawda? –

+1

'$ user' jest przypisany do' $ _POST ['user'] 'w swoim kodzie. Równie dobrze można sprawdzić przed zleceniem, ale to naprawdę nie ma znaczenia –

+0

hmm, co za różnica, dokładnie? jeśli robię coś nie tak, powiedz mi! –

12

Użyj empty(). Sprawdza zarówno puste ciągi, jak i wartość zerową.

if (!empty($_POST['user'])) { 
    // do stuff 
} 

Z instrukcji:

Następujące rzeczy są uważane za puste:

"" (an empty string) 
0 (0 as an integer) 
0.0 (0 as a float) 
"0" (0 as a string)  
NULL 
FALSE 
array() (an empty array) 
var $var; (a variable declared, but without a value in a class) 
+0

closevote please. – Gordon

+0

Należy zauważyć, że jeśli "użytkownik" nie jest ustawiony na $ _POST, otrzymasz ostrzeżenie. Nadal będzie działać, ale szybko zapełni dzienniki. Zazwyczaj ograniczam to do: 'if ((array_key_exists ('user', $ _ POST)) || (! Empty ($ _ POST ['user']))' –

+0

wszystkie trzy z nich wyświetlają mi komunikaty o błędach: –

Powiązane problemy