Foros del Web » Programando para Internet » PHP »

cookie con valores dinamicos

Estas en el tema de cookie con valores dinamicos en el foro de PHP en Foros del Web. hola amigos del foros una pregunta, quisiera saber si existe una forma adecuada de mandarle valores a una cookie que resultaron de una a la ...
  #1 (permalink)  
Antiguo 05/01/2004, 13:28
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 14 años
Puntos: 1
cookie con valores dinamicos

hola amigos del foros una pregunta, quisiera saber si existe una forma adecuada de mandarle valores a una cookie que resultaron de una a la base de datos es decir algo asi:

$result=mysql_query("select region from usuarios where login='$Login' and password='$Password'",$link);

$row=mysql_fetch_array($result);

$x=$row[0];
setcookie("cookie",$x,time()+86400*365);
__________________
saludos :adios:
  #2 (permalink)  
Antiguo 05/01/2004, 20:17
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
No veo el problema...

Saludos
  #3 (permalink)  
Antiguo 10/01/2004, 09:55
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 14 años
Puntos: 1
gracias por responder jpinedo:
lo que pasa es que al el setcookie( ) el la parte superior del script
me sale el clasicp mensaje de advertencia:
Warning: Cannot send............


probe esto:
<?php
setcookie("cookie",valor(),time()+86400*365);


function valor()
{
$result=mysql_query("select region from usuarios where login='$Login' and password='$Password'",$link);

$row=mysql_fetch_array($result);

return $row[0];
}
?>
pero igual me sale el mensaje de advertencia.
gracias de antemano por tu respuesta
__________________
saludos :adios:
  #4 (permalink)  
Antiguo 10/01/2004, 11:44
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 14 años, 4 meses
Puntos: 0
aver, di lo que quieres poner en la sesion, si puedes muestra los campos de tu tabla, porque esto lo veo un poco ilogico, aver, porque seleccionas solo region, i encambio pides un row del campo 0,?,
Te pongo un ejemplo de como se envia una cokie dinamicamente desde php:
Código PHP:
<?php
$ssql 
mysql_query("SELECT * FROM usuarios WHERE login='$Login' ",$link);//el password no es necesario que lo cojas, al no ser que el usuario no se aya autentificado mediante otro sistema
$resultado mysql_fetch_array($ssql);
//vamos a almacenar el usuario i la contraseña de este usuario
$userlog $resultado['login'];
$userpass $resultado['password'];
setcookie("login"$userlog time()+86400*365);
setcookie("password"$userpass time()+86400*365);
?>

Última edición por ivanguillen; 10/01/2004 a las 11:46
  #5 (permalink)  
Antiguo 10/01/2004, 15:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Ese "clasico" mensaje se produde porque antes del setcookie() (o header() o session_start() con cookies) no puedes enviar salida al navegador. Ni HTML ni echo, ni espacios en blanco. En el mismo mensaje de error te dice en que linea y en que fichero enviaste salida al navegador.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 12/01/2004, 11:19
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 14 años
Puntos: 1
gracias por responder ivanguillen,josemi:
mi consulta real es esta:
<?php
include("conexion.php");
$link=Conectarse();
$result=mysql_query("select cargo,agencia from usuarios where login='$Login' and password='$Password'",$link);
$row=mysql_fetch_array($result);
$valor="$row[cargo]$row[agencia]";
setcookie("login", $valor , time()+86400*365);
?>

si enbargo me sale el siguiente mensaje:
Warning: Cannot add header information - headers already sent by (output started at c:\fox\www\proyecto\conexion.php:7) in c:\fox\www\proyecto\2.php on line 7
según este mensaje mi error esta en el archivo conexion.php,que aca lo muestro:

<?php
function Conectarse()
{ include("config.php");
if (!($link=mysql_connect($servidor,$usuario_db,$pass word_db)))
{ //echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($db,$link))
{//echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

segun josemi mi error esta en que no puedo enviarle una enviar salida al navegador como en este caso es el echo por eso lo comente, pero igual me sale el error.
Sé que con sessiones esto es mas facil pero quería saber como sehace esto con cookies, gracias anticipadamente por su ayuda
__________________
saludos :adios:
  #7 (permalink)  
Antiguo 12/01/2004, 11:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa tu conexion.php .. en la línea 7 tienes un espacio, salto de línea despues del último ?> .. eso es lo que está probocando esos erroes en "header()" (y te los provocaría igual usando sesiones que cookeis).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 12/01/2004, 11:55
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 14 años
Puntos: 1
muchas gracias Cluster

no puedo creer que por un pequeño espacio en blanco despues del cierre del script ?>
haya estado sufriendo
__________________
saludos :adios:
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 08:35.