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 :

Système de "j'aime" sur mon site


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Système de "j'aime" sur mon site
    Bonjour,
    J'aimerais que les internautes qui vont sur ma galerie d'images, puissent dire qu'ils aiment telle ou telle image, avec par exemple un bouton, qui comptabiliserait le nombre de clique pour une image, avec si possible un blocage au niveau de l'ip, pour qu'une personne ne puisse pas voter plusieurs fois. Dans le but de voir quelles sont mes images les plus aimés, et celles qui ne plaisent pas. Pour cela, j'ai pensé à faire un fichier externe (ex : image1_like.txt), et qui, à chaque clique, ajouterais "+1" dans le fichier, puis ressortir le résultat avec un include, dans la page PHP. Par exemple dans image_like.txt, il y aurait le nombre 0, et à chaques cliques sur le bouton, rajouter 1 à chaque fois. Je sais pas du tout si cette méthode fonctionnerait, et je sais pas trop comment la mettre en place. Avez-vous une autre idée ?

    D'avance merci
    Bonne journée

  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 vaut mieux travailler avec une base de donnée, la lecture/ecriture d'un fichier avec des accès simultanés ce n'est pas forcemment formidable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    idem, et je n'aime pas trop l'idée du blocage par IP qui à mon sens ne sert à rien mais bon ...
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il vaut mieux utiliser une base de données plutôt qu'un vulgaire fichier txt, c'est plus sécurisé, plus souple.

    Pour les boutons ou liens de type "J'aime", le mieux seraient qu'ils lancent l'exécution d'un script AJAX qui permettra de mettre à jour la base de données sans recharger toute la page.

    Penser aussi à :
    • un système de vote unique : pour éviter qu'une même personne ne vote plusieurs fois sur la même image (ou donner la possibilité de voter plusieurs fois mais une seule fois par jour par exemple, ça c'est au goût).
      Si le site ne comporte aucun système de compte utilisateurs, ça va être embêtant à réaliser ou en tout cas, peu fiable parce que le seul moyen de vérifier si la personne aura déjà vôté, ça sera en vérifiant par adresse IP du visiteur (facilement modifiable ou masquable) ou en stockant dans un cookie (supprimable)
    • la possibilité de changer d'avis
    • un peu de sécurité : éviter les requêtes de type jaime.php?id_image, sans quoi avec un script malicieux, un petit malin pourrait s'amuser à faire "J'aime" sur chaque image (en incrémentant l'id de l'image) et instaurer un temps minimum (raisonnable) entre chaque vote (voire un nombre maximum de vote pour une durée donnée)
    Dernière modification par Invité ; 27/08/2010 à 11h26.

  5. #5
    Membre à l'essai
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Ok, je pense que je vais laisser tomber l'idée d'un fichier texte à part alors, et plutôt me pencher vers une base de données. Vil'Coyote, blocage par l'ip tout simplement parce que je vois pas de quelle autre manière je pourrais interdire le "multi vote" si les utilisateurs ne sont pas identifiés sur mon site.

    Merci à vous, a++

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Citation Envoyé par le-pti-titou Voir le message
    Ok, je pense que je vais laisser tomber l'idée d'un fichier texte à part alors, et plutôt me pencher vers une base de données. Vil'Coyote, blocage par l'ip tout simplement parce que je vois pas de quelle autre manière je pourrais interdire le "multi vote" si les utilisateurs ne sont pas identifiés sur mon site.
    moi non plus je ne vois pas mais bon s'il passe par un proxy le blocage ne sert à rien. s'ils se trouvent sur un spot wifi donc ip unique ça sert à rien bref il existe quelques contraintes à ne pas oublier pour ce genre de chose.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    je remonte un peu ce topic car l’idée m’intéresse.
    En effet, je suis obliger de travailler sans base de données pour un devoir. Et la seule alternative autoriser est l'utilisation de fichier texte.
    un système de session php ne résoudrait il pas le soucis du multi vote ?

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    non car si tu ouvrer deux fois la même url dans le navigateur ou dans deux navigateur différent depuis le même poste tu aura deux session php différente. le seul moyen de bloquer réellement uen personne c'est de l'identifier. après le reste y a toujours moyens de contourner.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    comment cela deux session différentes ?
    si un membres est identifié sur sa session cela restera sa session non ?
    Qu'il soit sur un navigateur ou un autre non ?

  10. #10
    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
    La session est liée au client par un cookie ou par un id placé dans l'url.
    Donc deux navigateurs différents n'auront pas la même session ; si on supprime le cookie ou même relance le navigateur, cela produira une nouvelle session etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    ok
    et si on ajoute un
    $_session[user][vote]
    que l on initialise a 0
    une fois le membre ayant voter il augmente a 1

    avec une condition du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if($_session[user][vote] ==0)
    { 
     
    //le bouton j'aime s'affiche
     
    }
    else
    {
     
    le bouton j'aime ne s affiche pas 
     
    }
    quoi que meme pas ... car cela ne fonctionnerais qu'avec un seul et unique bouton j'aime

  12. #12
    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
    Ca ne change rien, si l'utilisateur change de navigateur ou d'appareil il apparaitra comme un nouvel utilisateur et pourra voter.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    fait chier mdr :p
    car j'en est besoin pour simuler un site de vente ^^
    et j ai besoin d incrémenter ma 'quantité' d article de -1 a chaque achat mais avec un achat de produit par personne ^^"

    par contre je comprend pas , comment ca se fait que si l utilisateur est connecter sur sa session personnel, que les navigateur le détecte comme nouveau a chaque fois

  14. #14
    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 de "session personnelle" : la session PHP est liée à l'utilisateur à travers un cookie ou un id transmis par l'url.
    Donc si le même utilisateur se connecte deux fois avec des navigateurs différents par exemple, il obtiendra deux sessions différentes, avec des valeurs différentes.

    Pour que les données soient liées à l'utilisateur proprement dit, il faut qu'elles soient stockées dans une base de donnée par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    ben justement,
    les données de l utilisateur sont stocker dans un fichier .txt
    j'ai le nom , prénom , mail ...ect.

  16. #16
    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
    La "quantité" que tu souhaites maîtriser doit alors être inscrite dans ce fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    ben en fait j ai ma fiche FICHIER_MEMBRE.txt
    pour mes session

    mais la valeur a incrémenter de -1 se trouve sur le dossier FICHIER_produit.txt
    c'est la la difficulté

  18. #18
    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
    Je ne comprends pas la difficulté.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 216
    Points : 90
    Points
    90
    Par défaut
    ben j ai mon fichier utilisateur.txt qui me sert a me connecter a ma session


    nom|mot de passe | adresse| prenom|age|mail
    nom2|mot de passe2 | adresse2| prenom2|age2|mail2
    nom3|mot de passe3 | adresse3| prenom3|age3|mail3
    puis mon fichier produit.txt


    nom produit|date de sorti|avatar|prix|quantite
    nom produit2|date de sorti2|avatar2|prix2|quantite2
    nom produit3|date de sorti3|avatar3|prix3|quantite3
    il faut donc réussir a incrémenter de -1 la quantité
    Mais qu'elle ne puisse l’être qu'une fois par membre.
    je vois plus ou moins comment la réduire de 1
    mais je vois pas comment faire la condition pour qu'un utilisateur ne puisse agir qu'une seule fois.
    et en plus je voudrais après stocker les info de qui a sélectionner un produit

    #pourquoi faire simple quand ca peut etre tres compliquer :p

  20. #20
    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 faut que tu enregistres une information supplémentaire utilisateur|produit.
    Mais enfin, cette structure avec des fichiers texte, ce n'est pas sérieux et je ne vois pas ce qui la justifie.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/06/2007, 17h25
  2. [Système] Météo sur mon Site
    Par musely dans le forum Langage
    Réponses: 4
    Dernier message: 21/12/2006, 17h33
  3. [FLASH MX] Probleme sur mon site....!!
    Par thewill dans le forum Flash
    Réponses: 2
    Dernier message: 07/04/2005, 12h11

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