Créer son site Gratuitement : Service / Outils webmaster gratuit
Mon Site Gratuit
Contactez nous
Nos partenaires
Scripts
Tutoriaux
Nos services
Forums
Accueil
ForumsPuis-je demander un avis ?
      Imprimer le sujet FAQ  M'enregistrer 
  Parlez de tout et n'importe quoi ! Enfin presque ...

Puis-je demander un avis ?

Messagede idefix le 23 Mai 2009, 14:02

Bonjour a tous ,

Puis-je demander un avis d'expert (ça manque pas ici ;-D )
sur un bout de code d'un compteur de visites que j'ai fait ?
je suis débutant en php et base de données ,
il fonctionne sur mon site mais j'aimerais qu'il soit optimisé au mieux .

Merci .
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: Puis-je demander un avis ?

Messagede jeromecold le 23 Mai 2009, 15:24

Tu peux le poster ici, on te dira ce qu'on en pense ((on codent pratiquement tous en php) ;) !
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Puis-je demander un avis ?

Messagede idefix le 23 Mai 2009, 15:54

Ok
voila mon compteur ,
soyer dur dans vos critiques
mais n'oubliez pas que je suis débutant :lol:

Je voudrais savoir comment bien l'optimiser , si je met trop de variables ....

Code: Tout sélectionner
<?php
            mysql_connect("localhost", "MonServeur", "MonCodeSecret");
            mysql_select_db("MaBaseDeDonnee");
                                //ip client pour un control de 24h
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
               $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
            elseif(isset($_SERVER['HTTP_CLIENT_IP']))   
               $ip = $_SERVER['HTTP_CLIENT_IP'];   
            else
               $ip = $_SERVER['REMOTE_ADDR'];
            $dt = date('d/m/Y');//date
            $dtdb = date('YmdHis');
            $sql = 'SELECT * FROM `compteur` ';//requête sur compteur
            $retour = mysql_query($sql);
            $control = 0;//pour un control si visiteur es déjas venu
                                $timestamp = time();//timestamp actuelle
            while ($donnees = mysql_fetch_array($retour) )
            {
                                        $old_timestamp = strtotime($donnees['datetime']);
               if ($ip == $donnees['ipclient'])
               {
                  $control++;
                                                if ($old_timestamp+86400 < $timestamp)//+ 24h
                                                {
                                                   $control--;
                                                }
               }
            }
               if ($control == 0)//si visiteur pas passé avant 24h
               {
                  mysql_query("INSERT INTO `MaBaseDeDonnee`.`compteur` VALUES('', '$ip' , '$dtdb')");//inscription bdd
               }
            $sql = 'SELECT COUNT(*) AS nbre_entrees FROM `MaBaseDeDonnee`.`compteur` ;';//vérifier nombre d entrée dans la base
            $retour = mysql_query($sql);
            $donnees = mysql_fetch_array($retour);
            $nbvisite = $donnees['nbre_entrees'];
            echo "Date (Canada): ".$dt."- -"."Visites : ".$nbvisite." .";//affiche
            mysql_close();
         //Control visiteurs .-Fin
         ?>


PS: je voudrais juste vos critiques pas le refaire a ma place , merci a tous
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: Puis-je demander un avis ?

Messagede jeromecold le 23 Mai 2009, 16:16

C'est déjà pas mal pour un débutant, bravo!
J'ai une petite remarque seulement:

Code: Tout sélectionner
SELECT * FROM `compteur`


C'est ra requete mysql. Tu lui demande de te sortir toutes les entrées que la base de données contient puis tu retires celles qui ne conviennent pas, c'est long et lourd, non? Autant sortir directement celle qui t'intéresse avec une chose dans ce genre (et tu n'auras plus besoin de boucle):

Code: Tout sélectionner
SELECT * FROM `compteur` WHERE ip=$ip


Tu obtiendras une valeur de timestamp si l'ip existe (comme si ton compteur indiquant 1, tu fais une petite boucle avec mysql_fetch_array pour récupérer ce dernier) sinon un FALSE (que tu pourras détecter à l'aide d'une condition) et dans ce cas, c'est comme si ton compteur était à 0.

