PHP - Incrémenter Hits et afficher fichier
Résolu
th2
-
th2 -
th2 -
Bonjour,
J'ai un petit soucis. Je voudrais incrémenter une variable "hits" et afficher un fichier précis à chaque fois mais je n'ai aucune idée de comment faire cela d'une façon sécurisée.
Voici mon code (j'ai plusieurs pages de ce type):
Donc pour résumer, je voudrais incrémenter les hits puis afficher le fichier texte ($id.txt)
Merci de m'aider.
J'ai un petit soucis. Je voudrais incrémenter une variable "hits" et afficher un fichier précis à chaque fois mais je n'ai aucune idée de comment faire cela d'une façon sécurisée.
Voici mon code (j'ai plusieurs pages de ce type):
<a href="index.php?pageid=papers" target="_top">:: Papers ::</a> <table class="list" width="90%"> <tr class="toplist"> <td width="9%"> :: Date</td> <td width="66%"> :: Title</td> <td width="10%"> :: Hits</td> <td width="15%"> :: Author</td> </tr> <?php $db = mysql_connect($Site['MYSQLHost'], $Site['MYSQLUser'], $Site['MYSQLPass']); mysql_select_db($Site['MYSQLDatabase'],$db); $sql = 'SELECT COUNT(*) AS NBentrees FROM p4per'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $Data = mysql_fetch_assoc($req); $NBpages = ceil($req / $Site['LinesPerTable']); $LastPage = $NBpages; if (isset($_GET['page'])) { $page = $_GET['page']; if (!is_numeric($page)) { header('Location: index.php?pageid=hacker'); } } else { $page = 1; } $Limit = ($page - 1) * $Site['LinesPerTable']; $sql = 'SELECT id,date,title,hit,author FROM p4per ORDER BY date DESC LIMIT '.$Limit.','.$Site['LinesPerTable']; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo '<tr class="listline"><td>'.$data['date'].'</td><td><a href="files/papers/'.$data['id'].'.txt" style="font-variant: normal;" target="_top">'.$data['title'].'</a></td><td>'.$data['hit'].'</td><td>'.$data['author'].'</td></tr>'; } mysql_close(); ?> </table> <?php echo '<br /><a href="index.php?pageid=papers&page=1" target="_top"><<First </a>'; for ($i = 1 ; $i <= $NBpages ; $i++) { echo '<a href="index.php?pageid=papers&page='.$i.'" target="_top">['.$i .']</a> '; } echo '<a href="index.php?pageid=papers&page='.$LastPage.'" target="_top"> Last>></a><br />'; ?>
Donc pour résumer, je voudrais incrémenter les hits puis afficher le fichier texte ($id.txt)
Merci de m'aider.
A voir également:
- PHP - Incrémenter Hits et afficher fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
salut,
l'idée pour se genre de truc c'est d'avoir un script a part pour la gestion de l'affichage ainsi l'incrementation du hit donc dans tes liens tu aura quelque chose comme ca
<a href='hitsmanager.php?id=md5($idfichier)'>nom fichier</a>
dans hitsmanager.php tu aura quelque chose comme ca
attention !! ici j'ai utiliser md5 pour crypter l'id des fichier en md5 ceci suppose que tu a ces id crypter dans ta base sinon tu pour un cryptage temporaire tu peut utilise base64_encode() et base64_decode() a la reception et tout autre fonction de cryptage du genre
CORDIALEMENT
l'idée pour se genre de truc c'est d'avoir un script a part pour la gestion de l'affichage ainsi l'incrementation du hit donc dans tes liens tu aura quelque chose comme ca
<a href='hitsmanager.php?id=md5($idfichier)'>nom fichier</a>
dans hitsmanager.php tu aura quelque chose comme ca
//recuperation de l'id $id_fichier = $_GET[id]; //recuperation du fichier correspondant $sql = "SELECT * FROM tablefichier WHERE id='".$id_ficher."'"; .......//le reste recuperation des differents //maintenant l'update du nombre de hit mysql_query("UPDATE table SET hits = hits+1 WHERE id='".$id_fichier."'"); //l'affichage header('content-type: text/html; charset=utf-8');//pour le html //ou header('content-type: text/plain; charset=utf-8');//text normale readfile($file); //$file tu doit le construire suivant le nom du fichier
attention !! ici j'ai utiliser md5 pour crypter l'id des fichier en md5 ceci suppose que tu a ces id crypter dans ta base sinon tu pour un cryptage temporaire tu peut utilise base64_encode() et base64_decode() a la reception et tout autre fonction de cryptage du genre
CORDIALEMENT