Foros del Web » Programando para Internet » PHP »

Funcionamiento de funciones

Estas en el tema de Funcionamiento de funciones en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original function comprobarlogin ( $email , $pass ) {     //conexión a la bd     //comprobacion de los ...
  #1 (permalink)  
Antiguo 18/04/2009, 05:35
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Funcionamiento de funciones

Código php:
Ver original
  1. function comprobarlogin($email, $pass)
  2. {
  3.     //conexión a la bd
  4.     //comprobacion de los datos
  5.     if ()//si los datos coinciden crea las variables de sesion
  6.     {
  7.         $_SESSION["usuario_valido"] = "si";
  8.         return "loginOK";
  9.     }
  10.     else //devuelve error
  11.     {
  12.         return "Tus datos no son correctos";
  13.     }
  14. }
  15.    
  16. if ( $accion == "comprobaridentificacion")
  17. {
  18.     $comprobarlogin = comprobarlogin($email, $pass);
  19.     if ($comprobarlogin != "loginOK")
  20.     {   $errores_identificacion[] = $comprobarlogin;}
  21.    
  22.     foreach ($errores_identificacion as $indice => $valor)
  23.     { echo '<div id="mensages">Error nº'.($indice + 1).': '.$valor.'</div>';}
  24. }

No se si es correcta la forma de resolver el problema de que datos devuelve la funcion, si un "ok" o un "error"...

También había pensado esta otra opción para la parte final:
Código php:
Ver original
  1. $comprobarlogin = comprobarlogin($email, $pass);
  2. if ( !$_SESSION["usuario_valido"] )
  3. //No hay variable de sesion que indique que los datos de identificacion son correctos.
  4. {$errores_identificacion[] = $comprobarlogin;}
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."

Última edición por Dude--; 18/04/2009 a las 08:59
  #2 (permalink)  
Antiguo 18/04/2009, 07:54
Avatar de pacmanaman  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Funcionamiento de funciones

En la linea 7 del primer codigo pone ...

$_SESSION["usuario_valido"] = TRUE;

De la linea 15 a la 23 no va a llegar nunca por que ya con el primer if capturas lo que pasa y siempre va retornar o "LoginOK" o en caso de error "Tus datos no son correctos"

Y en la función tenes la variable $accion, en que momento tiene data, por que no veo que se la pases como argumento a la función.

SaluDOS!
__________________
(<++
  #3 (permalink)  
Antiguo 18/04/2009, 08:13
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: Funcionamiento de funciones

Perdona, olvide mencionar que la llamada a "comprobaridentificacion" se hace desde un formulario, mediante el cual también se envian $email y $pass:
<form id="identificacion" action="index.php?accion=comprobaridentificacion". ......

De todas formas la consulta es relativa a que la función cuando detecta un error de identificación devuelve mediante return el error, pero cuando los datos son correctos devuelve loginOK en el primer caso o $_SESSION["usuario_valido"] = "si" en el segundo. La cuestión es si esta es la forma más optima de hacerlo.

PD: if ( $accion == "comprobaridentificacion") NO FORMA PARTE DE LA FUNCION, he editado la tabulación del código para que se pueda leer mejor.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."

Última edición por Dude--; 18/04/2009 a las 09:00
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 13:36.