2012-06-26 12 views
31

Duplicar posible:
Check if a variable is empty¿Cuál es la sintaxis de PHP para verificar "no es nulo" o una cadena vacía?

simple cuestión de PHP:

tengo este stement:

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

En algún lugar por encima de esta declaración utilizo la siguiente línea en mi JavaScript para configurar el nombre de usuario como una variable tanto en mi y en mi JavaScript PHP:

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

Lo que quiero hacer es añadir una condición para asegurarse de $ usuario no es nulo o una cadena vacía (que no tiene por qué ser cualquier valor particular , Simplemente no quiero que esté vacío. ¿Cuál es la forma apropiada de hacer esto?

Sé que esta es una pregunta de umbral pero no tengo experiencia con PHP. Aconseja, gracias!

+0

utilice la función de búsqueda antes de hacer la pregunta que se le ha solicitado en http://stackoverflow.com/questions/ask-advice. Esto se ha pedido y respondido antes: http://stackoverflow.com/search?q=check+for+empty+value+php – Gordon

Respuesta

52

Null O una cadena vacía?

if (!empty($user)) {} 

Usar vacío().


Después de darse cuenta de que $ usuario ~ = $ _POST [ 'usuario'] (gracias mate):

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

Parece que leo la pregunta de manera diferente a todos los demás ... estamos hablando de $ usuario, no $ _POST ['usuario'], ¿verdad? –

+1

'$ user' se asigna a' $ _POST ['user'] 'en su código. También podría validar antes de la asignación, pero realmente no importa –

+0

hmm, ¿cuál es la diferencia, exactamente? si estoy haciendo algo mal por favor dime! –

12

Utilice empty(). Comprueba cadenas vacías y nulo.

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

Del manual:

Los siguientes factores son considerados como vacío:

"" (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 por favor. – Gordon

+0

Tenga en cuenta que si 'usuario' no está configurado en $ _POST, recibirá una advertencia. Todavía funcionará, pero llenará tus registros rápidamente. Normalmente atenúo esto con: 'if ((array_key_exists ('user', $ _ POST)) || (! Empty ($ _ POST ['user']))' –

+0

los tres me están dando mensajes de error: –

0

Ver PHP's strlen() function. Devolverá la longitud de la cadena

if (isset($_POST['user']) && strlen($_POST['user']) > 0) 
Cuestiones relacionadas