JeuWeb - Crée ton jeu par navigateur
[Résolu]Aide : Script de missions ( xp etc... ) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu]Aide : Script de missions ( xp etc... ) (/showthread.php?tid=5581)

Pages : 1 2


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 Smile.
Pour ça que j'ai abandonné la fonction et préfère utiliser le POST pour valider ou non la mission Smile.

Encore merci pour ton aide Akira Wink, un petit point de réputation s'impose Smile.

Alex,