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 :

[Cookies] Problème pour créer un cookie [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 53
    Points : 34
    Points
    34
    Par défaut [Cookies] Problème pour créer un cookie
    Bonjour,

    Je me tourne vers vous car j'ai un souci pour créer un cookie.
    J'ai crée un formulaire pour obtenir un sondage, mais je ne veux pas que les personnes puissent voter deux fois.

    Voici le code actuel de la page:

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>vote.php</title>
     
     
    </head>
     
     
     
    <body>
     
     
    <?php
     
    $boutique=$_POST['boutique'];
     
    $crit1=$_POST['crit1'];
     
     
    $crit2=$_POST['crit2'];
     
     
    $crit3=$_POST['crit3'];
     
     
    $crit4=$_POST['crit4'];
     
     
    $crit5=$_POST['crit5'];
     
    // On recupère l'adresse IP
    	$ip = $_SERVER["REMOTE_ADDR"];
     
    // On recupère la date
    	$date = date("d-m-Y"); 
     
     
    // On vérifie si les champs sont vides
    	if(empty($crit1) OR empty($boutique) OR empty($crit2) OR empty($crit3) OR empty($crit4) OR empty($crit5))
        {
        echo '<font> Attention, aucun champ ne peut rester vide !</font>';
        }
     
     
    	// Aucun champ n'est vide, on peut enregistrer dans la table
    	else 
     
        {
     
     
    	// connexion à la base
    	$db = mysql_connect('xxxxx', 'xxxxx', 'xxxx')  or die('Erreur de connexion '.mysql_error());
     
    	// sélection de la base  
    	mysql_select_db('xxxx',$db)  or die('Erreur de selection '.mysql_error());
     
     
        // on écrit la requête sql
        $sql = "INSERT INTO $boutique(crit1, crit2, crit3, crit4, crit5,ip,date) 
    	VALUES('$crit1','$crit2','$crit3','$crit4','$crit5','$ip','$date')";
     
        // on insère les informations du formulaire dans la table
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
     
        // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.';
     
        mysql_close();  // on ferme la connexion
        } 
    ?> 
     
    </body>
    </html>

    J'ai essayé la commande setcookie() mais quoi que je fasse ça ne marche pas.. Si quelqu'un pouvait me mettre sur la voie ce serait fort sympathique !
    Pour le code déjà écrit, soyez indulgent, je ne fais que débuter !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    pour que la commade setcookie fonctionne il ne faut pas que tu ai affiché le moindre texte avant, dès que tu fais un echo, utilise une fonction header ou affiche du texte en dehors de PHP.
    Sinon tu as la solution d'écrire l'IP du votant dans une BDD (assez lourd à mon avis) ou bien dans un fichier .txt... a toi de voir...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Merci pour l'aide.

    J'ai bien pensé aux adresses IP mais c'est trop facilement contournable. Beaucoup trop de personnes ont des ip dynamiques :-(

    Il doit bien exister une solution pour créer un cookie aprés un sondage !? Comment je peux m'y prendre pour écrire mon texte en dehors du php ?
    Je ne demande pas la solution ! juste une piste

    Merci pour vos lumières...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    C'est très simple, dans la meme page PHP tu crée ton cookie avant d'écrire le texte, donc tu fais tout les verifs et tout ca avant d'afficher le titre de la page etc, tu fais le cookie et enfin tu affiches le texte de ta page

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Merveilleux ca fonctionne. J'ai remonté toute la partie en php en haut du document et ça fonctionne !!!

    Un grand merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2007, 18h11
  2. Problème pour créer une clé étrangère
    Par DevloNewb' dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/07/2006, 16h30
  3. Problème pour créer la relation
    Par LeNeutrino dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/02/2006, 13h24
  4. problème pour supprimer un cookie
    Par vbcasimir dans le forum Web
    Réponses: 4
    Dernier message: 29/11/2005, 12h01
  5. [XML word] problème pour créer des puces
    Par ratapapa dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/07/2005, 13h52

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