Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/01/2013, 06:40
Avatar de johntellojohn
johntellojohn
 
Fecha de Ingreso: enero-2013
Ubicación: Donostia
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Sesiones activas en PHP

Cita:
Iniciado por truman_truman Ver Mensaje
ok, en primer lugar session_start(); debe estar en todos los archivos y es lo primero que escribirás luego de la apertura de php

Código PHP:
Ver original
  1. <?php

ahora, cuando el user ingresa los datos en el formulario y luego va hacia iniciar.php
es ahi en donde debes recuperar esas variables y hacer el login, que por lo que decís
funciona bien, ok, en el caso de que el login sea positivo, en ese momento tenés que
crear , por ejemplo una variable de session para saber si el user está logueado o no:


Código PHP:
Ver original
  1. $_SESSION["logueado"] = 1;

de esta forma, para saber si el usuario esta logueado solo tenes que consultar a esa variable
por ejemplo si el user accede a una seccion del sitio llamada listar_usuarios.php, tenes que comprobarlo asi por ejemplo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(!isset($_SESSION["logueado"])){
  4.     echo 'Usted no esta logueado';
  5.     exit;
  6. }
preguntas si no existe la variable de session
en ese caso mensaje de error o mejor aun redireccionarlo al login.php en donde está el formulario.

Bueno, eso es lo básico.
Primero que nada gracias por tu ayuda pero tengo un problema:
tengo tres formularios (index.html - inicio.php - enviar.php)
>>Los datos que envio desde el formulario de Index.html son (nick y password)

>>En inicio.php recibe los datos
Código PHP:
Ver original
  1. $nick=$_POST['nick'];
  2. $password=$_POST['password'];
  3. $password_md5=md5($password)

y procede a hacer la autentificación de datos y a hacer el proceso encargado.

>>En inicio.php hay otro formulario que al enviar los datos te lleva a enviar.php,
y el problema es que al regresar a inicio.php, te dice "El usuario no existe" es por que espera de que se envie por método POST el usuario y contraseña.

>>Lo que no tengo claro es como debo alimentar el usuario y contraseña y que durante la sesion activa estos datos se conviertan en consatantes.... haaaa me revienta la cabeza xD
Código PHP:
Ver original
  1. <?php
  2. #Conectamos con MySQL
  3. $conexion = mysql_connect("localhost","root","toor")
  4. or die ("Fallo en el establecimiento de la conexión");
  5.  
  6. #Seleccionamos la base de datos a utilizar
  7. mysql_select_db("proyecto")
  8. or die("Error en la selección de la base de datos");
  9.  
  10. //Cargar datos en variables
  11. $nick=$_POST['nick'];
  12. $password=$_POST['password'];
  13. $password_md5=md5($password);
  14.            
  15. #Efectuamos la consulta SQL
  16. $sql = "select * from usuario where nick = '".$nick."'";
  17. $result = mysql_query ($sql);
  18.        
  19. #Mostramos la consulta         
  20.     if ( $row = mysql_fetch_array ( $result )) {
  21.         if ($password_md5 == $row['password']){
  22.  
  23.            
  24.             //Guardando el id de Usuario, nombre y apellido en una variable
  25.             $_SESSION['nick_ini']=$nick;   
  26.             $_SESSION['password_md5_ini']=$password_md5;
  27.             $_SESSION["logueado"] = 1;
  28.            
  29.             $_SESSION['id_usuario']=$row['id_usuario'];
  30.             $_SESSION['nombre']=$row['nombre'];
  31.             $_SESSION['apellido']=$row['apellido'];
  32.            
  33.             echo "Bienvenido ".$nombre." ".$apellido."<br>";
  34.             echo "<a href= 'index.html'>Cerrar sesión</a>"."<br>";
  35.            
  36.  
  37.             //Intentando escribir código html
  38.     ?>
  39.             <html>
  40.                 <body>
  41.                         <p>Publica un dreams!<p>
  42.                         <form action="env_dream.php" method="POST" name="comentario">
  43.                         <textarea rows="3" name="comentario" cols="50">Máximo 250 caracteres</textarea>
  44.                         <p><input TYPE="SUBMIT" VALUE="Dreams">
  45.                         <input TYPE="RESET" VALUE="Borrar">
  46.  
  47.                         </form>
  48.                 </body>
  49.             </html>
  50.     <?php
  51.             //Inserta la consulta de estados
  52.             echo 'Comentarios'.'<br>';
  53.            
  54.             #Efectuamos la consulta SQL
  55.                 $sql = "select dreams, fecha, nick from estados where id_usuario = '". $id_usuario."' order by id_dreams desc";
  56.                 $result = mysql_query ($sql);
  57.                
  58.             //Este comando cuenta los dreams que estan almacenadas
  59.                 $num_dreams = mysql_num_rows($result);
  60.                 echo '<br>'."Tienes ".$num_dreams." dreams"."<br>";
  61.                
  62.             //Imprimir en pantalla estados
  63.                 while ($row=mysql_fetch_array($result)) {
  64.                         if (mysql_num_rows($result) > 0) {
  65.                             $comentario_pan=$row['dreams'];
  66.                             $fecha_pan=$row['fecha'];
  67.                             $nick_pan=$row['nick'];
  68.                             echo '<br>'.$comentario_pan;
  69.                             echo '<br>'.'Fue publicado '.$fecha_pan.'<br>';
  70.                             echo 'Publicado por '.$nick_pan.'<br>';
  71.  
  72.                         }else{
  73.                             echo "¡No tienes dreams!";
  74.                         }
  75.                 }
  76.  
  77.             }
  78.                 else{
  79.                         echo "Ha habido un error en la autentificación";
  80.                     }
  81.     }
  82.         else{
  83.             echo "No existe el usuario";
  84.             }
  85. mysql_close($conexion);
  86. ?>