PHP - Problemas entre header y setcookie?

 
Vista:

Problemas entre header y setcookie?

Publicado por Gustavo (5 intervenciones) el 19/09/2001 01:04:37
tengo una llamada a setcookie() y unas lineas más adelante una llamada a header() para redirigir a una página dependiendo de una condición, en esta página a la que redirijo necesito el valor de la cookie, pero al parecer no la seteo en la llamada a setcookie, esto lo se, porque cuando no llamo a header() y en alguna otra página leo el valor de la cookie, si esta seteada, alguen sabe si existe algun conflicto entre las dos funciones? o existe alguna otra manera de redirigir sin usar la función header()?

Gracias y Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas entre header y setcookie?

Publicado por Fran (42 intervenciones) el 19/09/2001 11:14:37
setcookie() define una cookie para ser enviada con el resto de la información de la cabecera. Las cookies deben enviarse antes de mandar cualquier otra cabecera (esta es una restricción de las cookies, no de PHP). Esto requiere que situes las llamadas a esta función antes de cualquier etiqueta <html> o <head>. Como la función header() tiene la misma restriccion yo miraria si tienes escrito algo en la cabecera.

Un saludo.

Fran.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas entre header y setcookie?

Publicado por Gustavo (5 intervenciones) el 19/09/2001 17:52:16
Que onda Fran! Veo que eres uno de los usuarios más activos aqui en el foro, por eso me tomo la libertad de enviarte un correo para ver si me puedes ayudar, este mi codigo fuente:

<?php
setcookie("uAut", "what's goin' on man?");

$l = mssql_connect("edipicus", "x", "men");
mssql_select_db("menues");
$cons = mssql_query("select * from users where ID_User = '$usuario'");
$user = mssql_fetch_row($cons);
if($user && $user[0] == $contrasenia) {
if($opcion == "Consulta de Presup. aplicado, ejercido y disponible") {
header("Location: http://gustavo/paginas/fut/fut.htm");
} else {
header("Location: http://gustavo/php/consPre.php");
}
}
?>

esto es lo único que hay en el archivo fuente, nada más! después en otra página trato de leer el valor de la cookie y nada, a menos que ponga entre comentarios la llamada a header(), solo entonces funciona, si hubiera alguna otra funcionar para redireccionar en vez de header, creo que me ayudaría, si no, que crees que pueda ser?

Saludos
Gustavo Salazar González
SLP, Mex.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas entre header y setcookie?

Publicado por Fran (42 intervenciones) el 19/09/2001 18:23:13
La verdad es que he probado el codigo y no me da ningun error, por que no me dices que error te da o por el contrario creas una pagina php solamente con el header puesto que creo que a lo mejor no te funciona bien

Crea una pagina prueba.php en la cual solo pones:

<?php
header("Location: http://www.lawebdelprogramador.com");
?>

y dime si te funciona, ok????

Un saludo.

Fran.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas entre header y setcookie?

Publicado por Gustavo (5 intervenciones) el 19/09/2001 18:53:52
A mi tambien aparentemente me funciona bien (no da ningún error) el problema es que cuando en otra página quiero leer la cookie, no tengo ningún valor, es decir, al parecer si uso setcookie() y luego header(), el setcookie() no funciona bien (o de plano no lo hace), ya que cuando omito la llamada a header() y luego en otra pagina intento leer el valor de la cookie ahi se me lo da.

Conoces alguna otra función para redirigir en vez de header()?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas entre header y setcookie?

Publicado por Fran (42 intervenciones) el 20/09/2001 11:12:29
Bueno te puedo aconsejar que utilices otras formas de redireccionar, aunque en php solo existe el header, puedes utilizar el de javascript:

javascript:window.open('http://www.loquesea.com','_self');

o

javascript:document.location = 'http://www.loquesea.com';

Pero recuerda que php esta por encima de javascript.
Esperemos que asi resolvamos tu problema.

Un saludo.

Fran.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas entre header y setcookie?

Publicado por Gustavo (5 intervenciones) el 19/09/2001 17:53:13
Que onda Fran! Veo que eres uno de los usuarios más activos aqui en el foro, por eso me tomo la libertad de enviarte un correo para ver si me puedes ayudar, este mi codigo fuente:

<?php
setcookie("uAut", "what's goin' on man?");

$l = mssql_connect("edipicus", "x", "men");
mssql_select_db("menues");
$cons = mssql_query("select * from users where ID_User = '$usuario'");
$user = mssql_fetch_row($cons);
if($user && $user[0] == $contrasenia) {
if($opcion == "Consulta de Presup. aplicado, ejercido y disponible") {
header("Location: http://gustavo/paginas/fut/fut.htm");
} else {
header("Location: http://gustavo/php/consPre.php");
}
}
?>

esto es lo único que hay en el archivo fuente, nada más! después en otra página trato de leer el valor de la cookie y nada, a menos que ponga entre comentarios la llamada a header(), solo entonces funciona, si hubiera alguna otra funcionar para redireccionar en vez de header, creo que me ayudaría, si no, que crees que pueda ser?

Saludos
Gustavo Salazar González
SLP, Mex.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar