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 :

Compteur de téléchargements


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Compteur de téléchargements
    Bonjour,
    J'essaie sur ma page de site de bibliothèque en ligne de créer un compteur de téléchargements pour tout ouvrage téléchargé. Le problème est que lorsque l'on clique sur le bouton télécharger, apparait un message d'erreur comme décrit plus bas.,Pouvez-vous m'aider à résoudre ce problème.
    Merci.

    Programme pour compter le nombre de téléchargements d'un livre donné.


    Code en php:
    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
    </head>
    <body>
    <?php
     
    $c=mysql_connect("localhost","root","");
    $b=mysql_select_db("biblio");
    echo ($req);
       $req= "UPDATE ouvrage
          SET
           nb_telech = (nb_telech+1);
          
      $exe=mysql_query($req);
    ?>
    </body>
    </html>

    Lorsque je clique sur télécharger une erreur s'affiche: Parse error: parse error, unexpected $end in C:\Program Files\EasyPHP 2.0b1\www\biblio1\telechargement.php on line 20

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Je ne sais pas ce que tu utilises comme outil pour travailler mais ce serait plus pratique pour toi d'utiliser un éditeur de texte avec coloration syntaxique comme Notepad++

    Tu aurais alors vu tout de suite où se trouve l'erreur, comme sur ce forum d'ailleurs...

    Tu as oublié le guillemet fermant sur ta requête...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       $req= "UPDATE ouvrage
          SET
           nb_telech = (nb_telech+1)";
    De plus faire un echo de la variable $req à cet endroit ne me semble pas logique. La variable n'existe pas, il devrait te mettre une belle erreur Undefined variable req on line...

    Il faut mettre cet echo après avoir déclaré la variable $req.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    Merci,
    J'ai effectué les changements désignés et rectifié mes erreurs.Les messages d'erreurs ne s'affichent plus,mais mon compteur de téléchargements ne s'incrémente pas.Il est toujours à 0 au niveau de la base des données.????

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas sûr que ce soit la raison, mais quand j'avais fait une requête SQL, j'avais encadré le nom de la table de cotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $req= "UPDATE `ouvrage`
          SET
           nb_telech = (nb_telech+1)";

  5. #5
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Rajoute des trucs comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $connex = mysql_connect("localhost","root","");
    if (!$connex) die('Erreur : ' . mysql_error());
     
    $db_selected = mysql_select_db("biblio");
    if (!$db_selected) die('Erreur : ' . mysql_error());
     
    $req = "UPDATE ouvrage SET nb_telech = (nb_telech+1)";
    $exe = mysql_query($req) or die('Erreur : '.mysql_error());

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Effectivement, je n'en ai pas parlé, mais je mettais aussi un die(mysql_error()) ; ça t'affichera la cause de l'erreur s'il y en a une.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 40
    Points
    40
    Par défaut ctp_telech
    Salut
    J'ai réécris le code et voila l'erreur s'affiche:
    Erreur : Champ 'nb_telech' inconnu dans field list
    Malgré que le champ nb_telech existe dans la table OUVRAGE.

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Ca veut dire que dans ta base ouvrage tu n'as pas de champ nb_telech

    C'est quoi la structure de ta table ?

  9. #9
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Champ recherche
    Bonsoir
    J'ai mis le catalogue de la recherche par domaine dans la page d'accueil du site, mais son code ne s'affiche pas dans la partie CODE de la page(frontpage).
    Mais si je prend le catalogue tout seul a part dans une autre page frontpage j'obtiens ce code:

    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
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>RECHERCHE PAR DOMAINE</title>
    </head>
     
    <body>
     
    <p>&nbsp;&nbsp; </p>
    <table border="0" width="100%" id="table2" height="130">
    	<tr>
    		<td width="28%" height="126" valign="top" bordercolor="#0000FF" bordercolorlight="#33CCFF" bordercolordark="#000080">
    		<form method="POST" action="rech_dom.php">
    			<p><b><font color="#0000FF"><span style="background-color: #FFFF00">RECHERCHE PAR DOMAINE:</span></font></b></p>
    		</form>
    		<form method="POST" action="rech_dom.php">
    			<p>
    			<input type="text" name="valeur" size="20" value="Saisire le domaine">&nbsp;
    			<input type="submit" value="OK" name="B4"></p>
    		</form>
    		<form method="POST" action="rech_dom.php">
    			<p>
    			<input type="text" name="choix" size="26" value="Taper le titre de l'ouvrage"></p>
    		</form></td>
    	</tr>
    </table>
    <p>&nbsp;</p>
     
    </body>
     
    </html>

  10. #10
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    mais son code ne s'affiche pas dans la partie CODE de la page(frontpage).
    Quel rapport il y a t-il avec ton problème initial qui était une incrémentation qui ne se faisait pas ?

    Le code que tu montre comporte essentiellement du HTML.
    Si tu veux afficher une donnée qui se trouve dans une Bdd, il faut faire une requête SQL qui va la récupérer, et un code Php qui s'occupera de l'afficher.
    Il y a rien de tout ça.

    A coté de ça, FrontPage je ne connais pas.

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Si ça peut servir, j'ai développé dans le temps une interface en PHP qui permet d'envoyer toute requête SQL à une table MySQL et d'en afficher la réponse si elle existe (ça serait le moyen d'afficher facilement la structure de la table : ou de tester la requête (en remplaçant les variables PHP par des valeurs)) ; mais je ne peux montrer d'exemple, vu que ça travaille sur des tables. Par contre, j'ai mis une copie d'écran qui montre ce que ça donne ; il y a bien sûr notamment un fichier config.php qui a cette structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    define("MYHOST","sql.free.fr"); //nom de l'hôte ; ex. de Free
    define("MYUSER","XXX"); //login
    define("MYPASS","YYY");// password
    ?>
    Fichiers attachés Fichiers attachés

  12. #12
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    Salut,
    Je m’excuse, car j’ai envoyé le code html par erreur. Le code concernant le compteur de téléchargement est celui écrit au début de la discussion, et dont j’ai corrigé la syntaxe. Malgré cela, il affiche l’erreur champ nb_telech inconnu dans Field List, bien que le champ existe dans la table.
    Merci.

Discussions similaires

  1. compteur de téléchargements
    Par laurentSc dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 18/02/2010, 23h00
  2. Compteur de téléchargements
    Par mt2sr dans le forum Langage
    Réponses: 3
    Dernier message: 22/12/2008, 22h55
  3. Compteur de téléchargement
    Par _ash_ dans le forum Débuter
    Réponses: 2
    Dernier message: 10/12/2008, 19h05
  4. Compteur de téléchargements
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/02/2008, 11h11
  5. [Système] Problème avec compteur de téléchargement
    Par Baptiste Wicht dans le forum Langage
    Réponses: 24
    Dernier message: 24/06/2006, 09h21

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