Foros del Web » Programando para Internet » PHP »

Al registrarse inicie sesión automaticamente

Estas en el tema de Al registrarse inicie sesión automaticamente en el foro de PHP en Foros del Web. Buenos días. Pues estoy algo saturado, por que no se me ocurre como hacer esto: Necesito que cuando se registre vaya al index.php (esto ya ...
  #1 (permalink)  
Antiguo 01/12/2016, 04:53
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Al registrarse inicie sesión automaticamente

Buenos días. Pues estoy algo saturado, por que no se me ocurre como hacer esto:

Necesito que cuando se registre vaya al index.php (esto ya lo tengo con un script), pero además que tambien compruebe que esta el usuario y se inicie sesión solo.

Algúna idea?

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. if(isset($_POST['enviar']))
  6. {  
  7.     if($_POST['Nombre'] == '')
  8.     {
  9.         echo '<span class="error">Ingrese su Nombre</span>';
  10.     }
  11.     else if($_POST['Apellidos'] == '')
  12.     {
  13.         echo '<span class="error">Ingrese sus Apellidos</span>';
  14.     }
  15.      else if($_POST['Username'] == '')
  16.     {
  17.         echo '<span class="error">Ingrese su Corrreo Electronico</span>';
  18.     }
  19.     else if($_POST['Password'] == '')
  20.     {
  21.         echo '<span class="error">Ingrese su Contraseña</span>';
  22.     }
  23.     else if($_POST['Dni'] == '')
  24.     {
  25.         echo '<span class="error">Ingrese un DNI</span>';
  26.     }
  27.     else if($_POST['Direccion'] == '')
  28.     {
  29.         echo '<span class="error">Ingrese una Direccion</span>';
  30.     }
  31.     else if($_POST['Ciudad'] == '')
  32.     {
  33.         echo '<span class="error">Ingrese una Provincia</span>';
  34.     }
  35.     else if($_POST['Poblacion'] == '')
  36.     {
  37.         echo '<span class="error">Ingrese una Poblacion</span>';
  38.     }
  39.     else if($_POST['Postal'] == '')
  40.     {
  41.         echo '<span class="error">Ingrese un Codigo Postal</span>';
  42.     }
  43.     else if($_POST['Telefono'] == '')
  44.     {
  45.         echo '<span class="error">Ingrese un Teléfono</span>';
  46.     }
  47.  
  48.  
  49.     else
  50.     {
  51.  
  52.         $sql = 'SELECT * FROM Usuario';
  53.         $rec = mysqli_query($con, $sql);
  54.         $verificar_usuario = 0;
  55.  
  56.         while($result = mysqli_fetch_object($rec))
  57.         {
  58.             if($result->Username == $_POST['Username'])
  59.             {
  60.                 $verificar_usuario = 1;
  61.             }
  62.         }
  63.  
  64.         if($verificar_usuario == 0)
  65.         {
  66.             if($_POST['Password'])
  67.             {
  68.                 $usuario = $_POST['Nombre'];
  69.                 $apellidos = $_POST['Apellidos'];
  70.                 $username = $_POST['Username'];
  71.                 $password = $_POST['Password'];
  72.                 $direccion = $_POST['Direccion'];
  73.                 $postal = $_POST['Postal'];
  74.                 $poblacion = $_POST['Poblacion'];
  75.                 $ciudad = $_POST['Ciudad'];
  76.                 $telefono = $_POST['Telefono'];
  77.                 $dni = $_POST['Dni'];
  78.                 $fecha=date('y,m,d');
  79.                 $sql = "INSERT INTO Usuario (Nombre,Apellidos, Username, Password, Direccion, Postal, Poblacion, Ciudad, telefono, Dni, fecha)
  80.                        VALUES ('$usuario','$apellidos', '$username', '$password','$direccion','$postal', '$poblacion', '$ciudad','$telefono','$dni', '$fecha')";
  81.                 mysqli_query($con,$sql);
  82.  
  83.                 echo '<span class="aciert">Usted se ha registrado correctamente. <br>
  84.                          ¡Sera redireccionado enseguida!
  85.                              </span>';
  86.  
  87.                 echo"
  88.  
  89.    <script>
  90.    
  91.    function goAway(){
  92.    location.replace('index.php');
  93.    }
  94.    
  95.    setTimeout(goAway,2000);
  96.    </script>";
  97.  
  98.                
  99.  
  100.             }
  101.                      
  102.             else
  103.             {
  104.                 echo '<span class="error">Las claves no son iguales, intente nuevamente.</span>';
  105.             }
  106.  
  107.         }
  108.  
  109.         else
  110.         {
  111.             echo '<span class="error">Este usuario ya ha sido registrado anteriormente.</span>';
  112.         }
  113.        
  114.  
  115.      
  116.  
  117.     }
  118. }
  119.  
  120. ?>
  #2 (permalink)  
Antiguo 01/12/2016, 05:08
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 14 años, 1 mes
Puntos: 20
Respuesta: Al registrarse inicie sesión automaticamente

Después de registrarte debes hacer el login o mantener en sesión el usuario... falta saber que comprobaciones haces cuando un usuario se ha logueado.
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #3 (permalink)  
Antiguo 01/12/2016, 05:40
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Al registrarse inicie sesión automaticamente

Utilizo eso:

Código PHP:
Ver original
  1. <?php
  2. //Inicio la sesión
  3.  
  4.  $user=$_POST["user"];
  5.  $pass=$_POST["pass"];
  6.  $link =$_POST["link"];
  7.  
  8.  if($link == "")
  9.      $link = "/";
  10.  
  11.  
  12.  $_SESSION["DisplayLoginError"] = "N";
  13.  
  14. //Comprobamos si el usuario está auttenticado
  15. if ($_SESSION["autenticado"] != "Y"){
  16.     require ("Connections/db.inc.php");
  17.     require ("classes/user.class.php");
  18.  
  19.     $dblink = db_connect();
  20.    
  21.     // The username is unique, therefore we only can have one record.
  22.     $queryValidaUser = "SELECT IdUsuario, Nombre, Apellidos, Password, Username, Direccion, Postal, Poblacion, Ciudad, Telefono, Dni, Informacion FROM Usuario WHERE Username = '" . $user . "'";
  23.    
  24.     $userDataRS = mysql_query($queryValidaUser) or die('Consulta fallida: ' .  $queryValidaUser . ". Error: ". mysql_error());
  25.    
  26.     $userData = getOneRow($queryValidaUser);
  27.    
  28.     $_SESSION["DisplayLoginError"] = "Y";
  29.     //if($userData = mysql_fetch_assoc($userDataRS)){  
  30.     if($userData){
  31.         if ($pass == $userData['Password']){
  32.             $_SESSION["autenticado"] = "Y";
  33.             /*$_SESSION["Name"] = $userData['Apellidos'] . ", " . $userData['Nombre'];
  34.             $_SESSION["School"] = $userData['Colegio'];*/
  35.             $_SESSION["User"] = User::createUserFromRS($userData);
  36.            
  37.             $_SESSION["DisplayLoginError"] = "N";
  38.         }
  39.     }
  40.     db_disconnect($dblink);
  41. }
  42.  
  43. header("Location: " . rawurldecode($link));
  44.    
  45.  
  46. ?>
  #4 (permalink)  
Antiguo 01/12/2016, 05:48
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Mensaje Respuesta: Al registrarse inicie sesión automaticamente

despues de generar el mensaje de usuario registrado debes cargar los datos a el metodo de comprobacion que uses, por ejemplo si usas para verificar el usuario sesiones y usas tres variables como por ejemplo $_SESSION['name'], $_SESSION['lastName'], $_SESSION['logedIn'] deberias asignar los valores a esas variables para que esten disponibles en index.php
Código PHP:
$_SESSION['name'] = $_POST['user'];
$_SESSION['lastName'] = $_POST['apellidos'];
$_SESSION['logedIn'] = true
si no lo entiendes dimelo y intento explicartelo mejor, un saludo
__________________
http://www.roglastudios.es
  #5 (permalink)  
Antiguo 01/12/2016, 06:04
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Al registrarse inicie sesión automaticamente

Cita:
Iniciado por Dalam Ver Mensaje
despues de generar el mensaje de usuario registrado debes cargar los datos a el metodo de comprobacion que uses, por ejemplo si usas para verificar el usuario sesiones y usas tres variables como por ejemplo $_SESSION['name'], $_SESSION['lastName'], $_SESSION['logedIn'] deberias asignar los valores a esas variables para que esten disponibles en index.php
Código PHP:
$_SESSION['name'] = $_POST['user'];
$_SESSION['lastName'] = $_POST['apellidos'];
$_SESSION['logedIn'] = true
si no lo entiendes dimelo y intento explicartelo mejor, un saludo
Pero lo pongo detrás de echo que pone usuario registrado? tal como lo pones ahí tu? o tambien tiene que ir en un echo?

Muchas gracias Dalam
  #6 (permalink)  
Antiguo 01/12/2016, 11:31
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Al registrarse inicie sesión automaticamente

Fuera de contexto, te recomiendo un sistema de alta al usuario, ese típico que te mandan un mail con un enlace para dar de alta a tu usuario.

Por otra parte:

Código pseudo:
Ver original
  1. session_start();
  2.  
  3. con = false;
  4. if(postConexion){
  5. con = true;
  6. darValoresAsession;
  7. }
  8. else(sessionConexion){
  9. con = true;
  10. }
  11.  
  12. if(con){
  13. //connected
  14. }
  15. else{
  16. //no connected
  17. }

toma sessionConexion como validación de conexion mediante session y postConexion validación de conexion por post. darValoresAsession, dar los valores necesarios para la conexión permanente mediante session.

tanto sessionCon y postCon es pan de cada día.


Etiquetas: automaticamente, fecha, mysql, registrarse, select, sesión, sql, usuario
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 12:29.