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 :

[Tableaux] Une fois par jour


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut [Tableaux] Une fois par jour
    quel est le code Php qui n'autorise le droit d'utiliser une fonction qu'une seul fois PAR jour ?

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Moi quand je veux limiter le nombre d'utilisation de quelques choses dans le temps à quelqu'un, je récupère son adresse ip que je viens stocker dans une table avec le temps écoulé depuis l'époque unix à l'instant T.

    Ensuite au niveau de la fonction par l'intermédiaire d'un if, je viens conditionner son utilisation en comparant l'adresse ip et le temps unix + le nombre de seconde que tu veux avant la possibilité de réutilisation de la fonction.

    Si non, je ne connais pas de fonction en php toute faite pour réaliser ce tour de passe passe...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Tu peux aussi utiliser une variable session de deux manières :

    1. Tu fixes la validité de la session à 24h et tu crées une variable session qui est à 0 si l'opération n'a pas été effectuée ou à 1 dans le cas contraire. Ensuite tu testes cette valeur et tu agis en fonction.

    2. Tu crées une variable session dans laquelle tu places un timestamp, ensuite à chaque appel tu testes le temps écoulé entre le timestamp actuel et le timestamp de la variable. Le reste est un jeu d'enfant.

    Cette solution est plus simple que la bdd mais aussi moins sécurisée. En effet, si l'internaute réinitialise sa session t'es vu.

    C'est un choix à faire entre simplicité, rapidité d'exécution et sécurité. A toi de voir.

    @++

    webrider

  4. #4
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Andalor
    Moi quand je veux limiter le nombre d'utilisation de quelques choses dans le temps à quelqu'un, je récupère son adresse ip que je viens stocker dans une table avec le temps écoulé depuis l'époque unix à l'instant T.

    Ensuite au niveau de la fonction par l'intermédiaire d'un if, je viens conditionner son utilisation en comparant l'adresse ip et le temps unix + le nombre de seconde que tu veux avant la possibilité de réutilisation de la fonction.

    Si non, je ne connais pas de fonction en php toute faite pour réaliser ce tour de passe passe...

    Tu peu me donner un exemple de code pour l'envoi d'un formulaire avec cette histoire d'ip stocker dans la BDD ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'est très facile sous PHP.

    Tu récupères l'adresse ip dans la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ip = $_SERVER['REMOTE_ADDR'];
    puis tu la stockes dans ta base.

    webrider

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca sera de l'à peu près vu que ce n'est pas tout à fait fiable de trier les gens avec leur adresse IP.
    Les utilisateurs n'ont pas besoin de se logguer sur ton site pour accéder à la fameuse fonction par hasard (on sait jamais...) ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par JWhite
    Ca sera de l'à peu près vu que ce n'est pas tout à fait fiable de trier les gens avec leur adresse IP.
    Les utilisateurs n'ont pas besoin de se logguer sur ton site pour accéder à la fameuse fonction par hasard (on sait jamais...) ?
    SI il sont obliger de ce logguer et la variable $auth les identifie

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par mickado
    SI il sont obliger de ce logguer et la variable $auth les identifie
    Ah bon bah dans ce cas il te suffit d'ajouter un champ dans ta table utilisateurs contenant la date de la dernière utilisation de la fonction et en testant cette date le tour est joué...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par JWhite
    Ah bon bah dans ce cas il te suffit d'ajouter un champ dans ta table utilisateurs contenant la date de la dernière utilisation de la fonction et en testant cette date le tour est joué...
    la date y est déja ajouter a chaque fois qu'un nouveau commentaire est ajouter le probléme c'est que je ne sais pas comment tester cette date

  10. #10
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    enfaite non la date n'est pas ajouter

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Tu créais une colonne, dans ta table : last_connect (par exemple)

    Quand une personne veut poster un commentaire, tu vérifies que le champ last_connect de cette personne comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $a = mysql_num_rows(mysql_query('...'));
    if ( (time() - $a['X']) >= 86400){
       // Envoie du commentaire
       // Ajout de time() dans la colonne last_connect
    }
    else {
       echo 'Vous avez poster un commentaire il y a trop peu de temps';
    }
    Voilà c'est aussi simple

Discussions similaires

  1. [MySQL] Requête une fois par jour
    Par antxbe dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/05/2009, 11h15
  2. Procédure qui ne se lance qu'une fois par jour
    Par riri2938 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/02/2009, 15h16
  3. Réponses: 9
    Dernier message: 24/06/2008, 10h31
  4. [Conception] Ajout d'un crédit une fois par jour dans la bdd
    Par Dev@lone dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 06/02/2008, 14h53
  5. Exécuter un script, une fois par jour
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 19/10/2006, 16h55

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