Foros del Web » Programando para Internet » PHP »

Activacion cuenta, con codigo

Estas en el tema de Activacion cuenta, con codigo en el foro de PHP en Foros del Web. Hola amigos, necesito ayuda con esto que estoy tratando de hacer. Al registrarse el usuario se le genera en la bd un campo codigo aleatorio, ...
  #1 (permalink)  
Antiguo 01/06/2010, 17:24
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Activacion cuenta, con codigo

Hola amigos, necesito ayuda con esto que estoy tratando de hacer. Al registrarse el usuario se le genera en la bd un campo codigo aleatorio, y un campo llamado estado con un numero inicial "0" hasta que lo active y se convierta en 1.

Estaba pensando en mandarle el email con el codigo y que cuando ingrese deba pegarlo y listo, cuenta activada.

El tema es el siguiente, probando manualmente si está en 0 lo manda a una pagina que no es el perfil sino una donde debe pegar el codigo verificacionemail.php, pero si yo cambio a 1 el estado, me sigue mandando a esa pagina.
Como hago no me anda la redireccion?


Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3.  
  4. session_name('pLogin');
  5. include("function.php");
  6. include("connect.php");
  7. include("getdata.php");
  8.  
  9. $usuario=$_SESSION['usuario'];
  10.  
  11.  
  12. if(!$_SESSION['usuario']=='usuario'){
  13. header("Location: index.php");// si no es igual a nick te direcciona al inicio u a otra pagina
  14. }
  15.  
  16.  
  17. $estado=mysql_fetch_array(mysql_query("select estado from members where usuario='$usuario"));
  18. if($estado != "1")
  19. {
  20. header("Location: verificacionemail.php");
  21. die();
  22. }

Necesito ayuda, muchas gracias.Saludos
  #2 (permalink)  
Antiguo 01/06/2010, 17:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Activacion cuenta, con codigo

recuerda que mysql_fetch_array te devolverá un array, por lo tanto es:

if($estado['estado'] != "1")

por ello array siempre sera diferente de 1,
  #3 (permalink)  
Antiguo 01/06/2010, 17:46
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Poniendo
Código PHP:
Ver original
  1. $estado=mysql_fetch_array(mysql_query("select estado from members where usuario='$usuario"));
  2. if($estado['estado'] != "1")
  3. {
  4. header("Location: verificacionemail.php");
  5. }

Me manda a verificacionemail.php, debo poner else{ y que me mande a perfil.php de lo contrario?

Pasa que en la bd está seteado en 1, entonces me deberia mandar a perfil, pero no es asi.

Hola , cambié esto, pero dice que tiene muchos redireccionamientos. El verificador ya me anda, lo actualiza pero cuando voy a iniciar sesion, estando cambiado el numero no me manda y si me manda lo hace siempre a verificacionemail.php

Dejo el codigo:

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3.  
  4. session_name('pLogin');
  5. include("function.php");
  6. include("connect.php");
  7. include("getdata.php");
  8.  
  9.  
  10. $id=$_SESSION['id'];
  11. $usuario=$_SESSION['usuario'];
  12.  
  13.  
  14. if(!$_SESSION['usuario']=='usuario'){
  15. header("Location: index.php");// si no es igual a nick te direcciona al inicio u a otra pagina
  16. }
  17.  
  18.  
  19.  
  20.     $sql="select estado from members where id='$id'";
  21.     $rs_query=mysql_query($sql);
  22.    
  23.     if( $rs=mysql_fetch_array($rs_query))
  24.     {
  25.         if($rs["estado"]== "1"){
  26.             header("Location: perfil.php");
  27.             die();
  28.         }
  29.         else
  30.         {
  31.             header("Location: verificacionemail.php");
  32.             die();
  33.         }
  34.     }

al final ya lo resolvi, gracias .

Última edición por GatorV; 02/06/2010 a las 09:04

Etiquetas: Ninguno
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 11:05.