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 :

Requete invalide up compt [PHP 7]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut Requete invalide up compt
    Bonjour à tous,
    J'ai un problème concernant un compteur de page
    Plutôt qu'un long discours, je vous mets le script (il n'est pas de moi, il date un peu et j'ai simplement essayé de le mettre à jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php 
    		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 va vérifier la date pour voir si elle a changé
    		$ql3="select * from compte_pages where ip ='compteur' and nom_page='$page'";
    		$ret3= $con->query($ql3);
    		$ligne= mysqli_fetch_object ($ret3);
    		$date= date('Y-m-d');
    		//on convertit l heure courante en minute d une journee
    		$time=$time=(date("H") * 60) + date("i");
    		echo $time,"<br>";
    		//on va récupérer le nombre de visiteurs
    		$nombre=$ligne->compteur;
    		$t=$ligne->time;
    		echo $t,"<br>";
    		$d = $ligne->duree;
    		echo "<br>";
    		echo "nombre";
    		echo $nombre;
    		echo "<br>";
    		//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 retient_pages where page_nom='$page'";
    	$res=$con->query($sql) or die ("requete invalide supp ip");
    	//on met a jour la nouvelle date dans la table
    	$sql="update compte_pages set date='$date' where ip='compteur' and nom_page='$page'";
    	$res=$con->query($sql) or die ("requete invalide maj date");
    }
    //on verifie l adresse ip du visiteur et aussi son heure de passage
    $sql="select * from retient_pages where ip='$adress' and page_nom='$page'";
    $res=$con->query($sql) or die ("requete invalide verif ip");
    $ligne = mysqli_fetch_object ($res);
    $num_rows =mysqli_num_rows ($res);
    if ($num_rows=='0')
    {
    	//on enregistre l adresse ip si elle est inconnu et on incremente le compteur
    	$sql="insert into retient_pages(ip,time,duree,page_nom) values ('$adress','$time','$time','$page')";
    	$res=$con->query($sql)or die ("requete invalide enr ip");
    	$nombre+=1;
    	echo $nombre;
    	$sql="update compte_pages set compteur=$nombre where ip='compteur' and page_nom='$page'";
    	$res=$con->query($sql) or die ("requete invalide up compt");
    }
    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 retient_pages set time=$time,duree=$time where ip='$adress' and page_nom='$page'";
    		$res=$con->query($sql) or die ("requete invalide maj time");
     
    		//on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
    		$adress1=$adress.".".$nombre;
    		$sql="insert into retient_pages (ip,time,duree,page_nom) values ('$adress1','$time','$time', '$page')";
    		$res=$con->query($sql)or die ("requete invalide enr ip");
     
    		//et on increment le compteur de visite
    		echo $nombre,"<br>";
    		$nombre=$nombre+1;
    		echo $nombre;
    		$sql="update compte_pages set compteur=$nombre where ip='compteur' and nom_page='$page'";
    		$res=$con->query($sql) or die ("requete invalide up compt");
    	}
    	else
    	{
    		//on met a jour son heure de passage si elle est superieure a t
    		if ($time>(($time1)-$t))
    		{
    			$sql="update retient_pages set time=$time where ip='$adress' and page_nom='$page'";
    			$res=$con->query($sql) or die ("requete invalide maj time");
    		}
    	}
    }
    J'ai donc l'erreur indiqué dans le titre de mon message, mais je ne vois pas ce qui cloche puisque tout se passe bien jusque là.
    Auriez-vous une idée ?
    Merci
    Cordialement

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    Après avoir effectué ps ml d'essais en tous genre, je pense avoir trouvé la solution
    La colonne qui contenait le nombre de page était en TINYINT et à priori cela posait problème alors je j'ai changé en INT
    Mais cela n'a pas été suffisant et j'ai quelque peu changé la formule qui est devenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="UPDATE `compte_pages` SET `compteur` = $nombre WHERE `compte_pages`.`nom_page` ='$page'";
    	$res=$con->query($sql) or die ("requete update invalide up compt");
    et cela a l'air de fonctionné !
    Merci et bonsoir
    Jeannot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SOAP][PHP][BING] requete invalid why?
    Par sharkichoux dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 06/12/2010, 18h05
  2. [requete] dates et comptes
    Par poplite dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/05/2009, 20h03
  3. [Requete] utilisation de "Compte"
    Par TheBlackReverand dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 26/05/2007, 00h02
  4. Requete imbriquée qui compte
    Par javaboy dans le forum Requêtes
    Réponses: 5
    Dernier message: 16/04/2007, 09h12
  5. [MySQL] requete invalide...mé fonctionne dans l'executeur de requete
    Par benja507 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/02/2006, 14h23

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