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 :

Incrémenter une fois les download avec des cookies et mysql


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 107
    Points : 70
    Points
    70
    Par défaut Incrémenter une fois les download avec des cookies et mysql
    Bonjour a tous
    j'ai un site d'une asso de dj avec des mix à écouter et télécharger entre autre.
    je voudrais comptabiliser le nombre de download par jours avec des cookies.
    voici mon 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
    //recuperation de l'ip
    if($_SERVER) {
    	if($_SERVER['HTTP_X_FORWARDED_FOR'])
    		$adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
     	else if($_SERVER['HTTP_CLIENT_IP'])
       		$adress = $_SERVER['HTTP_CLIENT_IP'];
       	else
       		$adress = $_SERVER['REMOTE_ADDR'];
      		}
    //création de variables de l'url
    $dj = $_GET['dj']; 
    $ecouter = $_GET['dl'];
    //numéro du mix
    $nbr = $_GET['nbr'];
    //tableau des mix 
    $v=1;
    $info = mysql_query("SELECT * FROM player_".$dj."");
    while ($foo = mysql_fetch_array($info)) {
        $mix[$v]=$foo['ecouter'];
        $v++;
        }
    //création du cookie d'ip si c'est pas deja fait
    	if (!isset($_COOKIE['ip'])){
    	   setcookie('ip', $adress, time()+86400);
    // si c'est recunnu, création d'un cookie par mix
        } else if  (!isset ($_COOKIE[$mix[$nbr]])){ 
           setcookie($mix[$nbr], $ecouter, time()+86400);  
    //on incrémente le compteur
           mysql_query("UPDATE player_$dj SET inc = inc + 1 WHERE ecouter = '$ecouter'");
    }  
    //phase test pour voir ou en sont les cookies
    $v=1;
    $query = mysql_query("SELECT * FROM player_".$dj."");
    while ($array = mysql_fetch_array($query)) {
          $mix[$v]=$array['ecouter'];
    // si le cookie mix est répertorié, on l'affiche avec le numéro
          if ($nbr = $v){ 
    		 echo $_COOKIE[$mix[$nbr]].'<br>';
             echo $nbr.'<br>';
             }
         $v++;
         }
    ?>
    voila ce que j'ai quand je clique sur un download
    1
    Devilish
    2

    3
    MixTekHouse
    4
    PreMix(VersionFinaleJuin2006)
    5

    6
    Tremplin_Astropolis_2005
    7
    Hardmosfear
    8
    pourtant je réinitialise les cookies avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $v=1;
    $part = mysql_query("SELECT * FROM player_".$dj."");
    while ($fetch = mysql_fetch_array($part)) {
          setcookie($mix[$v], -1); 
          $v++;
          }
    ?>
    mais c'est pareil
    ma bdd:
    Résultat de la requête SQL - phpMyAdmin 3.1.5.pdf
    si joint la page de mon site:
    http://tekarea.free.fr/soundz/Pusher...ix=Hardmosfear
    pouvez vous me mettre sur la voie svp
    Merci

  2. #2
    Membre régulier Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 107
    Points : 70
    Points
    70
    Par défaut
    Voila je me suis répondu tout seul
    Fallait remplacer les '.' par des '_' dans les variables
    tous fonctionne mais le site est toujours en travaux.
    il faut que je renseigne la bdd et se sera bon
    pour ceux qui tomberont sur ce poste, sachez que j'ai forcé le download avec :
    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
    $q = mysql_query("SELECT download FROM player_$dj WHERE ecouter = '$ecouter'");
    $r = mysql_fetch_array($q);
     $file=$r[download];
    if (($file != "") && (file_exists("./" . basename($file))))
       {
       $size = filesize("./" . basename($file));
       header("Content-Type: application/force-download; name=\"" . basename($file) . "\"");
       header("Content-Transfer-Encoding: binary");
       header("Content-Length: $size");
       header("Content-Disposition: attachment; filename=\"" . basename($file) . "\"");
       header("Expires: 0");
       header("Cache-Control: no-cache, must-revalidate");
       header("Pragma: no-cache");
       readfile("./" . basename($file));
       exit();
       }
    voila merci pour les lecteurs.
    A+

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/05/2016, 14h18
  2. [XL-2007] Copier que les cellules avec des valeurs dans une plage.
    Par Fred4345 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/11/2011, 21h20
  3. Comment afficher des images les unes devant les autres avec GTK+ ?
    Par getgetxx dans le forum GTK+ avec C & C++
    Réponses: 19
    Dernier message: 30/04/2009, 21h58
  4. initialiser les label avec des infos provenant d'une table
    Par mouss4rs dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 24/04/2008, 10h54
  5. Réponses: 2
    Dernier message: 06/12/2002, 08h50

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