Version complète: sur le forum Webmaster Hub : cookies et rafraichissement...
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
michmuch51
salut les hubiens,

je suis en train de plancher sur un petit script assez simple d'affiliation mais un probleme tout bete avec les cookies me bloque, sachant que jene connaissais pas les cookies encore avant hier tongue.gif

donc je fais un lien pour les affiliés du genre (exemple pour un affilié "ninin"):
ledomaine.com/index.php?id=ninin

je recupere avec $_GET

et mets ainsi ca dans mon cookie appelé affil:
CODE
$hu = $_GET['id'];
$timestamp_expire = time() + 3*24*3600;
setcookie("id", $hu, $timestamp_expire);


donc la j'ai mon joli cookie affil me permet de récupérer sur 3 jours l'id de l'affilié ayant amené le client, mais le probleme, c'est que si le client se reconnecte sur le site en passant directement par ledomaine.com, mon cookie s'écrase pour ainsi donner la valeur 0 puisque $_GET ne pourra rien récupérer... huh.gif

je ne sais pas si mon approche est la bonne mais si vous avez une meilleur idée je suis preneur wink.gif
sarc
Salut la mich wink.gif

Bien tu peux vérifier en PHP la valeur du cookie avant d'en placer un nouveau, non ? Si dans ton cookie il a une valeur de marquée, alors tu lui remets la même valeur pour le prochain cookie. S'il n'y a pas de valeur, alors tu mets rien... Comme ça, s'il a une valeur d'affilié, il la gardera à chaque visite au site, même s'il utilise l'adresse sans get !
Jan
Pourquoi ne pas faire une écriture conditionnelle du cookie, seulement si "id" est spécifié:
CODE
if (isset($_GET['id'])) {
$hu = $_GET['id'];
$timestamp_expire = time() + 3*24*3600;
setcookie("id", $hu, $timestamp_expire);
}
michmuch51
Merci beaucoup, vous me permettez d'aller me coucher tranquillement...
en effet c'était logique, mais mon raisonnement php en est encore un peu lent, je n'ai pas encore les bons reflexes blush.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.