Ses derniers messages sur les forums
Donc, que nous conseillerais tu comme solution ????
A part le cookie ou la session ???
Pas beau le SELECT *
Ciao...
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...
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...
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...
Bin la parcontre rex j' ai pas tout compris dans ton article...
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...
Arf !!!!!
Ciao...
Vous pourriez au minimum l' encourrager !!!!
La Globule à raison !!! Vas voir son lien et surtout bon courage...
Ciao...
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 !!!
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
}
?>