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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Compteur avec cookie et Mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Compteur avec cookie et Mysql

n°1349595
playmobil7​7d
Posté le 19-04-2006 à 13:47:39  profilanswer
 

Bonjour @ tous,
 
Encore moi vous allez dire :p, mais la j'ai un souci avec mon compteur de visite.
J'ai créé deux fichier pour mon compteur un fichier qui vérifie qu'il y a un cookie (sinon il le crée) et incrémente la base s'il n'existe pas.
voici sont code (il est insésé avant toute balise HTML) :

Code :
  1. <?
  2. if(!isset($_COOKIE['compteur'])){
  3. // création du cookie
  4. $timestamp_expire = time() + 365 * 24 * 3600; // Le cookie expirera dans un an
  5. setcookie('compteur','true',$timestamp_expire); // On écrit le cookie
  6. //connection à la base et incrémentation du compteur
  7. mysql_connect("sql.free.fr", "*****", "*****" );
  8. mysql_select_db("damien_bras" );
  9. $compter = mysql_query("SELECT * FROM compteur" );
  10. $doncompt = mysql_fetch_array($compter);
  11. $nombrevis=$doncompt['nbvis'];
  12. $nombrevis++;
  13. mysql_query("UPDATE compteur SET nbvis='$nombrevis' WHERE ID='1'" );
  14. mysql_close();
  15. }
  16. elseif($_COOKIE['compteur'] == 'true'){
  17. // connction à la bdd pour lire le compteur
  18. mysql_connect("sql.free.fr", "***", "****" );
  19. mysql_select_db("damien_bras" );
  20. $compter = mysql_query("SELECT * FROM compteur" );
  21. $doncompt = mysql_fetch_array($compter);
  22. $nombrevis=$doncompt['nbvis'];
  23. mysql_close();
  24. }
  25. ?>


Et j'ai un autre fichier qui lie la variable $nombrevis pour l'afficher :

Code :
  1. <?
  2. echo $nombrevis."<br>";
  3. //lecture compteur de visite
  4. $taille=strlen($nombrevis); //nombre de chiffre dans la variable
  5. $reste=6-$taille; //calcul le nombre de zéro qu'il faudra ajouter
  6. $taillefin = 6;
  7. $i=0;
  8. while ($taille > 0) {
  9. $taille--;
  10. $nombrei[$taille]=$nombrevis{$i};
  11. $i++;
  12. }
  13. while ($i <= $taillefin){
  14. $nombrei[$i]="0";
  15. $i++;
  16. }
  17. $taillefin --;
  18. while ($taillefin >=0){
  19. echo '<img src="../images/'.$nombrei[$taillefin].'.gif" width="12" height="15">';
  20. $taillefin--;
  21. }
  22. ?>


Mon problème est que quand le cookie n'existe pas, il incrémente bien le nombre dans la bdd mais il y a un problème à l'affichage et je ne vois pas où. J'espère que ce n'ai pas une erreur bidon (sinon je m'arrache les doights pour ne plus faire de PHP (dèjà que je ne suis pas très doué, çà limitera les dégat :))).
Pouvez vous m'aider ?
pour essayer sur une page : http://damien.bras.free.fr/pages/accueil.php
 
Merci d'avance.


Message édité par playmobil77d le 20-04-2006 à 21:16:11

---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...
mood
Publicité
Posté le 19-04-2006 à 13:47:39  profilanswer
 

n°1349794
playmobil7​7d
Posté le 19-04-2006 à 15:56:35  profilanswer
 

:bounce:


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...
n°1350091
Djebel1
Nul professionnel
Posté le 19-04-2006 à 21:22:42  profilanswer
 

euh, si tu veux juste afficher des images pour chaque chiffre, pourquoi tu fais pas directement une boucle sur $nombrevis ?
genre  
settype($nombrevis, 'string');
$x=0;
while (isset($nombrevis{$x})) {
echo '<img src="../images/'.$nombrevis{$x}.'.gif"  />';
$x++;
}
 
Et pour ta requete incrémentant ta bdd, pourquoi pas un "UPDATE compteur SET nbvis=(nbvis + 1) WHERE ID='1'"

n°1350103
playmobil7​7d
Posté le 19-04-2006 à 21:59:30  profilanswer
 

Citation :

pourquoi tu fais pas directement une boucle sur $nombrevis ?
genre  
settype($nombrevis, 'string');
$x=0;
while (isset($nombrevis{$x})) {
echo '<img src="../images/'.$nombrevis{$x}.'.gif"  />';
$x++;
}


Ben en fait, je voudrait afficher le nombre de visite sur 6 caracteres (donc en rajoutant des 0) et je ne sais pas avec ci dessus, sa peut le faire.

Citation :


Et pour ta requete incrémentant ta bdd, pourquoi pas un "UPDATE compteur SET nbvis=(nbvis + 1) WHERE ID='1'"


Tout simplement car je n'en ai pas eu l'idée merci ;) :p


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...
n°1350260
playmobil7​7d
Posté le 20-04-2006 à 10:29:16  profilanswer
 


Citation :


Et pour ta requete incrémentant ta bdd, pourquoi pas un "UPDATE compteur SET nbvis=(nbvis + 1) WHERE ID='1'"


Salut C'est bon sa fonctionne en modifiant le requete sql, par contre je ne vois pas pourquoi sa change quelque chose. Une petite explication existe ?  :ange:  
 
Sinon merci beaucoup  :love:


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...
n°1350629
Djebel1
Nul professionnel
Posté le 20-04-2006 à 16:53:01  profilanswer
 

bah je sais pas a quoi ressemble ta table SQL, mais visiblement tu fais l'update sur un ID=1
Donc la récupération du compteur devait aussi se faire avec cet ID j'imagine.
 
Donc ta requete 'select * from compteur' ramenait peut-être d'autres lignes (j'en sais rien). Du coup il aurait fallu faire un 'select * from compteur where id=1'

n°1350799
playmobil7​7d
Posté le 20-04-2006 à 21:15:51  profilanswer
 

Djebel1 a écrit :

bah je sais pas a quoi ressemble ta table SQL, mais visiblement tu fais l'update sur un ID=1
Donc la récupération du compteur devait aussi se faire avec cet ID j'imagine.
 
Donc ta requete 'select * from compteur' ramenait peut-être d'autres lignes (j'en sais rien). Du coup il aurait fallu faire un 'select * from compteur where id=1'


Ah oui bien pensé, c'était peut-être sa. En tout cas merci encore ;)


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...

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

  [Résolu] Compteur avec cookie et Mysql

 

Sujets relatifs
[Résolu] Centrer menu javascriptinsert et update anarchiques dans mysql ?
[Résolu] PB affection de texte dans un boutonPHP/MySQL: requete de tri et LEFT JOIN
[Résolu] Problème ouverture Popup[résolu] Agir sur un formulaire flash
Traitement d'un fichier dans BDD Mysqlfooter sous des floats [resolu]
[Résolu][JavaScript] Aller sur une ancre grâce au javascript[Résolu à moitier]Agir sur un formulaire flash
Plus de sujets relatifs à : [Résolu] Compteur avec cookie et Mysql


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