Cita:
Iniciado por Triby xfxstudios, creo que tienes que leer el manual de PHP acerca de propagación de sesión:
http://php.net/manual/es/session.idpassing.php
Luego regresas y nos cuentas cómo haces para "no usar cookie" ni pasar la id de sesión por URL, estoy muy intrigado y me interesaría saberlo.
ok amigo no necesito leer el manual para ello, se de lo que hablas y tambien se de lo que hablo, en mis enlaces, en ninguno, paso la sesion, que como hago, bueno simple:
creo una index principal contentiva de varias secciones, las habituales son cabecera, menu, pie, pero en el centro hay una que tiene un iframe al 100% tanto de ancho como de alto, todos los enlaces del menu se abren alli, la pagina que inicia y mantiene la sesion es la index, al no recargarla con cada clic del menu esta sesion se transmite a las paginas que se abren dentro del iframe (este metodo lo utilizo en varias aplicaciones de gestion con dashboard) y de esa manera no tengo la necesidad de propagar la sesion por url ni cookie, intentalo y me cuentas, es fácil en realidad.
Como puedes ver no utilizo cookies ni tengo que pasarlas por url para mantener mi sesion abierta, y como dije antes si cierro el navegador, se muere la sesion; si me deslogueo se cierra la sesion, es solo cuestion de jugar con los elementos, al igual que lo dije al principio cada quien utiliza el metodo que más le convenga de acuerdo a las necesidades de lo que este programando, este que te comente es el mas factibles para las aplicaciones que realizo
ejemplos:
este es el codigo que valida e inicia la sesion en la pagina del formulario:
Código PHP:
Ver original
if($_POST['usuario']==""){
$msg = "";
} else if($_POST['password']==""){
$msg = "";
}else{
$users = $db->query("SELECT usuario,pass,nivel FROM usuarios WHERE usuario ='$usuario'");
$row_result = $users->fetch_array();
$password = (crypt($_POST['password'], $row_result['pass']));
$usuario = $row_result['usuario'];
$clave = $row_result['pass'];
$nivel = $row_result['nivel'];
if($clave == $password){
$_SESSION['MM_Username'] = $usuario;
$_SESSION['logueado'] = true;
$_SESSION['nivel'] = $nivel;
header('location: escritorio.php');
} else{
$msg = "datos invalidos";
}
}