Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1830 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Une fois par jour :)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une fois par jour :)

n°1305433
titanherme​s
Posté le 14-02-2006 à 16:51:53  profilanswer
 

Salut tout le monde !!
 
Voila je me pose des questions :  
 
En effet je voudrais faire un systeme qui chaque jour (apres minuit) UPDATE une table 1 fois et si apres le membre raffiche la page ou est contenu l'UPDATE beh ca lui affiche un autre message :)
 
Je me doute bien qu'il faudrait creer une table pour verifier si le membre est passé aujourd'hui ... non ?
 
Mais je ne vois pas comment procéder :)
 
Si quelqu'un pouvait m'aider ;)
 
Aller bonne apres-midi à tous !

Message cité 1 fois
Message édité par titanhermes le 14-02-2006 à 16:55:30
mood
Publicité
Posté le 14-02-2006 à 16:51:53  profilanswer
 

n°1305453
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 17:09:31  profilanswer
 

titanhermes a écrit :

Salut tout le monde !!
 
Voila je me pose des questions :  
 
En effet je voudrais faire un systeme qui chaque jour (apres minuit) UPDATE une table 1 fois et si apres le membre raffiche la page ou est contenu l'UPDATE beh ca lui affiche un autre message :)
 
Je me doute bien qu'il faudrait creer une table pour verifier si le membre est passé aujourd'hui ... non ?
 
Mais je ne vois pas comment procéder :)
 
Si quelqu'un pouvait m'aider ;)
 
Aller bonne apres-midi à tous !


Le system de cron ou tache planifiée qui va executer ta page php ou autre. Effectivement il faut stocké une information comme quoi la page à été visité soit dans une base, sur un fichier, ...

n°1305457
rufo
Pas me confondre avec Lycos!
Posté le 14-02-2006 à 17:12:54  profilanswer
 

Je ne suis pas sûr d'avoir tout compris, mais je pense qu'il faut que tu utilises le cron de Linux (ou le planificateur de Windows suivant l'OS). Tu lui fais exécuter un script php via php.exe.
ex : ça lance le script passé en paramètre du lundi au vendredi à 20h00
00 20 * * mon-fri php -q /var/www/html/MonScript.php

n°1305466
titanherme​s
Posté le 14-02-2006 à 17:20:42  profilanswer
 

Nan lol enfaite je me suis mal exprimé je voudrais que PHP et SQL lance une requete si un membre affiche la page qu'il stocke (Via BDD ) si le membre la deja affiche ou pas ca affiche un message diferent ;)
 
En gros je voudrais  
 
if (le membre a affiché la page jourdhui)
{
echo yeahhh;
}
else {
INSERT INTO ....
}

n°1305473
rufo
Pas me confondre avec Lycos!
Posté le 14-02-2006 à 17:28:00  profilanswer
 

bon ben une table avec pour chaque record, l'id du membre et l'id de la page vue. Si le couple id membre/id page est dans la table, alors le membre a vue la page, sinon il l'a pas vu et quand il va dessus, penser à mettre cette table à jour. Faudra penser à la réinitialiser aussi chaque jour...

n°1305477
titanherme​s
Posté le 14-02-2006 à 17:29:04  profilanswer
 

beh justement mon probleme c'est que je ne sais pas comment réinitialiser chaque jour :)

n°1305478
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 17:29:06  profilanswer
 

Je te laisse un indice :o
http://www.cookiesinheaven.com/images/cookies/chocolate_chip_cookie.jpg

n°1305479
titanherme​s
Posté le 14-02-2006 à 17:29:58  profilanswer
 

lol non je voudrais faire ca avec MYSQL sinon on pourrait tricher :)

n°1305485
skeye
Posté le 14-02-2006 à 17:31:45  profilanswer
 


t'as raison, comme ça on se connecte de 2 postes différents le traitement est fait 2 fois...[:moule_bite]


---------------
Can't buy what I want because it's free -
n°1305486
skeye
Posté le 14-02-2006 à 17:32:23  profilanswer
 

titanhermes a écrit :

beh justement mon probleme c'est que je ne sais pas comment réinitialiser chaque jour :)


 
Mais non, tu stockes la date de dernière vue, juste. Et l'utilisateur peut voir si c'est pas aujourd'hui.:o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 14-02-2006 à 17:32:23  profilanswer
 

n°1305490
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 17:34:32  profilanswer
 

