Foros del Web » Programando para Internet » PHP »

Control de sesiones

Estas en el tema de Control de sesiones en el foro de PHP en Foros del Web. Que tal gente! tengo una duda con el siguiente codigo Código HTML: <?php @session_start(); if (!isset($_SESSION['MM_Username'])) { // si no existe la variable de sesión ...
  #1 (permalink)  
Antiguo 06/09/2011, 14:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 95
Antigüedad: 14 años, 7 meses
Puntos: 0
Control de sesiones

Que tal gente! tengo una duda con el siguiente codigo

Código HTML:
<?php
@session_start(); 
if (!isset($_SESSION['MM_Username'])) { // si no existe la variable de sesión ... 
  include("conecta.php");  //acceso a la BD
  $email = $_POST['email'];
  $password = $_POST['password'];
  $result = mysql_query('SELECT * FROM usuarios WHERE email=\''.$email.'\'');
   if($row = mysql_fetch_array($result)){   //si los datos introducidos por el usuario (email) existen en la BD entonces
		if($row["pass"] == $password){       //si las contraseñas coinciden 
		   $_SESSION['user'] = $row["email"];   //crear varaiable de seccion 
           $activo = "INSERT INTO conec (email) VALUES('$email')";       // inserta en conec el email (seccion)
		   mysql_query($activo) or die(mysql_error());
		   header ("Location: panel.php");
		   }else{
		         header ("Location: nopass.php");
				 }
			}else{
			     header ("Location: noresult.php");
				 }
		}else{
			  header ("Location: secionabierta.php");	 
			}


?>



lo que necesito es que, una ves que el usuario introduzca sus datos en login.php (email y contraseña) cree una variable de seccion hasta aqui :arriba pero...no logro comprender como hacerle para que el usuario no pueda hacer login 2 veces y meterse al sistema desde 2 maquinas diferentes....
lo que hago en el siguiente código es que una vez que el usuario se haiga logiado se inserta el mail en una tabla diferente a la de usuarios, esto para saber que usuario esta conectado este es el codigo
Código HTML:
$activo = "INSERT INTO conec (email) VALUES('$email')"; 
No se si se pueda hacer lo mismo con las propias seciones...una ayudadita por favor
  #2 (permalink)  
Antiguo 06/09/2011, 17:32
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Control de sesiones

Para controlar eso deberás tener el control de sessiones mediante la base de datos.

Es algo complejo, pero bien configurado cumple con la función que buscas.

Busca información sobre session_set_save_handler.

Si buscas en google puedes encontrar clases completas para hacerlo. Aquí en el foro recuerdo que vi algo al respecto.

Pero deberás implementarla en tu sistema.

Suerte,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #3 (permalink)  
Antiguo 06/09/2011, 23:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 95
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Control de sesiones

Gracias por contestar! voy a divertirme y les comento que paso !
  #4 (permalink)  
Antiguo 06/09/2011, 23:44
 
Fecha de Ingreso: septiembre-2011
Ubicación: guadalajara
Mensajes: 23
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Control de sesiones

ME PASA ALGO MUY RARO TENGO UN DOMINIO Y UN SUBDOMINIO Y CUANDO
MANDO EL LINK A UNOS AMIGOS LES SALE ( NOT FOUND ) PERO YO SI AQUI EN MEXICO LA PUEDO VISUALIZAR SIN PROBLEMAS.

EL ERROR ES ESTE :


La URL solicitada / A A no se ha encontrado en este servidor.

Además, un error 404 Not Found se encontró al intentar utilizar un ErrorDocument para manejar la petición.

Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 servidor FrontPage/5.0.2.2635 causasuruguay.solanasnet.com en el puerto 80


ESTOY DESESPERADO ME PUEDEN AYUDAR POR FAVOR

Etiquetas: control, mysql, sesiones, sql, tabla, variables, 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 00:22.