bonjour j'ai créer un script pour voté avec root top.
les utilisateurs votant (tout en étant loger) gagne 1 point.
mais il y a un problème :s.
soit on peut voté no stop et gagné des points a chaque fois ...
soit ne pas voté ^^.
car les points sonts attribués que s'il on vote toute les 2h.
voici ma bdd :
Code : SQL
et voila bien entendu mon script php :
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 CREATE TABLE IF NOT EXISTS `rc_accounts` ( `account_id` int(11) unsigned NOT NULL auto_increment, `username` varchar(32) character set latin1 NOT NULL, `password` varchar(32) character set latin1 NOT NULL, `email` varchar(32) character set latin1 NOT NULL, `isdm` tinyint(4) NOT NULL default '0', `isbanned` tinyint(4) NOT NULL default '0', `ignore` text character set latin1 NOT NULL, `pts` int(11) NOT NULL default '0', `hv` bigint(20) NOT NULL, PRIMARY KEY (`account_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=8 ; -- -- Contenu de la table `rc_accounts` -- INSERT INTO `rc_accounts` (`account_id`, `username`, `password`, `email`, `isdm`, `isbanned`, `ignore`, `pts`, `hv`) VALUES (1, 'neo22', '********', '*******@*******', 1, 0, '', 12, 1400);
Code : PHP
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 <?php session_start(); $pseudo=$_SESSION['pseudo']; mysql_connect("sql.free.fr", "david.balan", "*****"); mysql_select_db("david_balan"); $sql = "SELECT * FROM rc_accounts WHERE username='".$pseudo."'"; $req = mysql_query($sql) or exit(mysql_error()); $data = mysql_fetch_assoc($req); $points = $data['pts'] +1 ; $heure = date("Hi"); $alerte = $heure+ 120; if($data['hv'] >= $alerte) { mysql_query("UPDATE rc_accounts SET pts ='".$points."' WHERE username='".$pseudo."'") or die(mysql_error()); mysql_query("UPDATE rc_accounts SET hv ='" .$heure . "' WHERE username='".$pseudo."'") or die(mysql_error()); mysql_close(); } header('Location: http://www.root-top.com/topsite/mmorpg/in.php?ID=1207'); ?>
dans le cas du :
Code : PHP
on peu voté mais il n'y a pas d'incrémentation d'un point.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if($data['hv'] >= $alerte)
Code : PHP
on peut voté non stop et gagné 1 points a chaque fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($data['hv'] <= $alerte)
un peu d'aide serai la bienvenue.
autrement comment sécuriser tout ca , car les :
Code : PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 mysql_query("UPDATE rc_accounts SET pts ='".$points."' WHERE username='".$pseudo."'") or die(mysql_error()); mysql_query("UPDATE rc_accounts SET hv ='" .$heure . "' WHERE username='".$pseudo."'") or die(mysql_error());
en pleine air c'est une bonne source de hack je pence.
et je ne pence pas mètre :
Code : PHP
car le mysql_query ne va pas ce lancer dans ce cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $machin = mysql_query("UPDATE rc_accounts SET hv ='" .$heure . "' WHERE username='".$pseudo."'") or die(mysql_error());
merci de votre aide
cordialement neo
Partager