Problème AJAX-PHP correction de bug
biscrak
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
miramaze Messages postés 1429 Date d'inscription Statut Contributeur Dernière intervention -
miramaze Messages postés 1429 Date d'inscription Statut Contributeur Dernière intervention -
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
reservation.js
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++; } }
A voir également:
- Problème AJAX-PHP correction de bug
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Easy php - Télécharger - Divers Web & Internet
- Activer correction automatique android - Guide
- Le correcteur automatique de votre smartphone vous rend fou ? Voici comment le désactiver - Accueil - Mobile
- Bug chromecast - Guide