Problème d'installation d'un compteur live

Signaler
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Bonjour à vous, je viens sur le forum php car j'ai un soucis d'installation d'un script pour un compteur de visite que j'ai pris à cette adresse (pour tester vous pouvez le télécharger) :

http://persol.free.fr/compteur_visite/index.php
Pour le télécharger : 6 http://persol.free.fr/compteur_visite/click.php?id=6
Ce qu'a fait cette personne me convient parfaitement, mais y a un Hic.

Lorsque j'essaie de lancer l'installation à partir du fichier install.php (même si tous les champs sont remplis correctement) le message suivant apparaît :

Notice: Undefined variable: formulaire in /var/www/vhosts/location-a-cauterets.com/httpdocs/Compteur/install.php on line 9

Pour ceux qui veulent tester d'eux même :
http://www.location-a-cauterets.com/Compteur/install.php

et donc à cette ligne 9 j'ai ça dans le fichier install.php :

if ($formulaire =="envoyer")

Je suis les instructions dans le fichier txt, y a juste à lancer le fichier install.php

En installation manuelle c'est pareil :

http://www.location-a-cauterets.com/Compteur/install2.php

Le message suivant apparaît :

Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/location-a-cauterets.com/httpdocs/Compteur/install2.php on line 41

et à la ligne 41 j'ai ça dans le fichier install2.php :

        include("connect_visite.php") ;

Je suis pas une star en php, mais là je vois pas de quoi le problème peut venir. J'attends votre aide avec impatience. Passez une bonne nuit sinon. ;-) et merci d'avance

Cordialement.

12 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
Salut,

C'est quoi $formulaire ?

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

Et bien en fait si tu remplis les différents champs du formulaire et que tu cliques sur envoyer, le formulaire créé une table et rempli un fichier connect, où y a toutes les infos pour ta base de données, ID, MDP, nom de la base...

if ($formulaire=="envoyer")
{
 $texte="<?
 \$mysql_host="$mysql_host"; // le serveur
 \$mysql_login="$mysql_login"; // le login
 \$mysql_pass="$mysql_pass"; // mot de passe
 \$mysql_dbnom="$mysql_dbnom"; // nom de la base de donnee
 \$db=mysql_connect(\$mysql_host,\$mysql_login,\$mysql_pass);
 mysql_select_db(\$mysql_dbnom,\$db);
 ?>";

voilà le bout de code.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
Re,

C'est bien beaux ce morceaux de code mais ça ne m'explique pas ce qu'est $formulaire...

Ce que je veus c'est savoir ce qu'est $formulaire, si tu ne sais pas me l'expliquer nous(moi et les intervenants futur) ne pourrons pas t'aider...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

Bonsoir, je ne sais pas ce que c'est $formulaire. C'est une source que j'ai pris. Je suis nul en php. Et c'est pour cela que je viens vous voir sur le forum, car cette ligne de codage pose problème. Male écrite? Il manque un bout de code? Je ne sais pas du tout. Je pensais que c'était une ancienne version de php, que le codage avait changé ou évolué. Mais là tu me retournes ma question lol.

Donc non je ne sais pas ce que c'est, et donc je pense que personne ne peut m'aider comme tu as dit.

Bonne soirée.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
met moi le code html stp....

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

Voici le code html du fichier install.php nicomilville :

<html>
<head>
<title>installation</title>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
</head>




<?php
if ($formulaire=="envoyer")
{
 $texte="<?
 \$mysql_host="$mysql_host"; // le serveur
 \$mysql_login="$mysql_login"; // le login
 \$mysql_pass="$mysql_pass"; // mot de passe
 \$mysql_dbnom="$mysql_dbnom"; // nom de la base de donnee
 \$db=mysql_connect(\$mysql_host,\$mysql_login,\$mysql_pass);
 mysql_select_db(\$mysql_dbnom,\$db);
 ?>";
 $fp=fopen("connect_visite.php","w");
 fwrite($fp,$texte);
 fclose($fp);
 $date = date("Y-m-d");
 include("connect_visite.php") ;
 $sql="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)
 )
 ";
 $res=mysql_query($sql, $db);
 $sql="INSERT INTO compteur_visite VALUES ('$compteur', '$date', '$time', '$duree', 'compteur')";
 $res=mysql_query($sql, $db);
 if ($res==1)
  {
  include("connect_visite.php") ;
  print "
  

    &nbsp;

    &nbsp;

    Installation reussi

    Continuer

  
";
  }
 else
  {
  print "
  

    &nbsp;

    &nbsp;

    Installation échouée verifier vos parametres de connexion

    recommencer

  
";
 }
}
else
{
 print"
 

 <form method ="post" action="install.php">
  
      ----

             
Installation du compteur de visite

     ,
   
    ----

              Le serveur :

     ,
     
       
        ,
   
    ----

      Le login :,
     
       
        ,
   
    ----

      le mot de passe :
        ,
     
       
        ,
   
    ----

      le nom de la base
        de donn&eacute;e:,
     
       
        ,
   
    ----

              Chiffre au compteur:

       ,
             
         
         

     ,
   
    ----

      Durée entre deux connexions du meme visiteur

        ou il sera consider&eacute; comme nouveau visiteur (en heures),
             
     ,
   
    ----

      Nombre de
        minutes ou le visiteur

        sera consider&eacute; comme connect&eacute; (en minutes),
             
     ,
   
    ----

             
        La validation du formulaire va creer une table dans votre base de

        donn&eacute;e nomm&eacute; compteur_visite et enregistrer vos parametres
        de

        connexion dans le fichier connect_visite.php,
   
 

 
    
  

 </form>";
}
?>
&nbsp;

