Boutons "Like" en php et flatfile - Besoin d'aide...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Boutons "Like" en php et flatfile - Besoin d'aide...

Re: Boutons "Like" en php et flatfile - Besoin d'aide...

par laurentlesax » 25 janv. 2012, 00:13

Merci Moogli pour ta réponse rapide... Comme je l'ai indiqué, je ne suis pas très calé en Php.. et je ne comprends hélas pas ce que tu veux dire... :? désolé...
"passe en paramètre le nom de la photo"... "Tableau sérialisé"... "Lock"... ? :shock:

Re: Boutons "Like" en php et flatfile - Besoin d'aide...

par moogli » 24 janv. 2012, 14:51

salut,

- passe en paramètre le nom de la photo
- vue qu'a priori tu a un nombre important de photo il faut structurer la chose et soit tu utilise un tableau sérialisé dans le fichier, mais tu sera obliger de gérer le lock du fichier et pourra potentiellement avoir des soucis d'écriture concurrente dans le fichier (et donc de perdre des enregistrements).
- tu peux utiliser une fichier xml plutot qu'un tableau sérialisé (voir extension DOM).

pourquoi ne pas utiliser de base de donnée ?
tu peux utilise des fichier SQLITE

@+

Boutons "Like" en php et flatfile - Besoin d'aide...

par laurentlesax » 24 janv. 2012, 10:58

Bonjour!

J'ai un site de Photo avec plusieurs galeries. Sur une des galeries, j'aimerais mettre un système de boutons "like" qui m'indique, pour chaque photo, à côté du bouton pour cliquer, le nombre de likes. J'ai réussi à réaliser un script mais, n'étant pas très calé en langage php, j'ai fait pour l'instant DEUX fichiers pour chaque image, ce qui n'est pas très pratique car le nombre d'images de la galerie peut-être important et cela m'oblige à avoir un nombre de fichiers trop grand à gérer. De plus, je souhaite faire un script SANS base de données. J'ai donc pour l'instant 1 fichier PHP pour le script et 1 fichier texte pour le nombres de likes (flatfile) / image. Il est pour l'instant en fonction par exemple sur cette galerie : http://laurent.images.online.fr/nb2012.php (en bas de la galerie). Voici mon script:

Pour chaque photo:

1) likesphoto.php
<?php 
    $file = 'likesphoto.txt'; //le fichier texte
    if (!is_writable($file)) die('not writable'); 
    $current = trim(file_get_contents($file)) + 1; 
    fwrite(fopen($file, 'w'), $current); 
    header("location: ".$_SERVER["HTTP_REFERER"]); 
?>
-------------------------------
2) likesphoto.txt
12
le fichier texte ne contient qu'un chiffre correspondant au nombre de votes pour l'image. (Ici 12 votes)
-------------------------------
3) le bouton +1 sur la photo avec le nombre de likes affiché:
<form action="likesphoto.php" method="get"><input type="submit" value="<?php $file='likesphoto.txt'; $contenu=file_get_contents($file); echo "$contenu likes";?>"></form>

MA QUESTION: J'aimerais pouvoir "centraliser" toutes les requêtes des images de la galerie sur uniquement DEUX fichiers: le php et le txt, au lieu de deux fichiers multipliés par le nb images... Je pense que cela doit être possible en utilisant un id et un name pour chaque bouton mais je bloque, n'ayant pas les connaissances suffisantes... :-( En outre, j'ai placé un "HTTP_REFERER" afin que le script retourne à la page d'origine après exécution, mais cela recharge la page et fait reprendre la galerie au début, ce qui n'est pas bien grave, mais pas très pratique pour le visiteur... Y a t'il un moyen d'afficher le chiffre incrémenté après vote immédiatement? (question subsidiaire.. :wink: )

Un grand merci à vous!.. Si quelqu'un peut m'aider...