RE: [Résolu]Aide : Script de missions ( xp etc... ) - alexlemaitre - 25-07-2011
Merci pour ton implication, j'ai néanmoins de bonnes connaissances en FORM, notamment en méthodes POST d'après moi. J'ai décidé de prendre cette alternative pour poursuivre la structure qui me parait la plus simple. Le coté sécurité viendra une fois la base finie.
Fichier Mission.php + validation en méthode post
<?php
include('inc/membre/connect.php');
$sql2 = ("SELECT mission.id,argent_w,description,experience_w,niveau_r,niveau,experience,argent,argent_w,pa_cout FROM mission,membre WHERE pseudo='".$_SESSION['login']."' AND niveau=niveau_r ORDER BY id");
$req2 = mysql_query($sql2) or die("Erreur : ".mysql_error());
$data2 = mysql_num_rows($req2);
if($data2)
{
?>
<table border="2" align="center">
<tr align="center">
<td>Numéro de mission</td>
<td>Description</td>
<td>Gain d'argent</td>
<td>Expérience potentielle</td>
<td>Cout en point d'action</td>
<td>Niveau requis</td>
<td>Faire la mission</td>
</tr>
<?php
while($job = mysql_fetch_assoc($req2))
{
?>
<tr align="center">
<td><?php echo $job['id']; ?></td>
<td><?php echo $job['description']; ?></td>
<td><?php echo $job['argent_w']; ?> $</td>
<td><?php echo $job['experience_w']; ?> XP</td>
<td><?php echo $job['pa_cout']; ?></td>
<td><?php echo $job['niveau_r']; ?></td>
<td>
<?php
function redirect($url, $time=3)
{
//On vérifie si aucun en-tête n'a déjà été envoyé
if (!headers_sent())
{
header("refresh: $time;url=$url");
exit;
}
else
{
echo '<meta http-equiv="refresh" content="',$time,';url=',$url,'">';
}
}
if(isset($_POST['valider']) and $_POST['valider'] == "Valider")
{
if(!empty($_GET['id']))
{
include('inc/membre/connect.php');
$sql = "SELECT * FROM mission,membre WHERE mission.id='".$_GET['id']."' AND pseudo='".$_SESSION['login']."'";
$req = mysql_query($sql) or die('Erreur : '.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['point_action'] > $data['pa_cout'])
{
$req_update = 'UPDATE membre SET argent=argent+"'.$data['argent_w'].'", experience=experience+"'.$data['experience_w'].'", point_action=point_action-"'.$data['pa_cout'].'" WHERE pseudo="'.$_SESSION['login'].'"';
$req_query_update = mysql_query($req_update) or die('Erreur : '.mysql_error());
header('Location: mission.php');
}
else
{
echo 'Point d\'action insuffisants.';
redirect("mission.php","2");
}
}
else
{
header('Location: mission.php');
}
}
?>
<form method="post" action="mission.php?id=<?php echo $job['id']; ?>">
<input type="submit" name="valider" value="Valider" />
</form>
</td>
</tr>
<?php
}?> </table> <?php
}
?>
-------------------------------------------------------------
Tout tiens sur une seule page. Je pense que pour effectuer les tests, ça reste suffisamment simple et efficace.
Alex,
RE: [Résolu]Aide : Script de missions ( xp etc... ) - Akira777 - 25-07-2011
Vu comme ça, ca me parait plus abouti ;D
RE: [Résolu]Aide : Script de missions ( xp etc... ) - alexlemaitre - 25-07-2011
Affirmatif .
Pour ça que j'ai abandonné la fonction et préfère utiliser le POST pour valider ou non la mission .
Encore merci pour ton aide Akira , un petit point de réputation s'impose .
Alex,
|