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 :

Désactivation d'un lien une fois visité


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Désactivation d'un lien une fois visité
    Bonjour! Je viens demander votre aide car j'ai passé trop d'heures a essayer tous les codes inimaginables pour mon problème.
    Je veux faire en sorte qu'une fois que le lien <a></a> est cliqué par l'utilisateur, celui-ci soit désactivé pour les 5 prochaines minutes, même si la page est actualisé il doit demeuré désactivé. Je cherche une solution simple même si contournable par les érudies du php, le but étant de décourager l'internaute commun de re-clicker sur le lien des dizaines de fois de suite, 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
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    $rep="CLICS";    
    $fichier="Clics_re_up56";    
    $url="http://www.click.fr";   
    ?>
    <a href="clics1.php?fichier=<?php print("$fichier"); ?>&rep=<?php print("$rep"); ?>&url=<?php print("$url"); ?>" >
    <img class="up" src="up.png" /></a>
    <?php
    $fp=fopen("$rep/$fichier.txt","r+");
    $clics=fgets($fp,10);
    fclose($fp);
    echo $clics;
    ?>

  2. #2
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Hello ! (oui je sais il est 6h du mat et j'ai des insomnies)

    Deux solutions :

    - Tu passes par un cookie dans lequel tu indiques l'heure à laquelle l'utilisateur pourra de nouveau cliquer. Simple et pas compliqué, mais il suffit d'effacer ses cookies pour pouvoir recliquer sur le lien.
    - Tu stockes en base de données l'adresse IP du client (qui peut-être obtenu avec $_SERVER['REMOTE_ADDR']) et l'heure à laquelle il pourra recliquer.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Par défaut
    bonjour,

    tu peux ajouter un événement sur click dans la balise de ton lien, cet événement tu lui associe un script php qui créé une variable session avec l'ID du lien et l'heure cliqué. puis dans ta page tu fais le test de la différence d'heure pour savoir si 5 mn se sont écoulés.

  4. #4
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Il suffit dans ce cas là de fermer son navigateur pour cliquer de nouveau sur le lien (et qui plus est cette méthode a recourt à de l'ajax, pas sur que ça soit vraiment nécessaire).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour ces réponses! l'idées des cookies me plait davantage je crois, mais je ne sais absolument pas comment faire passer par un cookie l'utilisateur, je ne veux pas abuser de ton aide alors seulement si tu veux m'indiquer + de détails concernant les cookies j'en serais ravi

  6. #6
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Pour envoyer un cookie, fonction setcookie()

    Les cookies se trouvent dans la variable superglobale $_COOKIE.

    Un ptit tuto sur les cookies : http://php.developpez.com/cours/sessions/?page=page_1

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

Discussions similaires

  1. Désactiver un lien une fois cliqué
    Par Invité dans le forum jQuery
    Réponses: 5
    Dernier message: 02/03/2014, 21h40
  2. Il était une fois les liens
    Par @po©alypse dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/07/2010, 16h40
  3. [AJAX] IE7 : lien qui ne fonctionne qu'une fois :(
    Par NoobX dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 25/08/2008, 17h34
  4. probleme de contour lien une fois selectionné
    Par amarcil dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/07/2008, 13h25

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