Récuperation de données pour une requête
Bonjour à tous, je viens vous voir désespéré ! Voilà maintenant 1 bonne journée que je penche sur un soucis avec mon site internet.
Tout d'abord c'est un projet pour mon école. C'est un site de covoiturage.
Voici mon problème :
La personne cherche une destination grâce un formulaire de method = "post" et redirige sur la page résultat.php.
La page résultat.php va afficher tout les voyages disponibles entrant dans les critères de recherches. Un bouton "S'INSCRIRE" est en bas de chaque proposition.
Le problème se situe au niveau de ce bouton qui est de method=post. Je n'arrive pas à récupérer mes variables tel que l'id_voyage, le téléphone... qui sont pourtant sur la même page. J'ai l'impression que quand je clique sur le bouton s'inscrire, il recharge la page et supprime toutes les variables. J'ai essayé de les stocké dans des variables $_SESSION mais le problème est que quand je fais une requête, la variable $_SESSION prend le dernier id_voyage et non celui du voyage en question.
Je ne sais pas si j'ai été clair :roll:
En tout cas je vous remercie d'avance pour votre aide.. Je continue de mon coté en recherchant une solution
Voici le code de la page
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <?php
session_start();
include('connexionsql.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>COVOIT'MALIN</title>
<link rel="stylesheet" type="text/css" href="index.css" media="all"/>
</head>
<body>
<?php
if(isset($_SESSION['mail'])) {
if(isset($_POST['depart'], $_POST['arrive'], $_POST['date_depart'], $_POST['heure1'], $_POST['heure2'])){
$req = $bdd->prepare('SELECT id_voyage, depart, arrive, date_depart, prix, pseudo, mail, telephone, place_disponible FROM Voyage, Personne WHERE depart = ? AND arrive = ? AND date_depart = ? AND heure1 >= ? AND heure2 <= ? AND Personne.mail = Voyage.id_conducteur AND Voyage.place_disponible > 0');
$req->execute(array(
$_POST['depart'],
$_POST['arrive'],
$_POST['date_depart'],
$_POST['heure1'],
$_POST['heure2']
));
while($donnees = $req->fetch()){
echo $donnees['pseudo'];
echo $donnees['mail'];
echo $donnees['telephone'];
echo $donnees['prix'];
echo $donnees['depart'];
echo $donnees['arrive'];
echo $donnees['date_depart'];
echo $donnees['heure1'];
echo $donnees['heure2'];
echo $donnees['id_voyage'];
echo $donnees['place_disponible'];
/* Ici J'essaie de stocké par exemple id_voyage dans $_SESSION mais si j'ai plusieurs voyage il prend le dernier en copte */
$_SESSION['id_voyage'] = $donnees['id_voyage'];
?>
/* Ici je crée ce fameux bouton qui me pose problème */
<form method="post">
<input type="submit" name="test" value="s'inscrire a ce voyage"/></form>
<?php
}
}
}
if(isset($_POST['test'])){
$req = $bdd->prepare('SELECT id_voyage FROM Voyage WHERE id_voyage = ?');
$req->execute(array($_SESSION['id_voyage']));
while($donnees = $req->fetch()) {
if($donnees['id_voyage'] == $_SESSION['id_voyage']){
echo $donnees['id_voyage'];
}
}
$req->closeCursor();
}
?> |