2012-06-26 14 views
31

Eventuali duplicati:
Check if a variable is emptyQual è la sintassi di PHP per verificare "is not null" o una stringa vuota?

semplice domanda PHP:

ho questo stement:

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

Da qualche parte sopra di questa affermazione io uso la seguente riga nel il mio JavaScript per impostare il nome utente come una variabile sia nella mia JavaScript e nel mio PHP:

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

Quello che voglio fare è aggiungere una condizione per assicurarsi $ utente non è nullo o una stringa vuota (non deve essere alcun particolare valore , Semplicemente non voglio che sia vuoto. Qual è il modo corretto per farlo?

So che questa è una domanda di davanzale ma non ho esperienza con PHP. Si prega di avvisare, grazie!

+0

si prega di utilizzare la funzione di ricerca prima di fare domanda come v'è stato chiesto di in http://stackoverflow.com/questions/ask-advice. Questo è stato chiesto e risposto prima: http://stackoverflow.com/search?q=check+for+empty+value+php – Gordon

risposta

52

Null O una stringa vuota?

if (!empty($user)) {} 

Utilizzare vuoto().


Dopo aver capito che $ user ~ = $ _POST [ 'user'] (grazie matt):

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

Sembra che io abbia letto la domanda in modo diverso rispetto a tutti gli altri ... stiamo parlando di $ utente, non $ _POST ['utente'], giusto? –

+1

'$ user' è assegnato a' $ _POST ['utente'] 'nel suo codice. Potrebbe anche essere valido prima dell'assegnazione, ma in realtà non importa –

+0

hmm, qual è la differenza, esattamente? se sto facendo qualcosa di sbagliato, per favore dimmelo! –

12

Utilizzare empty(). Controlla sia le stringhe vuote che null.

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

Dal manuale:

Le seguenti cose sono considerati vuota:

"" (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 per favore. – Gordon

+0

Nota che se "utente" non è impostato su $ _POST, riceverai un avviso. Funzionerà ancora, ma riempirà rapidamente i tuoi registri. Solitamente mitigo questo con: 'if ((array_key_exists ('utente', $ _ POST)) || (! Vuoto ($ _ POST ['utente']))' –

+0

tutti e tre mi stanno dando messaggi di errore: –

0

Vedi PHP's strlen() function. Restituirà la lunghezza della stringa

if (isset($_POST['user']) && strlen($_POST['user']) > 0) 
Problemi correlati