Bzh

  • Nombre de sujets
    62
  • Nombre de messages
    1 503
  • Nombre de commentaires
    24
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Bzh
le 26/02/2005 à 13:58
limiter les votes?
Donc, que nous conseillerais tu comme solution ????

A part le cookie ou la session ???

smiley
Bzh
le 26/02/2005 à 13:44
limiter les votes?
Et bien je sais pas...

Un truc du genre:
<?php

//après selection du champ:

$vote = mysql_fetch_array($resultat['votes']);
$id_photo //=>id de la photo a voter

//création d' un tableau qui contient les ids des photo qui ont déjà été voté
$liste_des_votes = explode(" ",trim($vote));


//on regarde si il a déja voté sur cette photo
if(!in_array($id_photo,$liste_des_votes)){


//il n' a pas déjà voté, donc on le laise voté



//ensuite on rajoute dans le tableau l' id de la photo dont il vient de voté
$liste_des_votes[] = $id_photo;


//recréer la chaine de caractère afin de remettre à jours la base
$vote = implode(" ",$liste_des_votes[]);



//reste plus qu' a mettre à jours la base de donné


}else{

//il a déjà voté et on lui indique par un message


echo "<p>Vous avez déjà voté...</p>\n";

}


?>


Et voilà, et je ne vois pas pkoi il y aura un souci...

Si on respecte bien certaine règle du style:

=>explode pour séparer
=>implode pour lier
=>et le trim() très important au cas ou un espace se baladérait


Pour ça, la Globule, j' aimerais bien que tu me dise se qui ne va pas dans mon code ou tout simplement dans la logique !!!!

A mon simple avi, se serait vraiment la meilleur des solutions...

Ciao...
Bzh
le 26/02/2005 à 11:59
limiter les votes?
Et bien c' est tout simple !!!!

Soit tu utilise les sessions ou bien les cookies !!!

Soit le plus propre searait de rajouter un champ(votes) a ta table 'utilisateur' qui serait de type varchar ou bien texte(cela dépents du nombre des photos) ou tu renregistras l' id des photos pour lequelles il à déjà voté séparer par un espace ( par exemple)...

Il ne te sufira plus qu' à vérifier, lors d' un vote, que l' id de la photo ne se trouve pas déjà dans son champ vote !!!

Voilà, je te conseil vivement la deuxième solution... Sera fait, comme ça, dans les règles de l' art !!!

Ciao...
Bzh
le 26/02/2005 à 11:21
Demande d'assistance(php/mysql)
Click droit sur l' icone en bar de tache (d' easyphp)...Puis administration et là tu as ts sous les yeux ...

Ciao et bon courage.... Bye...
Bzh
le 26/02/2005 à 00:28
petit probleme de md5
Bin la parcontre rex j' ai pas tout compris dans ton article...smiley

Tu dis,(si j' ai bien compris quelques petites choses tout de même), que les 'apostrophes magiques' peuvent protèger contre les injections SQL !!!

Sur ce point, j' ai vraiment du mal à te suivre...

Pour moi, les seules véritables protections sont :

=>addslash();
=>mysql_escape_string();

Pour l' exemple si dessu, je suis tout à fait d' accord sur le point qu' aucune protection contre les injections n' est utilisé !!!

Si tu pourrais déveulopper ta critique, dans ce cas là, des apostrophes, se serait sympa...

Ciao...
Bzh
le 25/02/2005 à 16:32
comment faire un espace membre
Vous pourriez au minimum l' encourrager !!!!

La Globule à raison !!! Vas voir son lien et surtout bon courage...

Ciao...
Bzh
le 25/02/2005 à 16:29
session_dureedevie
Le exit() je le met tjrs pour faire mieu...

De toute façon, même si on suit ta logique, il n' y aurait pas besoin de else vu que le script est arrèté après la redirection !!!

Exit() est là juste pour faire les choses bien...

C' est tout !!!
Bzh
le 25/02/2005 à 15:45
session_dureedevie
Une question !!!

Sur tes autres pages, ton session_start() se trouve ou ???

Tu le lance bien ???

Est ce que tu peux faire un echo $_SESSION['time'] c' est à dire:

<?php

//Déclaration de la session
session_start();


echo "Voici la variable de session => ".$_SESSION['time'];


//test si la variable existe
if(!isset($_SESSION['time'])){


//elle n' existe pas on la déclare
$_SESSION['time'] = time()+1200;


}

//test de la durée
if($_SESSION['time'] < time()){

//destruction de la session
session_unset();
session_destroy();

//redirection
header("Location: ./index.php");
exit();


}else{

//reste de ton code


}

?>
LoadingChargement en cours