Foros del Web » Programando para Internet » PHP »

No me redirecciona si compruebo la sesión de usuario...

Estas en el tema de No me redirecciona si compruebo la sesión de usuario... en el foro de PHP en Foros del Web. Hola tengo un script para restringir el acceso a derminados archivos, me funciona bien en archivos que devuelven html, pero hoy he intentado ponerle seguridad ...
  #1 (permalink)  
Antiguo 19/03/2007, 10:20
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
No me redirecciona si compruebo la sesión de usuario...

Hola tengo un script para restringir el acceso a derminados archivos, me funciona bien en archivos que devuelven html, pero hoy he intentado ponerle seguridad a un script que no devuelve html, sirve para eliminar registros, pero no sé porque, una vez que elemina el registro no redirecciona a la página de confirmación, a continuación pego el codigo.

Código PHP:
<?
session_start
();
// comprobamos que el usuario ha ingresado en el sistema 
if($_SESSION["autenticado"]!="correcto") { 
//si no existe, envio al formulario de ingreso 
header("Location:index.php"); 
//ademas salgo de este script 
exit(); 
}
?>
<? 
include("conexion.php"); ?>
<?
$tabla
="comunicaciones";
//recogemos la variables pasadas por url desde el archivo comunicaciones_env.php y cargamos por seguridad el correo desde la sesión
$id=trim($_GET["id"]);
$usuario=trim($_GET["us"]);
//comprobamos que las variables por url no esten vacías
if(!empty($id)&&!empty($usuario)){
// una vez validado el formulario borramos el registro de la comunicación
$sql="DELETE FROM $tabla WHERE IDCOMU='$id' && usuario='$usuario'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
header("Location:comunicaciones.php");
// si no se ha podido borrar la comunicación
}else{
header("Location:comunicaciones.php?&mensajegeneral=0");
}
mysql_free_result($insertar);
mysql_close($conexion);
?>
El problema es que con este código borra bien el registro pero no redirecciona, se queda en blanco la página, en cambio si sustituyo el código que comprueba al usuario simplemente el session_start(); entonces si funciona bien y realiza la redirección correctamente, pero claro así podrían ejecutar el script desde fuera del sitio no????? en fin pego el código que si funciona bien a ver si me alguien me puede explicar porque no funciona si le pongo seguridad.

Código PHP:
<?
session_start
();
?>
<? 
include("conexion.php"); ?>
<?
$tabla
="comunicaciones";
//recogemos la variables pasadas por url desde el archivo comunicaciones_env.php y cargamos por seguridad el correo desde la sesión
$id=trim($_GET["id"]);
$usuario=trim($_GET["us"]);
//comprobamos que las variables por url no esten vacías
if(!empty($id)&&!empty($usuario)){
// una vez validado el formulario borramos el registro de la comunicación
$sql="DELETE FROM $tabla WHERE IDCOMU='$id' && usuario='$usuario'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
header("Location:comunicaciones.php");
// si no se ha podido borrar la comunicación
}else{
header("Location:comunicaciones.php?&mensajegeneral=0");
}
mysql_free_result($insertar);
mysql_close($conexion);
?>

Gracias. 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 14:03.