25-07-2011, 01:15 PM
Alexlemaitre, je ne pense pas qu'un FORM soit une bonne méthode pour résoudre ton problème. Je pense que tu ne maitrises pas les GET et POST pour faire ça.
La méthode la plus simple (à mon sens) et d'avoir une page "mission_form.php" qui contient le listing de tes missions et une page "mission_valid.php" qui validera ta mission à l'aide des variables passées en GET.
Exemple :
Fichier "mission_form.php" :
Fichier "mission_valid.php" :
Ta fonction valider_mission() devrait ressembler à un truc du genre :
Voilà, si j'ai bien compris c'est à peu près ça que tu voudrais faire. Bon, le code que je te donne c'est le tout en version simplifiée au max, sans aucune sécurité ni
optimisation mais bon... Je pense que tu devrais t'en sortir un peu mieux en faisant quelque chose du genre.
La méthode la plus simple (à mon sens) et d'avoir une page "mission_form.php" qui contient le listing de tes missions et une page "mission_valid.php" qui validera ta mission à l'aide des variables passées en GET.
Exemple :
Fichier "mission_form.php" :
<?php
require "mon fichier mission.php";
$req_missions = mysql_query("requetes missions");
if (!$req_missions)
{
echo "il n'y a pas de missions";
}
else
{
$ret_missions = array();
while ($mission = mysql_fetch_assoc($req_missions))
{
$ret_missions[] = $mission;
}
foreach ($ret_missions as $key => $value)
{
echo "<p>".$value['mission_nom']." - <a href=\"mission_valid.php?mission_id=".$value['mission_id']."\">Accepter</a></p>";
}
}
?>
Fichier "mission_valid.php" :
<?php
require "mon fichier mission.php";
if (!empty($_GET['mission_id']))
{
if (valider_mission($_GET['mission_id']))
{
echo "mission lancée !";
}
else
{
echo "tu ne peux pas lancer cette mission";
}
}
else
{
echo "tu n'as pas sélectionné de mission";
}
?>
Ta fonction valider_mission() devrait ressembler à un truc du genre :
<?php
function valider_mission($mission_id)
{
global $joueur;
$req_mission = "SELECT * FROM missions WHERE mission_id = ".$mission_id." LIMIT 1";
$res_mission = mysql_query($req_mission);
if (!$res_mission)
{
return FALSE;
}
else
{
if (/*diverses vérification avant de lancer la mission*/)
{
return TRUE;
}
else
{
return FALSE;
}
}
}
?>
Voilà, si j'ai bien compris c'est à peu près ça que tu voudrais faire. Bon, le code que je te donne c'est le tout en version simplifiée au max, sans aucune sécurité ni
optimisation mais bon... Je pense que tu devrais t'en sortir un peu mieux en faisant quelque chose du genre.