Foros del Web » Programando para Internet » PHP »

ayuda con sesiones...

Estas en el tema de ayuda con sesiones... en el foro de PHP en Foros del Web. ya casi lo he conseguido con las sesiones. veis alguna pega?algo ke sobre, falte, este mal.... funcionar funciona bien(casi todo), pero por inseguridad prefiero ke ...
  #1 (permalink)  
Antiguo 14/02/2003, 14:26
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 15 años, 6 meses
Puntos: 8
ayuda con sesiones...

ya casi lo he conseguido con las sesiones.
veis alguna pega?algo ke sobre, falte, este mal....
funcionar funciona bien(casi todo), pero por inseguridad
prefiero ke lo vean los maestros...

main.php //recibe de index.php
Código PHP:
<?php
session_start
();

    if (isset(
$_POST['usuario']) && isset($_POST['password'])){    
        include(
"funciones/funcionesdb.php");
        
$con="SELECT * FROM users WHERE usuario='$usuario' AND password='$password'";
        
$resultado=mysql_query($conconectar());
        if(
mysql_num_rows($resultado)>0){    
            
$fila=mysql_fetch_row($resultado);
            if(
$fila[4]=="profesor"){
                
$_SESSION['tipouser'] = $fila[4];
                
header("location: profesor/main_profesor.php");
                }
            else if(
$fila[4]=="admin")
                {
$_SESSION['tipouser'] = $fila[4];
                
header("location: admin/admin.php");
                }
            else if(
$fila[4]=="alumno")
                {
$_SESSION['tipouser'] = $fila[4];
                
header("location: alumno/main_alumno.php");
                }    
        else
            
header("location: main_anonimo.php");            
        }

    }
    echo 
"Zona restringida<br>";
    echo 
"<a href=\"index.php\">Home</a>";
?>
main_profesor.php, main_alumno.php. admin.php
Código PHP:
<?php
session_start
();
//por si alguien pone la direccion directamente
if ($_SERVER['HTTP_REFERER'] == "")
    
header("location: ../index.php");
//si existe....
if(isset($_SESSION['tipouser']))
    { 
    include(
"../head.php");
    
?>
  <tr><td>
 /*aki hago un formulario ke hace otras cosas y llama a otras
paginas, pues en estas pongo session_start();....
lo unico ke varia es ke hago esto tambien: 

if(isset($_SESSION['tipouser']) && (($_SESSION['tipouser']="admin")||($_SESSION['tipouser']="profesor")) 
    si es profesor o administrador o esto:
if(isset($_SESSION['tipouser']) && ($_SESSION['tipouser']="admin") 
    si es administrador

y no me funciona, puedo acceder a ellas desde cualkier punto */
  </td></tr>
<?php
include("../pie.php");
}
else { 
header("location: ../index.php");}
?>

Última edición por ZeroZ; 14/02/2003 a las 17:20
  #2 (permalink)  
Antiguo 14/02/2003, 19:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Acuerdate ...

Despues de cada header("location: ....."); .. usa exit; para cancelar la ejecución del script .. pese q en tu caso pasaría todaa la lógica de condicionales (IF .. else .. if .. else) y llegaría al final sin problemas .. es recomendable usarlo.

La cabecera "Location" solo le indica "PHP" al navegador: "Navegador, Cambia la página del cliente por la q te digo" .. Pero el script PHP sigue su proceso igualmente hasta el final del mismo.

Un saludo,
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 13:09.