Bonjour, j'utlisait cette commande setcookie sous easyphp1.7 et elle fonctionnait perfect , now sous wampserver ... pb..aucune création de cookie ??? quel est la cause sacchant que phpbb fonctionne bien ?
Salut, je ne l'ai pas testée mais normallement cette fonction ne pose aucun pb avec PHP5. Par contre la conf par defaut est en register_global à off, donc il faut bien penser à aller chercher le contenu de tes cokkies dans le tableau $_COOKIE ( alors qu'auparavant, il suffisait d'utiliser directement une variable avec le nom du cookie).
Si le pb persiste, dis le moi et je chercherai plus loin...
Jai bien changer le register_global à ON mais ... rien n'a changer... il faut dire quil y a une incompatibilitée récurente entre php4 et php5 ils ont soit vraiment manquer leurs coups ou soit ils ont trop changer le bon vieux system de préprocession à quoi je donnais 11/10 auparavant je donne maintenant 4/10 ... pas fort ... en tout cas merci de ta réponse alp...
Ok, je pense comprendre d'où vient ton problème...
D'après ce que tu me dis, ton setcookie devait se trouver après l'envoi de caractères (html ou echo) vers l'utilisateur, hors setcookie doit être utilisé avant tout envoi vers la sortie standard. il utilise le header de la page pour generer les cookies (definition de http) et le header est femé dés qu'on envoi un caractère, que ce soit un espace, un retour chariot ou autre... L'utilisation de l'output buffering permet de contourner ce pb....
Je confirme les dires de M. Bourdon ici présent !! La fonction setcookie fonctionne parfaitement avec l'installation de base, et en effet elle doit être utilisée AVANT toute balise html (ou tout "echo", "print".
Par contre, pour récupérer le contenu d'un cookie il n'y a pas d'importance, on peut le récupérer à n'importe quel endroit de la page. Pour ce qui est de "register_global", dans la mesure où aucun hébergeur web ne l'utilise pour des raisons de sécurité évidentes (ne pas confondre un $_GET avec un $_POST ou un $_COOKIE justement). Dans cette mesure il est peut-être préférable de s'habituer directement à laisser ce register_global désactivé, et à toujours utiliser les formes longues !
if (setcookie("Identifiant", $usuario, time()+3600) ) { echo "pero porqué esto anda y después no?"; }
Il écrit bien ce qu'il y a entre guillements. De plus, si je fait:
print_r($_COOKIE);
Il affiche bien ce que je veux dans les cookies.
MAIS
Mais après je suis sur l'index de mon site et je fais:
print_r($_COOKIE);
et s'affiche seulement Array ( ); donc rien.
PS: C'est bon, il fallait faire: setcookie("Identifiant", $usuario, time()+3600, "/" Je sais absolument pourquoi mais pourvu que ça marche.........
> je n'envoyais rien, ni de echo , ni de html, rien
Attention aux caractères parasites éventuels.
Par exemple : <?php if (empty($charset)) $charset="iso-8859-1"; if(!preg_match('`^[-a-z0-9]+$`i', $charset)) $charset='iso-8859-1'; header("content-type:text/html; charset=$charset" session_start(); ob_start('ob_gzhandler');
Fonctionne bien et il n'y a pas de caractères parasites
Mais : <?php if (empty($charset)) $charset="iso-8859-1"; if(!preg_match('`^[-a-z0-9]+$`i', $charset)) $charset='iso-8859-1';