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 suggestionif(!is_numeric($ville)){$reqGetNum="select idV from ville where libelleV = '$ville'";$resultGetNum=$pdo->query($reqGetNum)ordie(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 nombreforeach($tabas$idD=>$nbD){$ok= false;$bool= false;$verif="SELECT * FROM reservation_client where numeroTelC = '".$tel."' AND numDate = '".$idD."' AND listeAttente ='NULL'";$nbverif=$pdo->query($verif)ordie("$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)ordie("$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)ordie("$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)ordie("$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)ordie("$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)ordie("$envoie Erreur lors de l'envoi de la requête");?><script type='text/javascript'>alert("enregistrement");</script><?php}//&& isset($listeVerif) -> dans laelseif($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)ordie("$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)ordie("$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)ordie("$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)ordie("$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)ordie("$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'ERREURif($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)ordie(mysql_error());$ligneNomVille=$resultNomVille->fetch();$memVille=$ligneNomVille['libelleV'];}else{$memVille=$ville;}}}
reservation.js
functiongetXMLHttpRequest(){varxhr =null;if(window.XMLHttpRequest || window.ActiveXObject){if(window.ActiveXObject){try{// Création de l'objet ActiveXObjet
xhr =newActiveXObject("Msxml2.XMLHTTP");}catch(e){
xhr =newActiveXObject("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 =newXMLHttpRequest();}}else{alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");returnnull;}return xhr;}functionsubmit(){varxhr =getXMLHttpRequest();varevenement = document.getElementById('evenement').value;
xhr.onreadystatechange =function(){//statut de l'objet && code numérique de réponse du serveur HTTPif(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);}functionsubmitTo(){varxhr =getXMLHttpRequest();varevenementTo = document.getElementById('evenementTo').value;
xhr.onreadystatechange =function(){//statut de l'objet && code numérique de réponse du serveur HTTPif(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)ordie("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)ordie("$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)ordie("$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)ordie("$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)ordie("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 participantecho'<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++;}}