roms75001
Messages postés395Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 9 juillet 2017
-
15 mai 2015 à 09:56
roms75001
Messages postés395Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 9 juillet 2017
-
15 mai 2015 à 12:56
Bonjour,
Je suis sur la réalisation d'un site web pour l'achat de billet d'avion.
J'ai crée mon formulaire HTML que voici :
<!DOCTYPE html>
<html>
<head>
<title>Choose your flight !</title>
<meta charset="utf-8" />
<meta http-equiv="Content-Language" content="fr-fr" />
<link rel="stylesheet" media="screen" type="text/css" href="design.css" />
</head>
<body>
<?php include("header.php"); ?>
<?php include("menu.php"); ?>
<!-- Corps -->
<div id="div_corps_index">
<!-- Formulaire pour trouver un vol -->
<div id="div_formulaire">
<h1 id="titre_form"> TROUVER UN <span class="mots_clés">VOL</span> </h1>
<form method="post" action="page2.php"><table id="table_form">
<tr><td class="colonne1">
<label>Aller Retour</label>
<input type="radio" checked="checked">
</td>
<td class="colonne2">
<label>Aller Simple</label>
<input type="radio" onClick="self.location.href='index_simple.php'">
</td></tr>
<tr><td class="colonne1">
<label>Départ</label> : <br><input type="text" name="depart" placeholder="Paris" class="input_mot" />
</td>
<td class="colonne2">
<label>Arrivée</label> : <br><input type="text" name="arrivee" placeholder="Rome" class="input_mot" />
</td></tr>
<tr><td class="colonne1">
<label>Date de départ :</label><br><input type="date" class="input_mot" name="date_depart"/>
</td>
<td class="colonne2">
<label>Date de retour :</label><br><input type="date" class="input_mot" name="date_retour"/>
</td></tr>
<tr><td class="colonne1">
<label name="adultes">Adulte(s) :</label>
<label name="enfants" id="colonne1_2">Enfant(s) :</label>
</td>
</tr>
<tr><td class="colonne1">
<select name="adultes" class="input_chiffre"> <!-- menu deroulant pour choisir le nombre de voyageurs -->
<?php
for ($i=1; $i<10; $i++)
echo '<option value="'.$i.'">'.$i.'</option>';
?>
</select>
<select name="enfants" id="input_chiffre2" class="input_chiffre">
<?php
for ($i=0; $i<10; $i++)
echo '<option value="'.$i.'">'.$i.'</option>';
?>
</select></td></tr>
</table>
<input type="submit" value="RECHERCHER UN VOL" name="rechercher" class="rechercher"/>
</form></div> <!-- fin de la div "formulaire" -->
</div> <!-- fin de la div "corps" -->
</body>
</html>
Et voici mon code PHP afin de renvoyer les vols disponibles :
<!DOCTYPE html>
<html>
<head>
<title>Choose your flight !</title>
<meta charset="utf-8" />
<meta http-equiv="Content-Language" content="fr-fr" />
<link rel="stylesheet" media="screen" type="text/css" href="design.css" />
</head>
<body>
<?php require_once('connect.php'); ?>
<?php include("header.php"); ?>
<?php include("menu.php"); ?>
<div class="corps">
<?php
// On récupèrer les champs
if(isset($_POST['depart'])) $depart=$_POST['depart'];
else $depart="";
if(isset($_POST['arrivee'])) $arrivee=$_POST['arrivee'];
else $arrivee="";
if(isset($_POST['date_depart'])) $date_depart=$_POST['date_depart'];
else $date_depart="";
if(isset($_POST['date_retour'])) $date_retour=$_POST['date_retour'];
else $date_retour="";
if(isset($_POST['adultes'])) $adultes=$_POST['adultes'];
else $adultes=0;
if(isset($_POST['enfants'])) $enfants=$_POST['enfants'];
else $enfants=0;
?>
<div id="div_liste_vols" class="div_corps">
<form name="frm_ajout_reservation" method="POST" action="ajout_reservation.php">
<h1 id="titre_vols">Votre vol <span class="mots_clés">"Aller"</span></h1>
<table id="table_vols_aller">
<thead class="t_head_vols">
<td class="ligne_head_vols">
<label>Numéro de vol</label>
</td>
<td class="ligne_head_vols">
<label>Départ</label>
</td>
<td class="ligne_head_vols">
<label>Date <br> Heure départ</label>
</td>
<td class="ligne_head_vols">
<label>Destination</label>
</td>
<td class="ligne_head_vols">
<label>Heure d'arrivée</label>
</td>
<td class="ligne_head_vols">
<label>Compagnie</label>
</td>
<td class="ligne_head_vols">
<label>Prix /p</label>
</td>
<td class="ligne_head_vols">
<label>Choix du vol "aller"</label>
</td>
</thead>
<?php
/* Requete pour déduire le nom de l'aeroport de depart grace au code IATA */
$sql_iata_depart =
"SELECT *
FROM aeroport
WHERE ville = '".$depart."' OR nomAeroport = '".$depart."' OR codeIATA = '".$depart."' ";
$result_iata_depart = $bdd_vol->query($sql_iata_depart);
while($iata_depart = $result_iata_depart->fetch(PDO::FETCH_ASSOC))
{
/* Requete pour déduire le nom de l'aeroport destination grace au code IATA */
$sql_iata_destination =
"SELECT *
FROM aeroport
WHERE ville = '".$arrivee."'";
$result_iata_destination = $bdd_vol->query($sql_iata_destination);
while($iata_destination = $result_iata_destination->fetch(PDO::FETCH_ASSOC))
{
/* Requete pour trouver les vols aller disponibles selon critères saisis */
$sql_aller =
"SELECT *
FROM vol
WHERE provenance =
'".$iata_depart['codeIATA']."' AND destination = '".$iata_destination['codeIATA']."' AND dateDepart = '".$date_depart."'";
$result = $bdd_vol->query($sql_aller);
while($row_aller = $result->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td class=\"ligne_paire_vols\">".$row_aller['numeroVol']."</td>";
echo "<td class=\"ligne_paire_vols\">".$depart."</td>";
echo "<td class=\"ligne_paire_vols\">".dateusfr($row_aller['dateDepart'])."<br>".$row_aller['heureDepart']."</td>";
echo "<td class=\"ligne_paire_vols\">".$arrivee."</td>";
echo "<td class=\"ligne_paire_vols\">".dateusfr($row_aller['dateArrivee'])."<br>".$row_aller['heureArrivee']."</td>";
/* Recupère le nom de la compagnie grace à IDavion */
$sql_compagnie = "SELECT * FROM avion WHERE idAvion = '".$row_aller['IDavion']."'";
$result_compagnie = $bdd_vol->query($sql_compagnie);
while($compagnie = $result_compagnie->fetch(PDO::FETCH_ASSOC))
{
echo"<td class=\"ligne_paire_vols\">".$compagnie['compagnie']."</td>";
}
echo "<td class=\"ligne_paire_vols\">".$row_aller['prix']."€</td>";
echo '<td class="ligne_paire_vols"><input type="radio" name="choix_aller" value="'.$row_aller['numeroVol'].'"></td>';
echo"</tr>";
}
/* Requete pour trouver les vols retour disponibles selon critères saisis */
$sql_retour = "SELECT * FROM vol WHERE provenance = '".$iata_destination['codeIATA']."' AND destination = '".$iata_depart['codeIATA']."' AND dateDepart = '".$date_retour."'";
$result_retour = $bdd_vol->query($sql_retour);
}
}
?>
</table>
<h1 id="titre_vols">Votre vol <span class="mots_clés">"Retour"</span></h1>
<table id="table_vols_retour">
<thead class="t_head_vols">
<td class="ligne_head_vols">
<label>Numéro de vol</label>
</td>
<td class="ligne_head_vols">
<label>Départ</label>
</td>
<td class="ligne_head_vols">
<label>Date <br> Heure départ</label>
</td>
<td class="ligne_head_vols">
<label>Destination</label>
</td>
<td class="ligne_head_vols">
<label>Heure d'arrivée</label>
</td>
<td class="ligne_head_vols">
<label>Compagnie</label>
</td>
<td class="ligne_head_vols">
<label>Prix /p</label>
</td>
<td class="ligne_head_vols">
<label>Choix du vol "aller"</label>
</td>
</thead>
<?php while($row_retour = $result_retour->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td class=\"ligne_paire_vols\">".$row_retour['numeroVol']."</td>";
echo "<td class=\"ligne_paire_vols\">".$arrivee."</td>";
echo "<td class=\"ligne_paire_vols\">".dateusfr($row_retour['dateDepart'])."<br>".$row_retour['heureDepart']."</td>";
echo "<td class=\"ligne_paire_vols\">".$depart."</td>";
echo "<td class=\"ligne_paire_vols\">".dateusfr($row_retour['dateArrivee'])."<br>".$row_retour['heureArrivee']."</td>";
/*Recupère le nom de la compagnie grace à IDavion */
$sql_compagnie = "SELECT * FROM avion WHERE idAvion = '".$row_retour['IDavion']."'";
$result_compagnie = $bdd_vol->query($sql_compagnie);
while($compagnie = $result_compagnie->fetch(PDO::FETCH_ASSOC))
{
echo"<td class=\"ligne_paire_vols\">".$compagnie['compagnie']."</td>";
}
echo "<td class=\"ligne_paire_vols\">".$row_retour['prix']." €</td>";
echo '<td class="ligne_paire_vols"><input type="radio" name="choix_retour" value="'.$row_retour['numeroVol'].'"></td>';
echo"</td>";
echo"</tr>";
} ?>
</table>
</div>
<input type="hidden" value="<?php echo $enfants; ?>" name="nbenfants">
<input type="hidden" value="<?php echo $adultes; ?>" name="nbadultes">
<input type="submit" value="Réserver" name="reserver" id="reserver" />
</form>
</div>
</body>
</html>
Le problème c'est que rien ne "bloque" les données que l'utilisateur entre.
Par exemple si je choisi une date d'aller et retour inférieur à la date d'aujourd'hui, je vais quand même pouvoir accéder à la deuxième page.
Ou si je choisi un vol qui n'est pas disponible sur ma BDD, j'accéderai quand même à la deuxième page.
Je pense donc que pour remédier à cela, je dois utiliser le Javascript, mais c'est un langage que je ne maitrise pas du tout.
Je cherche donc quelqu'un qui pourrait m'aider
Tu peux très bien faire tes vérifications en PHP.
De toutes manières, même si tu les faisais en Javascript, tu serais obligé de les refaire en PHP derrière, car c'est trop facile de contourner les contrôles faits en Javascript.
Tu peux aussi apprendre le javascript, ça n'est pas très compliqué et ça te servira dans tout ton site.
roms75001
Messages postés395Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 9 juillet 20177 15 mai 2015 à 12:56
15 mai 2015 à 12:56