Foros del Web » Programando para Internet » PHP »

¿Que significa esta linea de codigo (if)?

Estas en el tema de ¿Que significa esta linea de codigo (if)? en el foro de PHP en Foros del Web. Hola!! Hace poco empezé un curso de PHP y me topé con este problema, una línea de código que no entiendo como funciona Este código ...
  #1 (permalink)  
Antiguo 23/12/2011, 14:27
Avatar de cuervo699  
Fecha de Ingreso: febrero-2011
Mensajes: 104
Antigüedad: 13 años, 2 meses
Puntos: 7
¿Que significa esta linea de codigo (if)?

Hola!!
Hace poco empezé un curso de PHP y me topé con este problema, una línea de código que no entiendo como funciona

Este código es para hacer login de un usuario, los name del input del form para conectar son: Usuario y password respectivamente.

Código PHP:
Ver original
  1. if(($_POST['usuario']!="")&&($_POST['password']!=""))

Mis dudas:


1.- ¿Que le esta diciendo este código a php?

"Si los datos del input USUARIO y los del input PASSWORD han sido rellenados hace esto"

Esta bien?

2.- ¿porque al lado de $_POST['usuario']! hay un signo de exclamacion?¿Que hace?

3.- ¿Porque ($_POST['usuario']!="") es igual a nada ="" ?

4.- ¿Como funciona &&? lo he visto muchas veces, tengo mis teorias, pero no estoy seguro sobre su funcionamiento

Me esforsé por hacer bien este post, por favor ayudenme a resolver estas interrogantes que tengo

Saludos!!
__________________
Quieres aprender a crear sitios web dinamicos, no te pierdas, usa Dreamweaver CS5
  #2 (permalink)  
Antiguo 23/12/2011, 14:30
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: ¿Que significa esta linea de codigo (if)?

Esto != significa "si no es igual"
El signo ! es de negacion.

!= ""

si no es igual a nada.
esto "" es nada


&& es y
esto y esto =(esto)&&(esto)
__________________
la la la
  #3 (permalink)  
Antiguo 23/12/2011, 14:33
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ¿Que significa esta linea de codigo (if)?

Tu duda es super sencilla:

Cita:
if(($_POST['usuario']!="")&&($_POST['password']!=""))
Los dos signos && significan el condicional lógico y, es decir que se deben cumplir ambas condiciones para que sea cierto.

El signo !="" indica que existe algun tipo de información. Los signos != indican "no es igual a"

En resumen lo que hace la expresión es: Si el campo usuario y el campo contraseña tienen algun tipo de contenido (es decir no estan vacios) haga lo que esta dentro del condicional.
  #4 (permalink)  
Antiguo 23/12/2011, 14:36
Avatar de cuervo699  
Fecha de Ingreso: febrero-2011
Mensajes: 104
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: ¿Que significa esta linea de codigo (if)?

un millon de gracias a ambos
__________________
Quieres aprender a crear sitios web dinamicos, no te pierdas, usa Dreamweaver CS5
  #5 (permalink)  
Antiguo 23/12/2011, 14:49
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: ¿Que significa esta linea de codigo (if)?

Y de hecho eso no está muy bien hecho que digamos.
A ver, digamos que en el formulario nunca se envía el usuario, por consecuencia nunca existe la variable $_POST['usuario']. Ésto, aplicado como en tu condicional, daría error porque la variable no existe, entonces se está intentando comparar algo inexistente.

Para evitar ésto, se hace uso de isset
Y además, esa comparación con un valor vació no es necesaria, para eso existe empty. - Revisa ambas cosas en el manual -

Entonces, se tendrían dos comprobaciones por campo: Una para ver si se recibe el campo, otra para revisar que no esté vacío, quedando algo así:
Código PHP:
Ver original
  1. if(isset($_POST['ejemplo']) && !empty($_POST['ejemplo'])) { ....
  2.  
  3. // Si (existe(ejemplo) y no(vacío(ejemplo))) entonces ......

http://php.net/isset
http://php.net/empty

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 23/12/2011, 14:57
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ¿Que significa esta linea de codigo (if)?

creo que todas esas dudas las resuelves leyendo esto http://php.net/manual/es/language.operators.php, sino lo conocías te lo presento es el manual oficial la mayoría cuando comenzamos no conocemos esta documentación, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 23/12/2011, 15:32
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: ¿Que significa esta linea de codigo (if)?

Cita:
Iniciado por Sourcegeek Ver Mensaje
Y de hecho eso no está muy bien hecho que digamos.
A ver, digamos que en el formulario nunca se envía el usuario, por consecuencia nunca existe la variable $_POST['usuario']. Ésto, aplicado como en tu condicional, daría error porque la variable no existe, entonces se está intentando comparar algo inexistente.

Para evitar ésto, se hace uso de isset
Y además, esa comparación con un valor vació no es necesaria, para eso existe empty. - Revisa ambas cosas en el manual -

Entonces, se tendrían dos comprobaciones por campo: Una para ver si se recibe el campo, otra para revisar que no esté vacío, quedando algo así:
Código PHP:
Ver original
  1. if(isset($_POST['ejemplo']) && !empty($_POST['ejemplo'])) { ....
  2.  
  3. // Si (existe(ejemplo) y no(vacío(ejemplo))) entonces ......

http://php.net/isset
http://php.net/empty

Saludos!
Pero no seria mas sencillo usar solo en ese ejmplo que pones am usar empty() ?

Puesto que si la variable no existe o esta vacia, esta nos regresara el true, que es lo que deceamos verificar que si esta vacia hacer tal cosa, comunmente usamos esto para checar que no dejen campos vacios en los formularios lo cual usar solo empty para mi sera mas sencillo.
  #8 (permalink)  
Antiguo 23/12/2011, 15:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: ¿Que significa esta linea de codigo (if)?

Bueno, sí, perdon, tienes razón.
Empty verifica que exista y también que esté vacía, entonces con empty basta.

Saludos
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:56.