Cookie qui ne s'enregistre pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Cookie qui ne s'enregistre pas

par lechewal » 06 févr. 2006, 22:51

si la ligne2 c'est
 <?php 
ca veut dire que a la ligne tu a un espace
il faut aucune sortie avant setcookie ou session_start, meme pas un ligne vide avant les balises php

Zarma !

c'etait ca !

une satanée ligne de commentaire html !!!!!


enfin bon, merci a tous !
a+

par jeff » 06 févr. 2006, 22:40

si la ligne2 c'est
 <?php 
ca veut dire que a la ligne tu a un espace
il faut aucune sortie avant setcookie ou session_start, meme pas un ligne vide avant les balises php

par lechewal » 06 févr. 2006, 22:32

salut
j'ai pas tout lu mais ton probleme vient de la ligne2 de ton index.php

la ligne 2 c'est <?php
;)

par jeff » 06 févr. 2006, 22:07

salut
j'ai pas tout lu mais ton probleme vient de la ligne2 de ton index.php

par lechewal » 06 févr. 2006, 22:05

(essaye de mettre un echo dans le fichiersetcookie.php pour vérifier)
C'est ok
Les cookie présents sont stockés dans le tableau $_COOKIE, que donne un
print_r($_COOKIE);

Code : Tout sélectionner

Array ( [BSUID] => 1 [KIDYMD] => #238494:FBFA#240844:FBFA#239201:FBFC#239470:FBFB#238875:FBEA#238121:FBDA#239003:FBDB#238687:FBDB#239444:FBDA#240851: FBDA#240576:FBDA#239465:FA`G#239464:FA`A#137298:FA[B#233096: FA[C#230806:FA[C#110915:FA[B#186254:FA[A#170226:FA[M#232682:FA[B#161007:FA[B#230762:FA[A#199212:FA[D#138319: FA[B#232048:FA[B#229241:FA[A#199211:FA[A#232779:FA[B#108998:FA[A#161003:FA[B#90231:FAUB#231086:FAUD#232394: FAUG#234138:FAUE#233100:FARB#235986:FARA#110922:FARC#235271:FAQA#232403:FAQA#150687:FAML#234200:FAMA#225578:FAKA#202176: FAKE#143430:FAKI#226024:FAKB#232407:FAKA#167940:FAKA#134099:FAIU#143428:FAIA#150677:FAAC#205509:EL]C#225619:ELXA#199175:ELGB#186439: EKLD#167081:EKLB#205515:EKFC#202183:EKFB#194320:EKFC#208668:EKBA#186436:EKBF#210944:EKAA#170228:EJ^B#208694:EJ]A#208712:EJ]A# 199163:EJ]N#202896:EJ]B# [WIDYMD] => #35814:FBF#20995:FA[#30555:ELG# [ASLTRG1] => 28#36#.net#850#4500#.adsl.proxad.net#82.65.167.34#fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3#ISO-8859-1,utf-8;q=0.7,*;q=0.7#-40609#4492#4039#0#6 [FRQSTR] => 18987067x234138:5:11978|18987067|18987067|18987067|18987067 )
Dans tous les cas, même si "http://..." ne fais pas de message d'erreur il ne peut pas fonctionner comme tu le crois. Pour représenter la racine, essaie ça:
include('../../setcookie.php');
Ca doit effectivement venir de la puisque avec ceci, cela m'affiche :

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/7/9/***/myblog/pages/index.php:2) in /var/www/free.fr/7/9/***/setcookie.php on line 5
Pourtant, le setcookie est la premiere fonction, et rien n'a été affiché avant (le message d'erreur est en premier sur la page)
...mais au fait, c'est quoi setcookie.php ?
 $expire = 365*24*3600;
   
   setcookie(PSEUDO, $pseudo, time()+$expire); 
merci a tous ;)

par Hubert Roksor » 06 févr. 2006, 11:59

Dans tous les cas, même si "http://..." ne fais pas de message d'erreur il ne peut pas fonctionner comme tu le crois. Pour représenter la racine, essaie ça:
include('/setcookie.php');
En même temps, je ne me rappelle plus trop si ça marche chez Free donc tu peux aussi utiliser "../" pour dire "remonter d'un dossier". Ce n'est pas comme accéder à la racine directement mais tu parviens au même résultat. Par exemple, dans le fichier "dossier1/test.php":
include('../setcookie.php')
dans le fichier "dossier1/dossier2/test.php':
include('../../setcookie.php');
...mais au fait, c'est quoi setcookie.php ?

par iclo » 06 févr. 2006, 11:58

Soyons méthodique: es-tu sûr que l'include fonctionne (essaye de mettre un echo dans le fichiersetcookie.php pour vérifier)

Les cookie présents sont stockés dans le tableau $_COOKIE, que donne un
print_r($_COOKIE);

par lechewal » 06 févr. 2006, 11:53

Je fais cet include comme ca car le fichier est à la racine et non pas dans le meme repertoire.. Sinon ca fait un message d'erreur :s

et meme avec les guillemets ca ne semble pas marcher.. :(

merci

par Hubert Roksor » 06 févr. 2006, 11:44

Attention, tu confonds l'adresse de ton site avec le chemin d'accès de tes fichiers. "http://....." c'est pour accéder aux fichiers de l'extérieur, mais à l'intérieur du script tu fais simplement:
include('setcookie.php');
De plus, tu as une erreur dans la fonction elle-même je pense. Qu'est-ce que
PSEUDO
? Tel quel il s'agit d'une constante, si tu veux que ton cookie s'appelle PSEUDO il faut mettre le nom entre guillemets:
setcookie('PSEUDO', $pseudo, time() + 3156000);

Cookie qui ne s'enregistre pas

par lechewal » 06 févr. 2006, 11:25

Salut !

j'aimerai monter un systeme qui retienne le nom du posteur dans un formulaire. Donc, cookie.

Apres avoir lutté pour qu'il n'affiche pas de message d'erreurs, il n'affiche maintenant rien du tout..

VOici le code :

Code : Tout sélectionner

<form action=index.php?com=p method=post>

Code : Tout sélectionner

if(isset($_GET['com']) && $_GET['com'] == 'p') { $pseudo=$_POST["pseudo"]; include("http://***.free.fr/setcookie.php"); }

setcookie.php :

Code : Tout sélectionner

$expire = 365*24*3600; setcookie(PSEUDO, $pseudo, time()+$expire);