25-07-2011, 02:25 PM
(Modification du message : 25-07-2011, 02:26 PM par alexlemaitre.)
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
-------------------------------------------------------------
Tout tiens sur une seule page. Je pense que pour effectuer les tests, ça reste suffisamment simple et efficace.
Alex,
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,