skeye a écrit :

t'as raison, comme ça on se connecte de 2 postes différents le traitement est fait 2 fois...[:moule_bite]


Ben si aujourd'hui est différent de la date presente dans la table ben c'est que c'est plus hier :D
tu effectue l'opération à la premiere personne qui se connect.

Message cité 1 fois
Message édité par Berceker United le 14-02-2006 à 17:35:00
n°1305491
titanherme​s
Posté le 14-02-2006 à 17:35:29  profilanswer
 

Mais on se moque de l'utilisateur si il voit ou pas :)
 
Ce que je vodurais faire c'est :
 
Le visiteur entre sur la page pour la 1ere fois aujourd'hui => Je lui donne 200 Pieces si c'est la 2eme fois ou +  je lui donne rien ...
 
Si le visiteur n'affiche pas la page alors je lui donne rien ...

n°1305493
skeye
Posté le 14-02-2006 à 17:35:54  profilanswer
 

Berceker United a écrit :

Ben si aujourd'hui est différent de la date presente dans la table ben c'est que c'est plus hier :D
tu effectue l'opération à la premiere personne qui se connect.


 
Il dit qu'il voit pas le rapport avec un cookie; :heink:


---------------
Can't buy what I want because it's free -
n°1305496
skeye
Posté le 14-02-2006 à 17:37:15  profilanswer
 

titanhermes a écrit :

Mais on se moque de l'utilisateur si il voit ou pas :)
 
Ce que je vodurais faire c'est :
 
Le visiteur entre sur la page pour la 1ere fois aujourd'hui => Je lui donne 200 Pieces si c'est la 2eme fois ou +  je lui donne rien ...
 
Si le visiteur n'affiche pas la page alors je lui donne rien ...


 
Bah c'est bien ce que je dis. Tu stockes la dernière date à laquelle tu lui as filé ses pièces, c'est tout. Après c'est facile de vérifier s'il faut lui donner ou pas.:o


---------------
Can't buy what I want because it's free -
n°1305499
titanherme​s
Posté le 14-02-2006 à 17:40:54  profilanswer
 

Justement mon probleme c'est que je voi pas comment tester :)

n°1305500
skeye
Posté le 14-02-2006 à 17:42:29  profilanswer
 

[:pingouino]
Stocker un couple (code_utilisateur, date) dans une table ça te parait compliqué?
Lire dans cette table la date qui correspond à l'utilisateur courant, ça te parait infaisable?
Comparer cette date avec la date du jour c'est insurmontable?


---------------
Can't buy what I want because it's free -
n°1305535
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 18:03:40  profilanswer
 

skeye a écrit :

Il dit qu'il voit pas le rapport avec un cookie; :heink:


non je parle plus du cookie car effectivement ça poserais probleme, je répondais sur la question qu'il posait concernant comment reinitialiser l'information pour repartire de zero à partir d'un base.
Il compare entre la date d'aujourd'hui et celle presente dans la base.

n°1305641
dwogsi
Défaillance cérébrale...
Posté le 14-02-2006 à 21:23:06  profilanswer
 

Juste en passant je vois bien un truc du genre :
SELECT bla bla WHERE id_membre = -l'id- AND visite < NOW()
 
avec visite en date.

n°1305666
titanherme​s
Posté le 14-02-2006 à 22:43:46  profilanswer
 

