IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Utilisation des cookies


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut Utilisation des cookies
    Bonjour,

    Je tente de voir comment fonctionnent les cookies en php, seulement je bloque quelque part.
    Je voudrais qu'au premier chargement de la page, ça me dise que l'utilisateur n'est pas connu, qu'il entre son prénom, et ensuite à l'aide d'un bouton "recharger" que ça lui montre combien de fois il est allé sur la page.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    // on teste la déclaration de notre cookie
    if (isset($_COOKIE['cookie_compteur'])) { // Le cookie existe
    	if (isset($_POST['nom'])) {
    		echo 'Bonjour '.$_POST['nom']." c'est votre visite numero : ".$_COOKIE['cookie_compteur'].' !';
    		setcookie('cookie_compteur',$_COOKIE['cookie_compteur']+1);
    		echo '<form action="#" method="post">';
    		echo '<input type = "submit" name ="recharger" value = "Recharger">';
    		echo '</form>';
    		
    	}
    }
    else { // Le cookie n'existe pas
    	
    	echo "Bonjour, c'est la première fois que je vous vois, je ne vous connais pas, veuillez saisir votre prénom !";
    	setcookie('cookie_compteur',1);
    	// si le cookie n'existe pas, on affiche un formulaire permettant au visiteur de saisir son nom
    	echo '<form action="#" method="post">';
    	echo 'Votre nom : <input type = "texte" name = "nom"><br />';
    	echo '<input type = "submit" value = "Envoyer">';
    	echo '</form>';
    }
    
    if(isset($_POST['recharger'])) {
    		echo 'Bonjour '.$_POST['nom']." c'est votre visite numero : ".$_COOKIE['cookie_compteur'].' !';
    		setcookie('cookie_compteur',$_COOKIE['cookie_compteur']+1);
    		echo '<form action="#" method="post">';
    		echo '<input type = "submit" name ="recharger" value = "Recharger">';
    		echo '</form>';
    }
    
    Je pense que c'est la partie en gras qui pose problème, car j'ai un message d'erreur me disant que la variable "nom" n'est pas définie. Le compteur à l'air de fonctionner, mais pas la sauvegarde du nom (a part la fois où il entre son nom et clique sur "Envoyer").

    Pourriez-vous m'aider ?

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a pas "nom" dans tes formulaires "recharger" c'est donc normal que la variable soit inconnue.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Je ne comprends pas trop, car si on rentre dans le dernier if, ça veut dire que l'utilisateur a déjà entré son nom, et que la variable existe déjà ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quand tu recharge le script, les variables sont détruites.
    Ton $_POST['nom'] n'existe qu'après la soumission du premier formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Comment fait-on pour conserver l'existence des variables malgré la recharge de la page ?

    EDIT :

    J'ai trouvé avec les sessions. Merci !

Discussions similaires

  1. [Cookies] Utilisation des cookies
    Par tl_marly dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2008, 12h15
  2. Utilisation des cookies
    Par achos dans le forum Statistiques
    Réponses: 4
    Dernier message: 24/08/2007, 17h21
  3. Utilisation des cookies Flash
    Par delavega dans le forum Flash
    Réponses: 9
    Dernier message: 31/03/2007, 15h24
  4. [cURL] Utilisation des cookies
    Par jpascal dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/02/2007, 03h05
  5. [Cookies] Utilisation des cookies
    Par baleiney dans le forum Langage
    Réponses: 4
    Dernier message: 07/07/2006, 20h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo