Soucie MySql - Page 3

Précédent
  • 1
  • 2
  • 3
  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    cette erreur concerne en fait la ligne de la requette à laquelle mysql_fetch... fait référence

    donc regardes de plus près ta ligne qui fait la requette mysql_query....
    0
  2. Arthur .E
     
    $res=mysql_query($sql, $db) or die ("requete invalide verif ip");
    Peut tu m'expliquez en meme temp ce qui va pas ? ^^
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    $res=mysql_query($sql, $db) or die ("requete invalide verif ip");

    remplace par une trace plus explicite:

    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    0
  4. Arthur .E
     
    hé hop d'une nouvelle erreure ... Piouf ! ^^
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/a4272063/public_html/visite/visite.php on line 25
    requete invalide: delete from compteur_visite where ip!='compteur'
    Erreur: Table 'a4272063_base.compteur_visite' doesn't exist


    Ma page visite.php

    <?
    include("connect_visite.php") ;
    
    //on recupere l adresse ip du visiteur
    if($_SERVER) 	{
      			if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
          				$adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
        			elseif(isset($_SERVER['HTTP_CLIENT_IP']))
          				$adress = $_SERVER['HTTP_CLIENT_IP'];
        			else
          				$adress = $_SERVER['REMOTE_ADDR'];
      		}
     else 		{
        			if(getenv('HTTP_X_FORWARDED_FOR'))
          				$adress = getenv('HTTP_X_FORWARDED_FOR');
        			elseif(getenv('HTTP_CLIENT_IP'))
          				$adress = getenv('HTTP_CLIENT_IP');
        			else
          				$adress = getenv('REMOTE_ADDR');
      		}
    
    //on verifie si on a pas changé de jour et on recupere le chiffre du compteur
    $sql="select * from compteur_visite where ip='compteur'";
    $res=mysql_query($sql, $db);
    $ligne = mysql_fetch_object ($res);
    $date = date("Y-m-d");
    
    //on convertit l heure courante en minute d une journee
    $time=(date("H") * 60) + date("i");
    
    //on recupere le compteur courant et le temps t
    $compteur=$ligne->compteur;
    $t=$ligne->time; //temps de connexion de reference
    $d=$ligne->duree; //duree de renouvellement de reference
    
    //on test si on a changé de jour
    if ($date!="$ligne->date")
    {
    	//on vide toutes les addresses ip enregistrées dans la table lors du changement de jour
    	$sql="delete from compteur_visite where ip!='compteur'";
    	$res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    	
    	//on met a jour la nouvelle date dans la table
    	$sql="update compteur_visite set date='$date'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); }
    
    //on verifie l adresse ip du visiteur et aussi son heure de passage
    $sql="select * from compteur_visite where ip='$adress'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    $ligne = mysql_fetch_object ($res);
    $num_rows =mysql_numrows ($res);
    if ($num_rows==0)
    {
    	//on enregistre l adresse ip si elle est inconnu et on incremente le compteur
    	$sql="insert into compteur_visite (ip,time,duree) values ('$adress','$time','$time')";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    	$compteur+=1;
    	$sql="update compteur_visite set compteur=$compteur where ip='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    }
    else
    {
    	//si l'adresse ip est connu alors verifie si sa connexion precedente est superieur a la durée
    	//de renouvellement et si son heure de passage precedente incremente ou pas les connectés
    	$time1=$ligne->time; //on recupere l'heure de sa precedente connexion de notre connecté
    	$duree1=$ligne->duree; //on recupere l'heure de sa precedente connexion de notre connecté
    	
    	// on verifie si sa derniere connexion ne date pas de plus que la duree de reference
    	if ($d*60<($time - ($duree1)))
    	{
    		//si la duree de reference est depassé alors notre connecté est comptablisé 
    		//comme nouvelle visite et on met a jour sa nouvelle heure de passage
    		$sql="update compteur_visite set time=$time,duree=$time where ip='$adress'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    		
    		//on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
    		$adress1=$adress.".".$compteur;
    		$sql="insert into compteur_visite (ip,time,duree) values ('$adress1','$time','$time')";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    		
    		//et on increment le compteur de visite
    		$compteur+=1;
    		$sql="update compteur_visite set compteur=$compteur where ip='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    	}
    	else
    	{
    		//on met a jour son heure de passage si elle est superieure a t
    		if ($time>(($time1)-$t))
    		{
    			$sql="update compteur_visite set time=$time where ip='$adress'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    		}
    	}
    }
    
    
    //on compte le nb de connecté de la journée
    $sql="select * from compteur_visite";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    $compteur_j=(mysql_numrows ($res))-1;
    
    //on compte le nb de connecté
    $time=$time-$t;
    $sql="select * from compteur_visite where time>=$time and ip!='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide: ".$sql."<br> Erreur: ".mysql_error()); 
    $compteur_c=mysql_numrows ($res);
    mysql_free_result($res);
    mysql_close();
    ?>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    Erreur: Table 'a4272063_base.compteur_visite' doesn't exist

    ce qui veut dire que la table compteur_visite n'existe pas vérifies !
    0
  7. Arthur .E
     
    Quand je veux crée la table compteur_visite il me demande de mettre un numéro
    si je met 2 par exemple sa me met
    Field TypeDocumentation Length/Values1 Collation Attributes Null Default2 Extra

    donc je sais pas quoi remplir ^^
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    pourquoi veux tu en recreer une autre ?

    verifies qu'elle est bien dans la bonne base: a4272063_base
    0
  9. Arthur .E
     
    Bah parcequ'elle est pas crée,
    Donc j'ai crée une Table j'ai mi nimporte quoi et le message est :

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/a4272063/public_html/visite/visite.php on line 25
    requete invalide: delete from compteur_visite where ip!='compteur'
    Erreur: Unknown column 'ip' in 'where clause'
    0
  10. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 513
     
    Assures-toi que le serveur aie les droits en écriture dans le dossier ou sur le fichier "connect_visite.php".
    0
  11. Arthur .E
     
    J'ai mi tout le dossier en CHMOD 777, et sa ne change rien :(
    0
  12. Arthur .E
     
    Il charge un peu et revien a cette meme page
    0
  13. Arthur .E
     
    Hey ! ^^
    J'ai trouver la table que l'instal.php est censé modifié ;)

    "CREATE TABLE compteur_visite (
    compteur double DEFAULT '0' NOT NULL,
    date date DEFAULT '0000-00-00' NOT NULL,
    time int(9) NOT NULL default '0',
    duree int(9) NOT NULL default '0',
    ip varchar(50) NOT NULL,
    PRIMARY KEY (ip),
    KEY compteur (compteur, date),
    KEY ip (ip)
    )
    "

    Mais la pour le coup c'est du chinois Japonais =D ^^
    0
  14. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 513
     
    À exécuter dans l'onglet 'SQL' de PhpMyAdmin ...
    0
    1. Arthur .E
       
      J'ai executer ce que j'ai trouvé sur un autre site web :

      -- phpMyAdmin SQL Dump
      -- version 2.11.4
      -- https://www.phpmyadmin.net/
      --
      -- Host: localhost
      -- Generation Time: Jan 07, 2010 at 03:20 AM
      -- Server version: 5.0.81
      -- PHP Version: 5.2.11
      
      SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
      
      --
      -- Database: `a4272063_base`
      --
      
      -- --------------------------------------------------------
      
      --
      -- Table structure for table `compteur_visite`
      --
      
      CREATE TABLE `compteur_visite` (
        `compteur` double NOT NULL default '0',
        `date` date NOT NULL default '0000-00-00',
        `time` int(9) NOT NULL default '0',
        `duree` int(9) NOT NULL default '0',
        `ip` varchar(50) collate latin1_general_ci NOT NULL default '',
        `id` int(11) NOT NULL default '0',
        `compteur_records` text collate latin1_general_ci NOT NULL,
        `compteur_records_date` text collate latin1_general_ci NOT NULL,
        `compteur_records2` text collate latin1_general_ci NOT NULL,
        `compteur_records_date2` text collate latin1_general_ci NOT NULL,
        PRIMARY KEY  (`ip`),
        KEY `compteur` (`compteur`,`date`),
        KEY `ip` (`ip`)
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
      
      --
      -- Dumping data for table `compteur_visite`
      --
      
      INSERT INTO `compteur_visite` VALUES(0, '0000-00-00', 198, 198, '91.88.230.13', 0, '', '', '', '');



      Si j'insert ce que je t'es di precedement sa me dit :

      #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"CREATE TABLE compteur_visite (
      compteur double DEFAULT '0' NOT NULL,
      date dat' at line 1 
      0
      1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 513 > Arthur .E
         
        Tu ne dois pas mettre les guillemets autour !
        0
  15. Arthur .E
     
    Avec la table que j'ai inséré on dirais que le script marche mais le nombre de visite reste à 1 et le nombre de connecté a 1 :(
    0
  16. Arthur .E
     
    J'ai bien tirer les guillemet
    et rien a faire sa reste a :

    Nb de visiteurs:1

    Nb de visiteurs aujourd'hui:0

    Nb de connectés:1

    Piouf Perdu :(
    0
  17. Arthur .E
     
    Me revoicii, Désolé de mettre des post les un a la suite mais je cherche et défois je bloque quand je pense
    avoir presque reussi ;)

    voici les message d'erreur

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'a4272063_user'@'10.50.0.41' (using password: YES) in /home/a4272063/public_html/visite/connect_visite.php on line 6

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/a4272063/public_html/visite/connect_visite.php on line 7

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a4272063/public_html/visite/visite.php on line 24

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/a4272063/public_html/visite/visite.php on line 25

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a4272063/public_html/visite/visite.php on line 41
    requete invalide: delete from compteur_visite where ip!='compteur'
    Erreur: Access denied for user 'a4272063_user'@'10.50.0.41' (using password: YES)
    0
Précédent
  • 1
  • 2
  • 3