Foros del Web » Programando para Internet » PHP »

Warning con Header

Estas en el tema de Warning con Header en el foro de PHP en Foros del Web. Tengo un problema... al añadir un header ("Location: ...") para que me redireccione a otro archivo me sale un warning. Este warning no me a ...
  #1 (permalink)  
Antiguo 07/12/2011, 02:24
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 4
Warning con Header

Tengo un problema... al añadir un header ("Location: ...") para que me redireccione a otro archivo me sale un warning.
Este warning no me a salido nunca, y he probado varias cosas.
Os dejo el codigo y el warning a continuacion:

CODIGO

Código:
<?php
	require_once ('../conexion/poligono_connect.php');
	include("header.php");
	
	$msg=0;
	
	echo 'usuario = ' . $_POST['usuario'] . '<br>';
	
	if($_POST['enviar']){
			if (($_POST['usuario']!= '') && ($_POST['contrasena']!='')){
				
				$sql="select count(*) as contador from usuario where usuario= '" . $_POST['usuario'] . "' and contrasena= '" . $_POST['contrasena'] . "'";
				$resultado=mysql_query($sql) or die( "$sql: " . mysql_error() );
				$row=mysql_fetch_array($resultado);
			
			
				if($row['contador']!= 0){
					$_SESSION['usuario']=$_POST['usuario'];
					//header("Location: control/index.php");	
					header ("Location: index.php"); /* Si ha iniciado la sesion, vamos a user.php */

				}else{
					$msg=1;
				}
			}else{
				$msg=1;
			}
	}
?>
WARNING

Warning: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/webalizer/PlanosPoligonos/WebV2/control/login.php:9) in /Applications/XAMPP/xamppfiles/htdocs/webalizer/PlanosPoligonos/WebV2/control/login.php on line 28
  #2 (permalink)  
Antiguo 07/12/2011, 02:33
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Warning con Header

Básicamente, para hacer un header no tienes q haber impreso nada antes por pantalla :).

Si comentas la línea
Código PHP:
echo 'usuario = ' $_POST['usuario'] . '<br>'
Funcionará ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 07/12/2011, 02:37
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Warning con Header

He eliminado la linea del echo y me sigue haciendo lo mismo... y ya no se que mas probar!!
  #4 (permalink)  
Antiguo 07/12/2011, 02:49
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Warning con Header

Algo estás imprimiendo por pantalla antes del header....

(Nota: puede ser un espacio en blanco antes de <?php ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 07/12/2011, 03:03
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Warning con Header

Ni imprimo nada, ni tengo espacios raros....

Os pego todo lo k tengo desde el cierre del php para arriba.

Código:
<?php
session_start();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento sin título</title>
<?php
	require_once ('../conexion/poligono_connect.php');
	include("header.php");
	
	if($_GET['opc']=='cer'){
		$_SESSION['usuario']='';	
		header("Location: index.php");
	}
	
	$msg=0;
	
	//echo 'usuario = ' . $_POST['usuario'] . '<br>';
	
	if($_POST['enviar']){
			if (($_POST['usuario']!= '') && ($_POST['contrasena']!='')){
				
				$sql="select count(*) as contador from usuario where usuario= '" . $_POST['usuario'] . "' and contrasena= '" . $_POST['contrasena'] . "'";
				$resultado=mysql_query($sql) or die( "$sql: " . mysql_error() );
				$row=mysql_fetch_array($resultado);
			
			
				if($row['contador']!= 0){
					$_SESSION['usuario']=$_POST['usuario'];
					header("Location: control/index.php");	
					//header ("Location: index.php"); /* Si ha iniciado la sesion, vamos a user.php */

				}else{
					$msg=1;
				}
			}else{
				$msg=1;
			}
	}
?>
</head>
  #6 (permalink)  
Antiguo 07/12/2011, 03:08
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Warning con Header

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento sin título</title>
Esto, mi querido compañero, se envia al navegador (aunq tu no lo veas). Cualquier parte en HTML se envia directo. Con lo cual, ya has enviado el "header", y por eso no te funciona el location ;). Debes de hacer el header("Location: x.php"); antes de enviar lo que sea o te dará error. Sólo deberias tener código php antes del header... y sin echos / prints ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 07/12/2011, 03:11
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Warning con Header

Gracias tio... yo me estaba limitando a buscar echo o print en el codigo por lo que me comentasteis de que no podia imprimir nada antes del header....

Muchas gracias

Etiquetas: header, mysql, sql, warning, usuarios
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 06:52.