</html>





 




 



Voilà, si tu arrives à m'aider à faire fonctionner ce compteur je serais super content. Bonne nuit à toi.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
Remplace ça :

if ($formulaire=="envoyer")
{
 $texte="<?
 \$mysql_host="$mysql_host"; // le serveur
 \$mysql_login="$mysql_login"; // le login
 \$mysql_pass="$mysql_pass"; // mot de passe
 \$mysql_dbnom="$mysql_dbnom"; // nom de la base de donnee
 \$db=mysql_connect(\$mysql_host,\$mysql_login,\$mysql_pass);
 mysql_select_db(\$mysql_dbnom,\$db);
 ?>";

Par ça :

if ($formulaire=="envoyer")
{
 $texte="<?
 \$mysql_host="$_POST['mysql_host']"; // le serveur
 \$mysql_login="$_POST['$mysql_login']"; // le login
 \$mysql_pass="$_POST['mysql_pass']"; // mot de passe
 \$mysql_dbnom="$_POST['mysql_dbnom']"; // nom de la base de donnee
 \$db=mysql_connect(\$mysql_host,\$mysql_login,\$mysql_pass);
 mysql_select_db(\$mysql_dbnom,\$db);
 ?>";

Remplace ça :

 <form method="post" action="install.php">

Par ça :

 <form method="post" action="install.php?formulaire=envoyer">

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

OK, je test demain aprèm et je te dis ça, mais un grand merci à toi, même si ça ne fonctionne pas. Le seul fait de poster ces lignes que tu as décryptées, c'est déjà super. On se connait pas et tu m'aides quand même. MERCI.
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

Bon j'ai testé, et y a un problème encore, voilà le message avec tes bouts de code modifiés.

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/vhosts/location-a-cauterets.com/httpdocs/Compteur/install.php on line 12

La ligne 12 c'est celle là :

 \$mysql_host="$_POST['mysql_host']"; // le serveur

 Si c'est pas possible, je dois trouver une solution alternative. Le même genre de compteur (sans pub). Je regarde un peu partout et sur le site codes sources aussi, mais bon...

Cordialement.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
je vois vraiment pas comment faire...


désolé

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
46
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
18 février 2009

Non mais c'est que moi aussi je pige pas là. Ca doit venir de mon serveur c'est pas possible. J'ai un compteur chez free, j'ai pas les identifiants de la BDD mysql, mais juste en exécutant le fichier install.php, je n'ai pas de messages d'erreurs!!!!!! Bon le truc c'est que je peux pas aller plus loin lol... Mais bon. Sur le site du gars ça fonctionne!!!!

Il a deux exemples sur son site

http://persol.free.fr/compteur_visite/index.php

Son compteur est sobre, simple et efficace. La source a même été postée sur codes sources!!!! je l'ai rechopé ici par hasard. Et j'ai pas vu de messages disant qu'il fonctionnait pas. Franchement ça me blaze. Mais il n'y aurait pas un truc avec les droits? Car dès qu'il y a des fonctions php avec execution de requêtes et lecture d'un autre fichier php, ben erreurs.

Voici le genre de message que je peux trouver :

Warning: include() [function.include]: open_basedir restriction in effect. File(../visite/connect_visite.php) is not within the allowed path(s): (/var/www/vhosts/location-a-cauterets.com/httpdocs:/tmp) in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 2

Warning: include(../visite/connect_visite.php) [function.include]: failed to open stream: Operation not permitted in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 2

Warning: include() [function.include]: open_basedir restriction in effect. File(../visite/connect_visite.php) is not within the allowed path(s): (/var/www/vhosts/location-a-cauterets.com/httpdocs:/tmp) in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 2

Warning: include(../visite/connect_visite.php) [function.include]: failed to open stream: Operation not permitted in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 2

Warning: include() [function.include]: Failed opening '../visite/connect_visite.php' for inclusion (include_path='.:.:') in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 2

Notice: Undefined variable: db in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 24

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 24

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 25

Notice: Trying to get property of non-object in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 32

Notice: Trying to get property of non-object in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 33

Notice: Trying to get property of non-object in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 34

Notice: Trying to get property of non-object in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 37

Notice: Undefined variable: db in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 41

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php on line 41
requete invalide supp ip

Et puis ça :

/var/www/vhosts/location-a-cauterets.com/httpdocs/visite/visite1.php

Y a pas un chemin différent à donner à mes liens???? Car moi c'est différent de free.fr quand je mets sur le ftp, j'ouvre la connexion et ensuite j'ouvre un fichier httpdocs, c'est dans un autre dossier. C'est un hébergeur payant (free-h.org).

Je suppose que httpdocs c'est pour la sécurité, car je peux rien mettre directement à la racine du site (soit en étant directement connecté sur mon ftp).

Je pige plus rien, je vais voir de mon côté niveau hébergeur.
Je sais pas si c'est utile comme info, mais ma version sql c'est la 5.0.67

Merci à toi Nicomilville, mais là j'abandonnerai pas, ras le bol.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
De rien, désolé, c'est pas être a cause de la version, je crois que le script que tu as téléchargé c'est du php4...

Hors sur ton serveur la version de php est la version php5...

a++

Si la réponse vous convient, pensez : Réponse acceptée !