Foros del Web » Programando para Internet » PHP »

problemas con sessiones, accedo igual por url

Estas en el tema de problemas con sessiones, accedo igual por url en el foro de PHP en Foros del Web. buenas compañeros; En mi archivo index digo que se inicien la session de esta manera: Código PHP: <?php  session_start ();  if(isset( $_POST [ 'enviar' ])){  ...
  #1 (permalink)  
Antiguo 24/06/2009, 09:18
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
problemas con sessiones, accedo igual por url

buenas compañeros;

En mi archivo index digo que se inicien la session de esta manera:
Código PHP:

<?php 
session_start
(); 

if(isset(
$_POST['enviar'])){ 

    if(empty(
$_POST['usuario']) || empty($_POST['password'])) {
    
        echo 
'Debes llenar todos los datos';  
        
    }elseif(
$_POST['usuario']=="admin" and $_POST['password']=="123456"){ 
    
        
$_SESSION['usuario']=$_POST['usuario']; 
        
$_SESSION['password']=$_POST['password'];  
        
        echo 
'Te has loguedo como '.$_SESSION['usuario']; 
    } 

?>

<table> 
 <form method="post" action="index.php">
    
        <tr>
            <td class="cabecerap">Usuario:            </td>
            <td>
                <INPUT NAME="usuario" TYPE="text" size="15" maxlength="15">            </td>
        </tr>
        <tr>
            <td class="cabecerap">Contrase&ntilde;a:            </td>
            <td>
                <INPUT NAME="password" TYPE="password" size="15">            </td>
        </tr>
       
        <tr>
            <td height="27" colspan="2" align="center">
               
              <INPUT TYPE="submit"name="enviar" id="enviar" value="Enviar">            </td>
      </tr>
    </form>
</table>
y en otro archivo que se llama verificar_session.php pongo esto:

Código PHP:
<?php  
session_start
(); 
//echo $_SESSION['usuario']." session"; 
if(!empty($_SESSION['usuario'])){ 
/* La funcion empty() devuelve verdadero si el argumento posee un valor vacio, 
al usar !empty() devuelve verdadero no solo si la variable fue declarada sino  
ademas si contiene algun valor no nulo. 
*/ 
//echo 'Te has logueado como :'.$_SESSION['usuario']; 

}else{ 
echo 
'No estas logueado<br>'
echo 
'Esta pagina es restringida!'

?>
y en cada pagina que no quiero que vean al menos que esten logueados pongo esto:
Código PHP:
<?php  
include("verificar_session.php");
?>
Alguien me puede echar una mano y decirme como puedo hacer para iniciar session y que no accedan al resto de páginas si no estan logueados correctamente??????? estoy perdida...
  #2 (permalink)  
Antiguo 24/06/2009, 09:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con sessiones, accedo igual por url

Es que en ese caso, aunque imprimes el mensaje se sigue el flujo del script.

Puedes usar exit() para salir del script.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/06/2009, 09:30
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: problemas con sessiones, accedo igual por url

y has probado poniendo en el archivo verificar.php algo asi

Código PHP:
<?php
session_start
();
$url_destino="sin acceso.php";// archivo al que sera redirigido si no esta logueado
if($_SESSION["autentificado"]!=true)
{
      
header("location: $url_destino");
}
?>
aunque tendrias que crear otra session "autentificar" que se verdadera si esta logueado.
algo similar a esto hago yo, tal vez te sirva....
__________________
Me junto con los que Saben, Queriendo Saber.
  #4 (permalink)  
Antiguo 24/06/2009, 09:54
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: problemas con sessiones, accedo igual por url

Aqui te muestro un pequeño ejemplo como podrias hacerlo


Código PHP:
session_start();

//Aqui compruebo que la session usuario exista, si existe lo redirecciono a index.php
if(isset($_SESSION['usuario']))
{
    
header("location:index.php");

}

//Si no existe le muestro el formulario de logueo
else
{
    
require_once(
'modulos/clases/Login.php');
$usuario=new Login;
$usuario->formularioAcceso();
    
if(
strlen($_POST['login'])>=&& strlen($_POST['clave'])>=6)
{
    
    
$login=$_POST['login'];
    
$password=$_POST['clave'];
    
    
$usuario->comprobarUsuario($login,$password);
}

Espero te sirva como ejemplo
  #5 (permalink)  
Antiguo 24/06/2009, 10:21
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: problemas con sessiones, accedo igual por url

ps mira que si la sesion existe (isset($_SESSION['misesion'])) entonces que te cargue el resto de la pagina
sino que te aparezca un error o q te mande al login
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 24/06/2009, 15:40
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Respuesta: problemas con sessiones, accedo igual por url

gracias por todas las respuestas, mañana a primera hora pruebo a ver que tal funciona,

Si escribo una dirección, que no podría ver si no es logueandote, sin más, puedo verla perfectamente y se supone que si no me logueo no debo verlo... asi que mañana a primera hora lo pruebo fijo y os cuento...

Gracias de veras por vuestra ayuda
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 21:36.