Un débutant qui utilise la concaténation; t'es sûr d'être débutant? :lol:

J'espère avoir été clair, si tu ne comprends pas, tu sais où me trouver ;-D
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Puis-je demander un avis ?

Messagede idefix le 23 Mai 2009, 17:08

Tu lui demande de te sortir toutes les entrées que la base de données contient puis tu retires celles qui ne conviennent pas, c'est long et lourd, non?


Je retire pas celle qui conviens pas , je vérifie avec la boucle dans la base si y a un ip identique au client et si oui
je vérifie si plus de 24h alors j'inscris dans ce cas . je vais étudier un peux plus la commande WHERE .

Heuuuuu oui débutant en PHP mais je sais un peux programmer en C et CPP et Delphi :-D

Je compte bien faire quelques tutos d'ailleurs si on peux et en Delphi aussi ou Lazarus .

Merci pour tes conseils .
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: Puis-je demander un avis ?

Messagede jeromecold le 23 Mai 2009, 17:24

Deux langages que je ne connait pas (à part de nom et encore, que pour un des deux!).
Je pense que dans la rubrique autres sa doit être possible de faire des tutos pour ces langages, ils servent à quoi?
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Puis-je demander un avis ?

Messagede idefix le 23 Mai 2009, 17:33

C et C++ c'est de la programmation pour un faire un programme multi plateforme ,(windows , linux , beos etc ....)
Delphi c'est pour faire des programme windows ,
et Lazarus est le clown que Delphi mais multi plateforme et gratuit .

voila si tu as d'autres questions n'hésite pas ....
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: Puis-je demander un avis ?

Messagede jeromecold le 23 Mai 2009, 17:58

Merci bien!!
J'avais essayé le C mais vu que le compilateur de Microsoft fonctionnait pas, j'ai laissé tombé ^^, c'est ce jour là que je me suis rendu compte que la création pour le web me plaisait plus :siffle: !
Arobase plus
Avatar de l'utilisateur
jeromecold
Plug'zien Pro
Plug'zien Pro
 
Messages: 3156
Inscription: 05 Sep 2007, 13:18
Points: 2915


Re: Puis-je demander un avis ?

Messagede idefix le 23 Mai 2009, 18:06

C'est sur que des programmes et même gratuit y en a déjas des tonnes :p
et pour faire un jeux 3D par exemple il faut etre une équipe , pas évident ...
la création de site web c'est cool :-D
Ce qui doit être fait mérite d'être bien fait !
IDEFIX
Avatar de l'utilisateur
idefix
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 62
Inscription: 23 Mai 2009, 02:57
Localisation: Canada
Points: 79


Re: Puis-je demander un avis ?

Messagede moster le 16 Aoû 2009, 15:14

Merci pour l'info
moster
Apprenti Plug'zien
Apprenti Plug'zien
 
Messages: 54
Inscription: 15 Aoû 2009, 22:42
Points: 71


Re: Puis-je demander un avis ?

Messagede robin59 le 28 Aoû 2009, 15:06

c'est sûre que la création de site web c'est bien moi pour l'instant je sais faire la prog' web et les logiciels en C++ mais bon je trouve quand même que les langages interprétés sont mieux car les langages compilé c'est assez énervant il faut , comme sont nom l'indique le compilé :siffle: , et ça c'est le pire et quelque fois on a un petit cadeau avec du type error.... ça c'est assez énervant mais ça à sont côté maléfique :-x non je rigole :-D moi je suis du même avis que toi la programmation web est quand même plus intéressante dans l'ensemble mais le mieux c'est de faire un site web où on propose des logiciels réaliser en C++ ou autre ;-D
bonne continuation à toi mais le compteur ne viendrais pas d'un site :siffle:
robin59
Nouveau Plug'zien
Nouveau Plug'zien
 
Messages: 12
Inscription: 27 Aoû 2009, 12:52
Points: 36



Retourner vers Discut'

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités