Foros del Web » Programando para Internet » PHP »

Header y session_start()

Estas en el tema de Header y session_start() en el foro de PHP en Foros del Web. Hola Foro: Haber si me pueden dar una mano o al menos una idea de como hacerlo con este problema. Lo que quiero hacer es ...
  #1 (permalink)  
Antiguo 05/02/2005, 12:55
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años
Puntos: 1
Header y session_start()

Hola Foro:
Haber si me pueden dar una mano o al menos una idea de como hacerlo con este problema. Lo que quiero hacer es comprobar si esta activada una sesión o no. Ahora en caso de estarlo entonces realizo "X" acciones pero si no lo está redirecciono a la página de inicio pasando un parámetro e informando al usuario que está inentando entrar en un área restringida. Es algo así como un sistema de administración para proteger las páginas ya que si no lo hago cualquier inteligente me podría acceder directamente a la página. Este es el código en cuestión:
funciones.php
Código PHP:
 function isAdmin(){
  
$admin = isset($_SESSION['admin'])?$_SESSION['admin']:NULL;
  if(!
$admin or $admin=""){
   
header("Location: index.php?err=nadmin"); // No administrador (esta es la linea 18)
  
}
 } 
index.php
Código PHP:
 include("funciones.php");
 
//ob_start();
 
session_start();
 
$menu = isset($_GET['m'])?$_GET['m']:"f";
     if(!
isAdmin() && $menu == "f"){
      
admLogin();
     }elseif(
isAdmin() && $menu == "v"){
      
doMenu();
     } 
pero eso me da este error:
Cita:
Warning: Cannot modify header information - headers already sent by (output started at d:\wamp\www\morgandir\index.php:14) in d:\wamp\www\morgandir\funciones.php on line 18
alguna idea de como hacer esto?
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 05/02/2005, 13:10
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 9 meses
Puntos: 6
Hola, cuando estas haciendo uso del header no debes tener nada de codigo html antes a este...
me explico,esto debe estar en la parte superior de tu pagina sin ningun otro codigo html antes:
Código PHP:
function isAdmin(){
  
$admin = isset($_SESSION['admin'])?$_SESSION['admin']:NULL;
  if(!
$admin or $admin=""){
   
header("Location: index.php?err=nadmin"); // No administrador (esta es la linea 18)
  
}


Saludos
__________________
www.dataautos.com
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:02.