Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2007, 14h53   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 94
Points : 14
Points : 14
Par défaut [Cookies] Le cookie ne se crée pas

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<? //ma page index.php
 
  	if(isset($sendaud1)) {
		setcookie('audience', '1');
	}
 
        if(isset($sendaud2)) {
		setcookie('audience', '2');
	}
	?>
<form method="post" action="index.php">
    <input name="sendaud1" type="image" src="images/b_scientifics.JPG" value"images/b_scientifics.JPG"/>
</form>
<br>
<form method="post" action="index.php">
    <input name="sendaud2" type="image" src="images/b_scientifics.JPG" value"images/b_scientifics.JPG"/>
</form>
Bonjour, je ne comprends pas pourquoi mes cookies ne se crées pas lorsque je clique sur les différents boutons???
MErci
babap1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h07   #2
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
Il est plus propre de récupéré les valeurs de formuaire par l'intermédiaire de $_POST['champ'] même si register_globals est à ON.

Dans ton cas il vaudrait mieux faire :

Code php :
1
2
3
4
5
6
7
8
 
  	if(isset($_POST['sendaud1'])) {
		setcookie('audience', '1');
	}
 
        if(isset($_POST['sendaud2'])) {
		setcookie('audience', '2');
	}
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h13   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 94
Points : 14
Points : 14
j'ai changé ça tout de suite mais j'ai l'impression que le cookie ne se crée toujours pas... est-ce que qqu'un saurait pourquoi ?
Merci d'avance
babap1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h19   #4
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
tu y accèdes comment à tes cookie? De la même manière que POST tu dois utiliser $_COOKIE['nom_du_cookie'] pour y accéder.

Sinon mets un echo dans tes ifs après le set_cookie pour voir si il rentre effectivement dedans.
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h38   #5
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 94
Points : 14
Points : 14
voila l'erreur que j'obtiens :

Code :
1
2
Warning: Cannot modify header information - headers already sent by (output started at /home/www-wdcs-org/shared/cookies.php:7) in /home/www-wdcs-org/shared/cookies.php on line 16
cookie 2 crée
babap1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h53   #6
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
Donc j'ai l'impression qu'il rentre bien dans le if. Et si tu test sur ta page un

Code :
1
2
 
echo $_COOKIE['sendaud2'];
ou

Code :
1
2
 
echo $_COOKIE['sendaud1'];
ca donne quoi?
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 16h05   #7
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par babap1
voila l'erreur que j'obtiens :

Code :
1
2
Warning: Cannot modify header information - headers already sent by (output started at /home/www-wdcs-org/shared/cookies.php:7) in /home/www-wdcs-org/shared/cookies.php on line 16
cookie 2 crée
pour corriger cette erreur, regarde là, tout est expliqué :
http://php.developpez.com/faq/?page=...s_already_sent
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 16h19   #8
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 94
Points : 14
Points : 14
alors voila mon code pour finir, celui qui est à la page : http://www2.wdcs.org/speciesguide

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
	session_start();
	 //Is there a cookie for the audience?
	if (isset($_COOKIE['audience'])) {
		echo $_COOKIE['audience'];
	} 
 
	if(isset($_POST['sendaud1'])) {
		setcookie('audience', '1');
		$_COOKIE['audience'];
	}
 
	if(isset($_POST['sendaud2'])) {
		setcookie('audience', '2');
		$_COOKIE['audience'];
	}
?>
et à cette page la : http://www2.wdcs.org/speciesguide/browse il affiche 1 si tu as choisit 'scientifics' et 2 si tu as choisit 'kids' ce qui est normal.

MAis quand je reviens sur la page d'accueil : http://www2.wdcs.org/speciesguide et que j'appuye de nouveau sur les boutons alors une erreur apparait ! Il n'écrase pas tout seul le cookie pour le remplacer?

Merci.
babap1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 19h33   #9
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 94
Points : 14
Points : 14
Citation:
Envoyé par mathieu
pour corriger cette erreur, regarde là, tout est expliqué :
http://php.developpez.com/faq/?page=...s_already_sent
Merci pour l'info. Ca reste quand même pas toujours facile à gérer cette histoire de header....! Même avec un tutos !!
Dans mon cas, j'ai juste inversé l'ordre des mes includes('') au début de ma page !

A++
babap1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h17.


 
 
 
 
Partenaires

Hébergement Web