Voila comment j'ai fait ça :
Bonsoir
Voici mon problème, vous trouverez http://araknos.vesperae.net/Tests/test.php un système pour crée un classement, possibilité d'ajouter des personnes, de modifier le score des personnes, et de supprimer des personnes.
Comme vous l'aurez remarquer, il faut passé par l'ouverture d'une url pour faire une manipulation, et je voudrais que tout cela puisse être fait par un formulaire.
test.php
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
| <html>
<b>Pour ajouter une personne en lui attribuant un score</b> : <code>http://araknos.vesperae.net/Tests/test.php?action=update&player=NOMDUJOUEUR&value=SCORE</code><br><br>
<b>Pour modifier le nombre de point d'une personne</b> : <code>http://araknos.vesperae.net/Tests/test.php?action=update&player=NOMDUJOUEUR&value=SCORE</code><br><br>
<b>Pour supprimer une personne</b> : <code>http://araknos.vesperae.net/Tests/test.php?action=delete&player=NOMDUJOUEUR</code><br><br><hr>
<?php
// Fichier test.php
include('functions.php');
$filename = 'leaderboard.json';
$leaderboard = get_leaderboard($filename);
if(isset($_GET['action'], $_GET['player'])){
if($_GET['action'] == 'delete' && isset($leaderboard[$_GET['player']])){
unset($leaderboard[$_GET['player']]);
}
elseif($_GET['action'] == 'update' && isset($_GET['value']) && filter_var($_GET['value'], FILTER_VALIDATE_INT)){
$leaderboard[$_GET['player']] = $_GET['value'];
}
save_leaderboard($leaderboard, $filename);
}
sort_leaderboard($leaderboard);
$i = 1;
foreach($leaderboard as $player => $value){
echo $i.'. '.$player.' ('.$value.')<br />';
$i++;
} |
functions.php
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
| <?php
function get_leaderboard($filename){
if(is_file($filename)){
return json_decode(
file_get_contents($filename),
true
);
}
else return array();
}
function save_leaderboard($leaderboard, $filename){
sort_leaderboard($leaderboard);
return file_put_contents(
$filename,
json_encode($leaderboard)
);
}
function sort_leaderboard(&$leaderboard){
arsort($leaderboard);
}
?> |
leaderboard.json
{"Joueur 5":"228","Joueur 4":"75","Joueur 1":"9","Joueur 3":"3","Joueur 2":"1"}
Le formulaire pour la suppréssion d'un nom de la liste
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <FORM method=post action="a.php">
Supprimer un joueur du classement
<TABLE BORDER=0>
<TR>
<TD>Pseudo</TD>
<TD>
<INPUT type=text name="Pseudo">
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Envoyer">
</TD>
</TR>
</TABLE>
</FORM> |
Je pensais donc récuperer ce que la personne écrit dans le champ pseudo ( la variable Pseudo serait donc égale a ce que la personne a écris ), puis dans a.php je fais :
1 2 3
| <?php
header('Location: http://araknos.vesperae.net/Tests/test.php?action=delete&player=$Pseudo');
?> |
je suis peut-être complètement a côté de la plaque :-°
Partager