Foros del Web » Programando para Internet » PHP »

funcion header

Estas en el tema de funcion header en el foro de PHP en Foros del Web. Hola, Tengo un problema con la funcion HEADER la tenia trabajando sin ningun problema en un host de prueba diferente al que estoy usando ahorita ...
  #1 (permalink)  
Antiguo 23/03/2010, 19:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 16 años
Puntos: 0
funcion header

Hola,

Tengo un problema con la funcion HEADER la tenia trabajando sin ningun problema en un host de prueba diferente al que estoy usando ahorita y al migrarlo a mi host definitivo me empezo a dar el siguiente error.

Ya cheque poniendo la funcion como comentario y funciona pero si el nombre de usuario que pongo junto con su clave son correctos me envia el siguiente error y no me envia a el link que definido.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/decisio5/public_html/validar.php:9) in /home/decisio5/public_html/validar.php on line 22

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/decisio5/public_html/validar.php:9) in /home/decisio5/public_html/validar.php on line 22


Warning: Cannot modify header information - headers already sent by (output started at /home/decisio5/public_html/validar.php:9) in /home/decisio5/public_html/validar.php on line 39
//



y si el nombre de usuario y ela clave son erroneas el error es este:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/decisio5/public_html/validar.php:9) in /home/decisio5/public_html/validar.php on line 22

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/decisio5/public_html/validar.php:9) in /home/decisio5/public_html/validar.php on line 22

Error: usuario o contraseña incorrectos. O usuario no dado de alta.
//

como pueden ver coloree en rojo lo que es comun en los dos casos y en azul lo que varia en cada caso.

en el segundo mensage de error, solo lo coloreado en rojo es el error pues la linea en azul es correcta ya que es el mensage al usuario diciendole que se equivoco.

A continuacion presento el codigo de mi pagina

session_start(); // linea 22
if (!isset( $_POST['username'] )) {
header("Location: http://www.decisionesmexcio.com/Registro.html/");

} else {
$id = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password");
mysql_select_db("$mysql_database", $id);
$consulta = "SELECT * FROM usuarios WHERE username = '{$_POST['username']}' AND password = '{$_POST['password']}'";
$datos = mysql_query($consulta, $id);
$numDatos = @mysql_num_rows($datos);
if ($numDatos <= 0) {
echo "Error: usuario o contraseña incorrectos. O usuario no dado de alta.<br>";
} else {
$_SESSION['username'] = $_POST['username'];header("Location: Control.html" . mysql_result($datos, 0, 3));
}
}
//?>

espero me puedan orientar para dar con la solucion.

Mil Gracias.

Cuco
  #2 (permalink)  
Antiguo 23/03/2010, 19:21
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: funcion header

pon el session_start(); en la primera linea de código
  #3 (permalink)  
Antiguo 23/03/2010, 20:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 16 años
Puntos: 0
Respuesta: funcion header

Hola,

Gracias por la respuesta

si la muevo al inicio me aparece la mitad del error, si borro totalmente estas funciones mi scrip funciona perfectamente pero no puedo redireccionar al link deseado.

Hay alguna otra manera de hacer que cargue una pagina despues de la comprobacion de contraseñas?

Gracias
  #4 (permalink)  
Antiguo 23/03/2010, 20:22
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: funcion header

que error te da al moverla?
  #5 (permalink)  
Antiguo 23/03/2010, 20:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: funcion header

y que intentas hacer con el header?
  #6 (permalink)  
Antiguo 23/03/2010, 20:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 16 años
Puntos: 0
Respuesta: funcion header

Hola,

Despues de mover

session_start();

El error que me da con clave y nombre de usuario erroneos es el siguiente:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/decisio5/public_html/validar.php:8) in /home/decisio5/public_html/validar.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/decisio5/public_html/validar.php:8) in /home/decisio5/public_html/validar.php on line 9
Error: usuario o contraseña incorrectos. O usuario no dado de alta.




El error que me da con clave y nombre de usuario correctos es el siguiente:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/decisio5/public_html/validar.php:8) in /home/decisio5/public_html/validar.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/decisio5/public_html/validar.php:8) in /home/decisio5/public_html/validar.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at /home/decisio5/public_html/validar.php:8) in /home/decisio5/public_html/validar.php on line 27

y mi codigo es el siguiente:
Código PHP:
<?
session_start
();
$mysql_host "localhost";
$mysql_database "decisio5_mexico";
$mysql_user "decisio5_cuco";
$mysql_password "************";

if (!isset( 
$_POST['username'])) {
header("Location: index.html/");
} else {
$id=mysql_connect("$mysql_host""$mysql_user","$mysql_password");
mysql_select_db("$mysql_database"$id);
$consulta "SELECT * FROM usuarios WHERE username='{$_POST['username']}' AND password = '{$_POST['password']}'";
$datos mysql_query($consulta$id);
$numDatos = @mysql_num_rows($datos);
if (
$numDatos <= 0) {
echo 
"Error: usuario o contraseña incorrectos. O usuario no dado de alta.<br>";
} else {
$_SESSION['username'] = $_POST['username'];
header("Location: Control.html".mysql_result($datos,0,3));// registro 0, campo 3, 
}
}
?>

y lo que trato de hacer es que despues de validar que el nombre de usuario y su password son correctos sea redirecccionado a otra pagina para ingrasar informacion en bases de datos.

Te comento que este mismo scrip lo probe en un host gratuito y funciona de maravilla, pero en mi host de pago me da estos errores que te comento.

Gracias.

Cuco

Etiquetas: funcion, header
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:37.