Foros del Web » Programando para Internet » PHP »

Duda

Estas en el tema de Duda en el foro de PHP en Foros del Web. Miren esto y díganme que hago mal. En una parte de mi código hago esto: Código PHP:  setcookie ( "link" , $HTTP_REFERER );  y en ...
  #1 (permalink)  
Antiguo 20/04/2004, 12:11
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Duda

Miren esto y díganme que hago mal. En una parte de mi código hago esto:
Código PHP:
 setcookie("link",$HTTP_REFERER); 
y en otra parte trato de imprimir esa cookie de esta forma:
Código PHP:
$query mysql_query("SELECT nombre,correoelectronico FROM usuario WHERE tipo=0");
                   
$arrmails = array();
                   
$arrnames = array();
                   
$cantadmin mysql_num_rows($query);
                   while(
$res=mysql_fetch_assoc($query)){
                    for(
$i=0;$i<$cantadmin;$i++){
                     
array_push($arrmails$res['correoelectronico']);
                     
array_push($arrnames$res['nombre']);
                    }
                   }
                   while(
pos($arrmails)!=""){
                    
printf("Administradores: ".array_pop($arrnames)."-".array_pop($arrmails)."el siguiente vínculo ".$_HTTP_COOKIE_VARS['link']." ha sido reportado como roto.");
                    
//$sendmail = mail((array_pop($arrmails)),"Reporte de vínculo roto","Administradores: ".array_pop($arrnames)."el siguiente vínculo ".$_SESSION['link']." ha sido reportado como roto.");
                   

la cosa es que me repite dos veces lo mismo:
Cita:
Administradores: [email protected] siguiente vínculo ha sido reportado como roto.Administradores: [email protected] siguiente vínculo ha sido reportado como roto.Administradores: Reynier Pérez [email protected] siguiente vínculo ha sido reportado como roto.Administradores: Reynier Pérez [email protected] siguiente vínculo ha sido reportado como roto.
y como verán tampoco me imprime la cookie. Que estoy haciendo mal?

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 20/04/2004, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
$_HTTP_COOKIE_VARS['link']

eso no es correcto...

O usas

$HTTP_COOKIE_VARS['link']

ó los array superglobales (que es lo que deberías usar si o si):

$_COOKIE['link']

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/04/2004, 14:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Cita:
y en otra parte trato de imprimir esa cookie de esta forma
¿El setcookie() y el otro codigo estan en la misma ejecucion del script? Porque para poder acceder a la cookie creada tienes que esperar a la siguiente carga de pagina. Y mira en el manual el resto de parametros de setcookie().

Y sobre por que sale repetido, es que tienes dos bucles anidados, el while y el for, por cada iteracion del while se ejecuta $cantadmin iteraciones del for. Supongo que se te olvidaria quitar el for.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 20/04/2004, 15:05
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Gracias

josemi me di cuenta después de pasarle por arriba euler a la n veces por encima al código que ell código ese se me ejecutaba 2 veces por los ciclos. De todas formas gracias y setcookie y donde trato de leerla están en la misma página. ¿Qué hago?

Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 20/04/2004, 15:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Recargar la página al hacer tu setcookie() es la única forma de que la tengas disponible ..

O sino, usa un condicional tipo:

Código PHP:
if (isset($_COOKIE['variable'])){
$variable=$_COOKIE['variable'];
} else {
$variable="valor";

Y en tu código restante usas $variable ...

Así, miras si existe tu variabel de cookie .. si no existe se crea y si existe $variable toma su valor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 17:56.