Code :
  1. <?php
  2. //Si l'utilisateur est loggué
  3. if(session_is_registered('username'))
  4. {
  5. // Inclusion du Fichier Config.php
  6. include ('includes/config.php');
  7. // Connection &agrave; la Base de Donn&eacute;e
  8. mysql_connect("$localhost", "$user", "$pass" );
  9. mysql_select_db("$db" );
  10. //Requete permettant de voir si l'utilisateur est déjà venu
  11. $sql = "SELECT * FROM `jour` WHERE `pseudo`='".$_SESSION['username']."'";
  12. $req = mysql_query($sql);
  13. while ($data = mysql_fetch_array($req))
  14. {
  15. $timestamp = $data['timestamp']; // Date correspondant a la dernière visite du membre
  16. }
  17. $date_derniere_visite = date("d m Y", $timestamp);
  18. $date_moment_present = date("d m Y" );
  19. if (is_array($req)) // Si la requete possède un enregistrement
  20. {
  21. if ($date_derniere_visite == $date_moment_present)
  22. {
  23. echo '';
  24. }
  25. else {
  26. $requete = mysql_query("UPDATE `jour` SET `timestamp`='".time()."' WHERE `pseudo`='".$_SESSION['username']."'" ) or die(mysql_error());
  27. $sql = "SELECT * FROM `membre` WHERE `pseudo`='".$_SESSION['username']."'";
  28. $req = mysql_query($sql);
  29. while ($data = mysql_fetch_array($req))
  30. {
  31. $pieces_depart = $data['pieces'];
  32. }
  33. $pieces_200 = $pieces_depart + 200;
  34. $requete = mysql_query("UPDATE `membre` SET `pieces`='".$pieces_depart."'  WHERE pseudo='".$_SESSION['username']."'" ) or die(mysql_error());
  35. }
  36. }
  37. else // Si la requete ne possède d'enregistrement
  38. {
  39. $sql = "SELECT * FROM `membre` WHERE `pseudo`='".$_SESSION['username']."'";
  40. $req = mysql_query($sql);
  41. while ($data = mysql_fetch_array($req))
  42. {
  43. $pieces_depart = $data['pieces'];
  44. }
  45. $pieces_200 = $pieces_depart + 200;
  46. $requete = mysql_query("INSERT INTO `jour` VALUES ('".time()."', '".$_SESSION['username']."')" ) or die(mysql_error());
  47. $requete = mysql_query("UPDATE `membre` SET `pieces`='".$pieces_depart."'  WHERE pseudo='".$_SESSION['username']."'" ) or die(mysql_error());
  48. }
  49. }
  50. else  // Si l'utilisateur n'est pas loggué
  51. {
  52. }
  53. ?>


 
 
Voici ce que j'ai fait :)
 
Malheuresement le code ne marche pas si quelqu'un voie l'erreur merci  :ange:


Message édité par titanhermes le 14-02-2006 à 23:08:07
n°1305672
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 22:56:05  profilanswer
 

berk berk :/

n°1305674
titanherme​s
Posté le 14-02-2006 à 22:58:37  profilanswer
 

Tu as trouvé l'erreur ?

n°1305675
Berceker U​nited
PSN : berceker_united
Posté le 14-02-2006 à 23:01:04  profilanswer
 

titanhermes a écrit :

Tu as trouvé l'erreur ?


Oui, c'est pas indenté donc pas facile à lire et puis s'il y avait un minimum de commentaire, parce que là ça donne pas envie de le lire :(

n°1305678
titanherme​s
Posté le 14-02-2006 à 23:03:14  profilanswer
 

je le refais et tu me donne l'erreur :)

n°1305682
titanherme​s
Posté le 14-02-2006 à 23:08:32  profilanswer
 

voiloup c'est fait :) J'ai edité l'ancien :)

n°1305688
titanherme​s
Posté le 14-02-2006 à 23:21:25  profilanswer
 

je crois que ca coince au niveau de mon    

Code :
  1. if (is_array($req)) // Si la requete possède un enregistrement


 
Si quelqu'un voit pourquoi ...

Message cité 1 fois
Message édité par titanhermes le 14-02-2006 à 23:21:54
n°1305732
Berceker U​nited
PSN : berceker_united
Posté le 15-02-2006 à 03:51:59  profilanswer
 

titanhermes a écrit :

je crois que ca coince au niveau de mon    

Code :
  1. if (is_array($req)) // Si la requete possède un enregistrement


 
Si quelqu'un voit pourquoi ...


peut pas marcher car le $req n'est pas de tableau c'est juste un jeux d'enregistrement, le type de la variable $req est "ressource" pour savoir s'il y a des enregistrements tu peux utiliser la fonction mysql_num_rows($req)=>entier.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Une fois par jour :)

 

Sujets relatifs
phpmyadmin : mettre à jour ?Checkbox + popup une fois selection faite (gros naze inside)
déclarer une variable 1 seul fois dans un fichier rappeler?Mise a jour Case a cocher ASP
Renommer un fichier avec la date du jourIncrémenter une date plusieurs fois de suite
Comment permettre la mise à jour d'une table d'un site web[applet] probleme de mise à jour, modification non prise en compte
[PHP] Vote une fois par jourpq ce forum ne marche plus qu une fois sur deux ces 2 dernier jour?
Plus de sujets relatifs à : Une fois par jour :)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR