biscrak
Messages postés6Date d'inscriptionjeudi 11 juin 2015StatutMembreDernière intervention25 juin 2015
-
11 juin 2015 à 20:13
miramaze
Messages postés1429Date d'inscriptionmercredi 29 juillet 2009StatutContributeurDernière intervention 1 mai 2022
-
26 juin 2015 à 22:55
Bonjour,
je viens de récupérer un logiciel dont je dois régler les problèmes :
le programme -> enregistrer des clients à des événements (sur un formulaire)
l'utilisateur peu être recherché dans la BD grâce a son numéro de tel.
le problème : je ne c'est pas comment récupérer les valeurs de mon fichiers reservationSPe j'usqu'à mon fichier reservation
exemple ma variable : nbA;
je vien de récupérer le programme ; d'autre personne avait travailler avant moi dessus , je n'est pue faire que peu de chose
de l'aide serais pas de refus
reservation.php
</script>
<?php
//PERMET DE NE PAS GARDER LES INFORMATIONS DANS LE CAS OU TOUT S'EST BIEN PASSE
$memNom = "";
$memPrenom = "";
$memTel ="";
$memMail = "";
$memNb ="";
$memVille = "";
$verif='`^0[1-9][0-9]{8}$`';
if(!empty($_POST['Enregistrer'])){
extract($_POST);
$valid = true;
if(empty($nom)){
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez saisir un nom");</script>
<?php
}
if(empty($prenom)){
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez saisir un prénom");</script>
<?php
}
if(strval($ville) == 'Veuillez sélectionner une ville') {
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez selectionner une commune");</script>
<?php
}
if(empty($nbD)){
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez saisir un nombre de participant");</script>
<?php
}
if(empty($tel)){
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez saisir un numéro de téléphone");</script>
<?php
}
// Permet la verification du numero de telephone
else
{
if(preg_match($verif,$tel) === false || $tel == "0123456789")
{
$valid = false;
?>
<script type='text/javascript'>alert("Veuillez saisir un numéro de téléphone valide");</script>
<?php
}
}
if(empty($mail))
{
$mail = "NULL";
}
if(empty($listeAttente))
{
$listeAttente = "NULL";
}
if($valid){
if(!empty($copier)){
$_SESSION['nomReservation'] = $nom;
$_SESSION['prenomReservation'] = $prenom;
$_SESSION['mailReservation'] = $mail;
$_SESSION['telReservation'] = $tel;
$_SESSION['villeReservation'] = $ville;
}
else{
unset($_SESSION['nomReservation']);
unset($_SESSION['prenomReservation']);
unset($_SESSION['mailReservation']);
unset($_SESSION['telReservation']);
unset($_SESSION['villeReservation']);
}
include('../connexion/connect.php');
//La ville est numerique dans le cas ou l'utilisateur n'a pas utilisé de suggestion
if(!is_numeric($ville)){
$reqGetNum = "select idV from ville where libelleV = '$ville'";
$resultGetNum = $pdo->query($reqGetNum) or die(mysql_error());
if($ligneGetNum = $resultGetNum->fetch(PDO::FETCH_OBJ)){
$ville = $ligneGetNum->idV;
}
}
//associe le tableau date et celui du nombre
$tab = array_combine($_POST['idD'], $_POST['nbD']);
$ok = false;
$bool = false;
//parcourt le tableau de date et nombre
foreach($tab as $idD =>$nbD)
{
$ok = false;
$bool = false;
$verif = "SELECT *
FROM reservation_client
where numeroTelC = '".$tel."'
AND numDate = '".$idD."'
AND listeAttente ='NULL'";
$nbverif = $pdo->query($verif) or die ("$verif Erreur lors de l'envoi de la requête");
$nombreVerif2 = $nbverif->fetch();
$nombreVerif = $nombreVerif2['nbParticipantC'];
$listeAttenteON = "SELECT COUNT(*)
FROM reservation_client
where listeAttente != 'NULL'
AND numDate = '".$idD."'";
$verifList = $pdo->query($listeAttenteON) or die ("$listeAttenteON Erreur lors de l'envoi de la requête");
$listeVerif = $verifList->fetch();
$nbTotalP = "SELECT nombrePlaceAssisD
FROM date_evenement
where idD = '".$idD."'";
$nbPlacesE = $pdo->query($nbTotalP) or die ("$nbTotalP Erreur lors de l'envoi de la requête");
$nbPlacesE = $nbPlacesE->fetch();
$nbTotalR = "SELECT SUM(nbParticipantC)
from reservation_client
where numDate = '".$idD."'";
$nbPlacesR = $pdo->query($nbTotalR) or die ("$nbTotalR Erreur lors de l'envoi de la requête");
$nbPlacesR = $nbPlacesR->fetch();
$nbTotal = $nbPlacesE['nombrePlaceAssisD'] - $nbPlacesR[0];
$verifLst = "SELECT nbParticipantC
FROM reservation_client
where numeroTelC = '".$tel."'
AND numDate = '".$idD."'
AND listeAttente !='NULL'";
$nbverifA = $pdo->query($verifLst) or die ("$verifLst Erreur lors de l'envoi de la requête");
if($nbD > $nbTotal + 5)
{
if ($nbD > $nbTotal)
{
$valid = false;
?>
<script type='text/javascript'>alert("Le nombre de participant saisi est superieur aux places disponibles, veuillez cocher la case liste d'attente");</script>
<?php
}
$valid = false;
?>
<script type='text/javascript'>alert("Le quota a été atteint, veuillez cocher la case liste d'attente");</script>
<?php
}
if($valid==true)
{
$yN = isset($_POST['sms']) ? "O" : "N";
if($listeVerif[0] == 0 && $nbD != "" && $nbD !="0")
{
$ok = true;
//enregistre les donnees
$envoie = "INSERT INTO reservation_client (`idC` ,`nomC` ,`prenomC` ,`nbParticipantC` ,`numVille` ,`mailC` ,`numeroTelC` ,`numUtilisateur` ,`numDate`,`listeAttente`, `date_creation`, `sms`)
VALUES (NULL , '".addslashes($nom)."','".addslashes($prenom)."', ".$nbD.", ".$ville.", '".$mail."', '".$tel."', ".$_SESSION['id'].", ".$idD.", 'NULL', NOW(), '".$yN."')";
$pdo->query($envoie) or die ("$envoie Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("enregistrement");</script>
<?php
}
//&& isset($listeVerif) -> dans la
elseif($nombreVerif == 0 && $nombreVerif2['nbParticipantC'] == 0 && $nbD != "" && $nbD !="0")
{
$ok = true;
$bool = true;
//enregistre les donnees sur liste d'attente
$envoie = "INSERT INTO reservation_client (`idC` ,`nomC` ,`prenomC` ,`nbParticipantC` ,`numVille` ,`mailC` ,`numeroTelC` ,`numUtilisateur` ,`numDate`,`listeAttente`, `date_creation`, `sms`)
VALUES (NULL , '".addslashes($nom)."','".addslashes($prenom)."', ".$nbA.", ".$ville.", '".$mail."', '".$tel."', ".$_SESSION['id'].", ".$idD.", 'on', NOW(), '".$yN."')";
$pdo->query($envoie) or die ("$envoie Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("enregistrement sur liste d'attente");</script>
<?php
}
elseif ($nbverifA > "0" && $nombreVerif2['nbParticipantC'] == 0 && !isset($listeVerif) && $nbD != "" && $nbD != "0")
{
$ok = true;
$bool = true;
//enregistre les donnees sur liste d'attente si présence d'une liste d'attente
$envoie = "INSERT INTO reservation_client (`idC` ,`nomC` ,`prenomC` ,`nbParticipantC` ,`numVille` ,`mailC` ,`numeroTelC` ,`numUtilisateur` ,`numDate`,`listeAttente`, `date_creation`, `sms`)
VALUES (NULL , '".addslashes($nom)."', '".addslashes($prenom)."', ".$nbD.", ".$ville.", '".$mail."', '".$tel."', ".$_SESSION['id'].", ".$idD.",'on', NOW(), '".$yN."')";
$pdo->query($envoie) or die ("$envoie Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("enregistrement sur liste d'attente si elle existe");</script>
<?php
}
// ?
if($nbD != $nombreVerif2['nbParticipantC'] && $nbD != "" && $nbD !="0")
{
$ok = true;
//modifie le nombre de reservation du client
$updateReq = "update reservation_client set nbParticipantC = '".$nbD."', sms = '".$yN."' where numDate = '".$idD."' and numeroTelC = '".$tel."' and listeAttente = 'NULL'";
$pdo->query($updateReq) or die ("$updateReq Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("modifie enregistrement");</script>
<?php
}
elseif ($nbD != "" && $nbD !="0" && isset($listeVerif))
{
$ok = true;
//mofifie le nombre sur liste d'attente de reservation du client
$updateReq = "update reservation_client set nbParticipantC = '".$nbD."', sms = '".$yN."' where numDate = '".$idD."' and numeroTelC = '".$tel."' and listeAttente = 'on'";
$pdo->query($updateReq) or die ("$updateReq Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("modifie enregistrement sur liste d'attente");</script>
<?php
}
if($nbD == "" || $nbD =="0" && $ok == false)
{
//supprime les enregistrement dont le nombre est 0 ou ""
$deleteReq = "Delete from reservation_client where numeroTelC = '".$tel."' and numDate = '".$idD."' and listeAttente = 'NULL'";
$pdo->query($deleteReq) or die ("$deleteReq Erreur lors de l'envoi de la requête");
?>
<script type='text/javascript'>alert("supprime enregistrement");</script>
<?php
}
}
}
if ($ok == true && $bool == true)
{
?>
<script type='text/javascript'>alert("Il y a des personnes dans la liste d'attente, la personne enregistrée a été placée dans celle-ci");</script>
<?php
}
elseif($ok==true)
{
?>
<script type='text/javascript'>alert("Votre enregistrement a bien été pris en compte");</script>
<?php
}
}
// PERMET DE STOCKER LES INFORMATIONS EN CAS D'ERREUR
if($valid == false)
{
$memNom = $_POST['nom'];
$memPrenom = $_POST['prenom'];
$memTel = $_POST['tel'];
$memMail = $_POST['mail'];
$memNb = (isset($_POST['nb'])) ? $_POST['nb'] : null;
if(is_numeric($ville))
{
$reqNomVille ="select libelleV from ville WHERE idV = $ville";
$resultNomVille = $pdo->query($reqNomVille) or die(mysql_error());
$ligneNomVille = $resultNomVille->fetch();
$memVille = $ligneNomVille['libelleV'];
}
else
{
$memVille = $ville;
}
}
}
reservation.js
function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject)
{
if (window.ActiveXObject)
{
try
{
// Création de l'objet ActiveXObjet
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{
//L'objet httpRequest permet l'envoi de la requête au serveur sans avoir
//besoin de recharger la page web.
//L'objet n'est pas le même suivant le navigateur utilisé
xhr = new XMLHttpRequest();
}
}
else
{
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function submit()
{
var xhr = getXMLHttpRequest();
var evenement = document.getElementById('evenement').value;
xhr.onreadystatechange = function()
{
//statut de l'objet && code numérique de réponse du serveur HTTP
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
{
//responsetext = Réponse sous forme de chaîne de caractères.
document.getElementById('afficher').innerHTML = xhr.responseText; // Données textuelles récupérées
}
};
// on appelle une page php grâce à la méthode open() de l'objet xhr
xhr.open("POST", "reservationSpe.php", true);
//Assigne une valeur à un champ d'entête HTTP qui sera envoyé lors de la requête.
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//Effectue la requête, éventuellement en envoyant les données.
xhr.send("evenement="+evenement);
}
function submitTo()
{
var xhr = getXMLHttpRequest();
var evenementTo = document.getElementById('evenementTo').value;
xhr.onreadystatechange = function() {
//statut de l'objet && code numérique de réponse du serveur HTTP
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
//responsetext = Réponse sous forme de chaîne de caractères.
document.getElementById('afficher').innerHTML = xhr.responseText; // Données textuelles récupérées
}
};
// on appelle une page php grâce à la méthode open() de l'objet xhr
xhr.open("POST", "reservationSpe.php", true);
//Assigne une valeur à un champ d'entête HTTP qui sera envoyé lors de la requête.
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//Effectue la requête, éventuellement en envoyant les données.
xhr.send("evenementTo="+evenementTo);
}
if($_POST['evenement']!='-1')
{
$evenement = $_POST['evenement'];
$s = "select*
from evenement, date_evenement, salle, ville
where date_evenement.numEvenement = evenement.idE
and salle.numVille = ville.idV
and date_evenement.numSalle = salle.idS
and numEvenement = ".$evenement."
and dateD>now()
and ecole is null
order by dateD ASC";
$_SESSION['evenement']=$evenement;
$reponse = $pdo->query($s) or die ("Erreur de l'envoi de la requête");
$e = 0;
$l = 0;
while($val = $reponse->fetch(PDO::FETCH_OBJ))
{
$decoupeHeureDate = explode(" ",$val->dateD);
$heure = $decoupeHeureDate[1];
$decoupeHeure = explode(":",$heure);
$heure = $decoupeHeure[0].":".$decoupeHeure[1];
$val->dateD = $decoupeHeureDate[0];
$rest = substr($val->dateD, 0, 4);
$rest1 = substr($val->dateD, 5, 2);
$rest2 = substr($val->dateD, 8, 2);
$resultDate = $rest2."-".$rest1."-".$rest;
$jour = date('D', strtotime($val->dateD));
$restJour = substr($jour,0,3);
if($restJour == "Mon"){
$restJour = "Lundi";
}
if($restJour == "Tue"){
$restJour = "Mardi";
}
if($restJour == "Wed"){
$restJour = "Mercredi";
}
if($restJour == "Thu"){
$restJour = "Jeudi";
}
if($restJour == "Fri"){
$restJour = "Vendredi";
}
if($restJour == "Sat"){
$restJour = "Samedi";
}
if($restJour == "Sun"){
$restJour = "Dimanche";
}
// Afficher le nombre de place restant
$calcul = 'select sum(nbParticipantC) as "rest" from reservation_client where numDate = "'.$val->idD.'" and listeAttente = "NULL"';
$resultcalcul = $pdo->query($calcul) or die ("$calcul Erreur lors de l'envoi de la requête");
// calcul de nombre de place restant
$li = $resultcalcul->fetch(PDO::FETCH_OBJ);
if (isset($_SESSION['tel']))
{
$telephone = $_SESSION['tel'];
}
else
{
$telephone = null;
}
$nbReq = 'SELECT nbParticipantC
FROM reservation_client
JOIN ville ON reservation_client.numVille = ville.idV
where numeroTelC = "'.$telephone.'"
AND numDate = "'.$val->idD.'"
and listeAttente = "NULL"';
$resultNb = $pdo->query($nbReq) or die ("$nbReq Erreur lors de l'envoi de la requête");
$nbC = $resultNb->fetch(PDO::FETCH_OBJ);
$nbReqA = 'SELECT nbParticipantC
FROM reservation_client
JOIN ville ON reservation_client.numVille = ville.idV
where numeroTelC ="'.$telephone.'"
AND numDate = "'.$val->idD.'"
and listeAttente = "on"';
$resultNbA = $pdo->query($nbReqA) or die ("$nbReqA Erreur lors de l'envoi de la requête");
$nbAtt = $resultNbA->fetch(PDO::FETCH_OBJ);
// nombre total de place possible à réserver - le nombre de place déjà réservé !
$total = $val->nombrePlaceAssisD - $li->rest;
echo '<input type="hidden" name="total['.$e.']" id="total['.$e.']" value="'.$total.'" />';
echo '<input type="hidden" name="idD['.$l.']" id="idD['.$l.']" value="'.$val->idD.'" />';
// si le résultat du nb de place possible - le nb de place réservé est égal à 0 et bien il n'y a plus de place disponible.
if($total <= 0)
{
$place = '<b>Plus de place disponible !</b>';
}
else
{
$place = '<b>Il reste '.$total.' places !</b>';
}
$attente = 'select sum(nbParticipantC) as "rest2" from reservation_client where numDate = '.$val->idD.' and listeAttente = "on"';
$resultAttente = $pdo->query($attente) or die ("Erreur lors de l'envoi de la requête");
$a = $resultAttente->fetch(PDO::FETCH_OBJ);
if($a->rest2==0)
{
$lstAttente = "Il n'y a aucune réservation en attente <br />";
}
else
{
$lstAttente = "Il y à ".$a->rest2." personnes sur la liste d'attente <br />";
}
if($resultNbA->fetchColumn() == 0 )
{
$affLstAttente ='<br /><label>Sur la liste d\'attente : </label>
<input type="checkbox" name="lstA['.$e.']" id="lstA['.$e.']" />
<input type="text" name="nbA['.$e.']" id="nbA['.$e.']" class ="attente" value="'.$nbAtt['nbParticipantC'].'" size="5" maxlength="5" placeholder="Ex : 5"/><br/>';
}
else
{
$affLstAttente ='<br /><label>Sur la liste d\'attente : </label>
<input type="checkbox" checked="checked" name="lstA['.$e.']" id="lstA['.$e.']" />
<input type="text" name="nbA['.$e.']" id="nbA['.$e.']" class ="attente" value="'.$nbAtt['nbParticipantC'].'" size="5" maxlength="5" placeholder="Ex : 5" /><br />';
}
//affiche les information de la date ainsi que le champ pour saisir le nombres de participant
echo'<br/><label>'.$restJour." ".$resultDate." à ".$heure.'<br /> '.$val->nomS.' '.$val->libelleV.' : <br/>'.$lstAttente.'<br/> </label>
<input type="text" name="nbD['.$e.']" id="nbD['.$e.']" value="'.$nbC['nbParticipantC'].'" size="5" maxlength="5" placeholder="Ex : 5" onKeyup = "dispo(this,this.value,'.$total.')" || onBlur = "dispo(this,this.value,'.$total.')"/>
'.$place.'<br /><br /><br />'.$affLstAttente.'<br />';
$e++;
$l++;
}
}