Foros del Web » Programando para Internet » PHP »

un error en header("Location: ...");

Estas en el tema de un error en header("Location: ..."); en el foro de PHP en Foros del Web. Muy buenas tengan todos ustedes, solo una pregunta, tengo mi index.php para mi pagina pero me manda el siguiente error: Warning: Cannot modify header information ...
  #1 (permalink)  
Antiguo 11/08/2005, 12:47
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 8 meses
Puntos: 50
Pregunta un error en header("Location: ...");

Muy buenas tengan todos ustedes, solo una pregunta, tengo mi index.php para mi pagina pero me manda el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /home/escopie/public_html/sisycom/index.php:7) in /home/escopie/public_html/sisycom/index.php on line 116

un profesor me dijo que los headers se tienen que poner antes de cualquier ECHO "escribe aqui"; y que cualquier etiqueta HTML, eso es cierto, y si no, cual es la mejor forma de solucionarlo, lo que quiero hacer es que cuando me autentico pasar a la siguiente pagina, se puede?????
  #2 (permalink)  
Antiguo 11/08/2005, 12:51
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 3 meses
Puntos: 5
Tienes dos opciones:
1.Puedes poner antes que nada en tu código:
Código PHP:
<?
ob_start
();?>
Y al final
Código PHP:
<?
ob_en_flush
();
?>
2- No haber enviado nada a tu navegador antes del header

Lo más recomendable y consume menos recursos es no enviar nada al navegador, pero ambas opciones son posibles...


Salu2 ;)
__________________
[+]
[+]
  #3 (permalink)  
Antiguo 11/08/2005, 12:57
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 8 meses
Puntos: 50
gracias voy a hacer una prueba y ahorita contesto...
  #4 (permalink)  
Antiguo 11/08/2005, 13:09
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 8 meses
Puntos: 50
ahora me manda un error en la funcion ob_en_flush();, mira este es mi codigo php

<?php
ob_start();
if(isset($_POST['enviar']))
{
if(empty($_POST['usuario'])) //berifica si en el campo de texto usuario hay caracteres
{
echo 'Debes llenar el campo usuario';
}
else
{
if(empty($_POST['password']))//berifica si en el campo de texto password hay caracteres
{
echo 'Debes llenar el campo contraseña';
}
else
{
function Conecta()
{
if (!($conexion=mysql_connect("localhost","","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("test",$conexion))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $conexion;
}
$conexion=Conecta();
$sql = "SELECT * FROM cliente WHERE login ='".$_POST['usuario']."' AND password='".$_POST['password']."'";
mysql_close($conexion); //cierra la conexion
$conectame = conecta();
$resultado = mysql_query($sql,$conectame);
$arreglo = mysql_fetch_array($resultado);
if(mysql_num_rows($resultado)<>1)
{
echo 'error al entrar';
}
else
{
$_SESSION[id]=session_id();
$_SESSION['usuario']=$_POST['usuario'];
$_SESSION['password']=$_POST['password'];
$_SESSION['nombre'] = $arreglo[3];
$_SESSION['ids']=$arreglo[0];
header("Location: escUSU.php?id=".session_id());
}
}
}
}
ob_en_flush();
?>

y me manda este error, si lo quieres ver, esta en esta pagina:

http://www.m-is.com/prueba/
  #5 (permalink)  
Antiguo 11/08/2005, 13:20
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 3 meses
Puntos: 5
Si perdona, es:
Código PHP:
ob_end_flush(); 
Eso me pasa por escribir deprisa...

Salu2 ;) y perdona
__________________
[+]
[+]
  #6 (permalink)  
Antiguo 11/08/2005, 13:30
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 8 meses
Puntos: 50
ta weno, muchas gracias y estamos en contact-o, (¬¬)
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 03:22.