PHP : Déclaration cookie

PHP : Déclaration cookie - PHP - Programmation

Marsh Posté le 13-02-2003 à 17:49:47    

Salut
 
j'ai un petit prob
 
Le setcookie ne peut etre que la 1ere chose ds une page PHP.
 
Or qd on se logge sur un site, tu lances le formulaire qui teste ce que tu as entré avec ce qu'il y a en base et si c ok, tu affiches la page. Là, je peux remplir le cookie mais la page a déjà effectué n script dc j'ai pas le droit.
 
N'y a-t-il pas d'autres moyens que de faire un header('page.php';) avec en 1er ds ta page.php les différents setcookie dont tu as besoin ??
 
De plus, en générale, fo mettre (si on s'en sert) le session_start(); tout en haut aussi non ?
 
Enfin, un utilise des variables session ds les pages 1 et 3. Mais pas ds la page 2.
Est-ce que si on met pas de session_start(); en page 2, la session expire et le gars arrive en page 3 avec ses variables purgées ? (je dirais non mais suis pas sur !)
 
Merci
 
a+

Reply

Marsh Posté le 13-02-2003 à 17:49:47   

Reply

Marsh Posté le 13-02-2003 à 18:11:26    

il faut séparer les fonctions car elles n'ont pas la même utilisation : (séparer c'est juste pour la mise en page ici hein, dans ton code tu mixes tout comme tu veux)
 
d'un coté setcookie() peut être utlisé partout dans ton code, mais un refresh sera nécessaire (donc un header)
 
de l'autre header() et session_start() qui modifient l'entête HTTP
 
ces fonctions peuvent être utilisées n'importe où dans ton code mais AVANT tout sortie (code HMTL, espace, msg d'erreur etc.)
 
j'espère que tu auras mieux pigé :)
 
 
EDIT : pour ta portée de variable, bin je sais pas trop à vrai dire... du moment que tu gardes l'identifiant de session dans l'url / cookie, il sera capable de la ressortir si elle n'a pas expiré..


Message édité par Sh@rdar le 13-02-2003 à 18:14:52

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-02-2003 à 19:03:58    

Sh@rdar a écrit :

il faut séparer les fonctions car elles n'ont pas la même utilisation : (séparer c'est juste pour la mise en page ici hein, dans ton code tu mixes tout comme tu veux)
 
d'un coté setcookie() peut être utlisé partout dans ton code, mais un refresh sera nécessaire (donc un header)
 
de l'autre header() et session_start() qui modifient l'entête HTTP
 
ces fonctions peuvent être utilisées n'importe où dans ton code mais AVANT tout sortie (code HMTL, espace, msg d'erreur etc.)
 
j'espère que tu auras mieux pigé :)
 
 
EDIT : pour ta portée de variable, bin je sais pas trop à vrai dire... du moment que tu gardes l'identifiant de session dans l'url / cookie, il sera capable de la ressortir si elle n'a pas expiré..


 
ok merci
tu m'as éclairé mais en mm tps mis un doute :)
 
de phpdebutant.org :
 

Citation :

Quelles sont les restrictions à connaître avec les cookies ?
1 . L'envoi d'un cookie doit être la première fonction PHP que vous utilisez dans votre script, donc tout en haut du script. Si d'autres fonctions interviennent avant l'envoi du cookie, celui-ci ne fonctionnera pas.


 
je fais quoi moi ?
 
merci

Reply

Marsh Posté le 13-02-2003 à 19:17:28    

kileak2 a écrit :


de phpdebutant.org :
 

Citation :

Quelles sont les restrictions à connaître avec les cookies ?
1 . L'envoi d'un cookie doit être la première fonction PHP que vous utilisez dans votre script, donc tout en haut du script. Si d'autres fonctions interviennent avant l'envoi du cookie, celui-ci ne fonctionnera pas.



:heink:
 
Ils sont pas bien chez phpdebutant ? A moins que la phrase ne soit sortie d'un contexte particulier (et si tel est le cas je me demande bien lequel :D) elle est complètement fausse. J'ai des scripts avant plusieurs centaines de lignes de code et de fonctions diverses qui sont exécutées avant l'envoi du moindre cookie et ca marche nickel :D Comme le dit Sh@rdar, la seule contrainte est que ton setcookie doit etre réalisé avant toute sortie.

Reply

Marsh Posté le 13-02-2003 à 20:12:32    

Core 666 a écrit :


:heink:
 
Ils sont pas bien chez phpdebutant ? A moins que la phrase ne soit sortie d'un contexte particulier (et si tel est le cas je me demande bien lequel :D) elle est complètement fausse. J'ai des scripts avant plusieurs centaines de lignes de code et de fonctions diverses qui sont exécutées avant l'envoi du moindre cookie et ca marche nickel :D Comme le dit Sh@rdar, la seule contrainte est que ton setcookie doit etre réalisé avant toute sortie.


 
Exact !
 
En fait à vouloir être fait pour des débutants, ils ont voulu trop simplifier et ca m'a enduit d'erreurs !
 
Si tu relis la phrase c ambigüe :)
 
MErci pour votre aide !
 
a+

Reply

Marsh Posté le 14-02-2003 à 00:15:35    

... dans le cas rarissime où tu ne peux pas faire autrement, tu peux toujours bufferiser la sortie pour tout flusher à la fin (cf http://fr.php.net/manual/en/ref.outcontrol.php et les fonctions ob_start() et compagnie)

Reply

Marsh Posté le 14-02-2003 à 10:10:39    

Dsls a écrit :

... dans le cas rarissime où tu ne peux pas faire autrement, tu peux toujours bufferiser la sortie pour tout flusher à la fin (cf http://fr.php.net/manual/en/ref.outcontrol.php et les fonctions ob_start() et compagnie)


 
ok merci je me note ceci mais efectivement j'avais mal compris la phrase de phpdebutant.org
 
tout marche nickel là !
 
a+ :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed