Eléphant du PHP |
345 Messages
06 sept. 2021, 09:52
J'ai remis le script dans celui d'origine (on y arrivait via un header) et là, ça fonctionne dans les deux cas de figure (capture Ok et capture KO)
<?php
session_start();
require_once 'config.php';
include 'capture_maj.php';
// id du membre connecté en session
$idMembreSession = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
// récupération en bdd du membre connecté en session
$pdostat = $bdd->prepare('SELECT * FROM membres WHERE id = :id');
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
if (empty($membreSession)) {
// le membre n'est pas connecté ou n'existe plus, on redirige vers la page de connexion
header('Location: /connexion.php');
exit();
}
// identifiant du membre sélectionné dans l'url
$idMembreSelect = !empty($_GET['id']) ? $_GET['id'] : NULL;
// récupération en bdd du membre sélectionné dans l'url (si il est toujours à proximité du membre connecté en session et pas en vacances)
$pdostat = $bdd->prepare("SELECT * FROM membres WHERE id = :id AND (pos_x = :pos_x AND pos_y = :pos_y) AND vacance = 'OFF'");
$pdostat->bindvalue(':id', $idMembreSelect, PDO::PARAM_INT);
$pdostat->bindvalue(':pos_x', $membreSession['pos_x'], PDO::PARAM_INT);
$pdostat->bindvalue(':pos_y', $membreSession['pos_y'], PDO::PARAM_INT);
$pdostat->execute();
$membreSelect = $pdostat->fetch();
// on sélectionne la valeur capture du joueur present
$capturePerso = $membreSelect['capture'];
// on sélectionne aussi les autres valeurs qui seront mises à jour
$pseudo = $membreSelect['pseudo'];
$avatar = $membreSelect['avatar'];
$id = $membreSelect['id'];
$boulot = $membreSelect['boulot'];
// on sélectionne la valeur capture du joueur attaquant
$pdostat = $bdd->prepare("SELECT capture FROM membres WHERE id = :id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
$captureMembre = $membreSession['capture'];
// sequence de la tentative de capture
if($captureMembre < $capturePerso)
{
header('Location:capture_KO.php');
exit;
}
else
{
//On met a jour les tables respectives pour attaquant et capturé!
$pdostat = $bdd->prepare("UPDATE membres SET boulot = 'CAPTIF' WHERE id=:id");
$pdostat->bindvalue(':id', $idMembreSelect, PDO::PARAM_INT);
$pdostat->execute();
$pdostat = $bdd->prepare("UPDATE membres SET captif= '$pseudo', nbre_captif=1, avatar_captif = '$avatar', id_captif= '$idMembreSelect', REP=REP-1 WHERE id=:id");
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
}
?>