[RESOLU] Soucis de récupération de variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Soucis de récupération de variable

Re: [RESOLU] Soucis de récupération de variable

par OZABOY » 14 mai 2016, 14:23

tu dois d'abord commencer la session avant toutes choses avec :
session_start();
ensuite pour recuperer la session faudra pas faire
$_SESSION['nomdelasession'] = $unesession; mais plutot
$unesession = $_SESSION['nomdelasession'] ;

Re: Soucis de récupération de variable

par Tyrazzak » 02 mai 2016, 15:53

J'ai résolu mon problème. J'ai créer de nouvelle variables modifier et ajouter des requête SQL et tout s'est bien goupillé. Merci. Si quelqu'un veut les scripts qui fonctionne je peux lui fournir.

Re: Soucis de récupération de variable

par Tyrazzak » 02 mai 2016, 13:47

Je viens de résoudre mon soucis d'affichage de la date, mais l'heure elle ne veut pas s'afficher je cherche encore une solution.

Savez vous comment transférer un POST du premier script au 3ème ? En passant par le deuxième ou non ? J'ai vu 2/3 méthodes mais aucun succès.

Re: Soucis de récupération de variable

par Spols » 26 avr. 2016, 12:50

Commence par 2 script tout simple, un qui écrit une variable en SESSION et l'autre qui lit les variables et les affiche.

Si ca marche complique le script petit à petit pour voir quand ca coince.
Si ca marche pas, regarde du coté du serveur

Re: Soucis de récupération de variable

par Tyrazzak » 26 avr. 2016, 11:17

Je ne sais pas pourquoi je ne récupère pas les variables alors que j'ai des POST. Mon prof et moi ne trouvons pas le problème.

Re: Soucis de récupération de variable

par Spols » 25 avr. 2016, 17:12

Si tu es certain de l'ouverture de tes SESSION, il faut en afficher le contenu et voir pourquoi tu ne recupère pas les bonnes valeurs

Re: Soucis de récupération de variable

par Tyrazzak » 25 avr. 2016, 14:43

Le seul message d'erreur que j'ai c'est celui qui me dis que je ne peux pas UPDATE ma base de donne

Re: Soucis de récupération de variable

par Spols » 21 avr. 2016, 08:24

Si ton ouverture de session est faite après que du html soit envoyé au navigateur, cela ne fonctionnera pas.

Si elle est dans ton menu.php, tu a déjà envoyé le début de ton code HTML. As tu un affichage de toutes les erreurs ? sinon regarde dans les logs PHP

Re: Soucis de récupération de variable

par Tyrazzak » 20 avr. 2016, 17:32

Elle est ouvert dans mon include ("menu.php"). En la rajoutant dans chaque fichier rien ne change.

Re: Soucis de récupération de variable

par Spols » 20 avr. 2016, 14:37

Il me semble que tu n'as pas ouvert ta session en début de fichier

Dans chaque fichier, au tout début (même pas un retour à la ligne avant)ajoute
<?php
session_start();
?>

Soucis de récupération de variable

par Tyrazzak » 20 avr. 2016, 14:13

Bonjour, pour mon projet de bac je dois faire un site internet. J'ai pris un code sur ce site et j'ai changer tous pour qu'il correspondent a mes autres pages et ma bases de donnée. Et tous fonctionne sauf que je n'arrive pas a récupérer mes variables de sessions. J'ai a peu près tous essayé sans succès. J'espère que vous pourrez m'aidés.

Voici mes codes :
Première page :

Code : Tout sélectionner

<html> <head> <header><BR /><font color="white"><center><h1>Demande De Rendez-vous</h1></center></font></header> <meta charset = "utf-8"> </head> <title>Demande de RDV</title> <link rel="stylesheet" type="text/css" href="style.css"> <?php include("menu.php"); include("menu2.php")?> <br /><br /><center><h1>Demande de Traitement<h1></center> <form method="POST" action="DateRDV.php"> <body class="bost"> <?php include("fondecran.htm"); ?> <center> <?php // Connexion au serveur MySQL et ouverture de la base include("connexion.php"); $_SESSION['ChoixClSession']=$numero; // Recherche des données personnelles du client $sql=" SELECT * from client where IdentifiantClient='$Identifiant'"; $req=mysql_query($sql) or die ("erreur d'exécution de la requête"); $ligne =mysql_fetch_array($req); while($ligne!=False) { print " <h2>Vos données personnelles :</h2> <table> <tr> <td>Identifiant :</td> <td>$Identifiant</td> </tr> <tr> <td>Nom :</td> <td>".$ligne["NomClient"]."</td> </tr> <tr> <td>Prénom :</td> <td>".$ligne["PrenomClient"]."</td> </tr> <tr> </table>"; $ligne =mysql_fetch_array($req); } ?> <br /> <h2>Faites votre choix de traitement :</h2> <input type='radio' name='ChoixCl' value="1" checked /> Scéance de naturopathie <input type='radio' name='ChoixCl' value="2" /> Scéance de réflexologie <br /><br /> <input type='submit' value='Valider le traitement' /> </form> </center> <br /><br /><hr><center><?php include("footer.php"); ?></hr></center>
Ma deuxième page :

Code : Tout sélectionner

<html> <head> <header><BR /><font color="white"><center><h1>Demande De Rendez-vous</h1></center></font></header> <meta charset = "utf-8"> </head> <title>Demande de RDV</title> <link rel="stylesheet" type="text/css" href="style.css"> <?php include("menu.php"); include("menu2.php")?> <br /><br /><center><h1>Demande de Traitement<h1></center> <body class="bost"> <center> <?php // Connexion au serveur MySQL et ouverture de la base include("connexion.php"); $_SESSION['ChoixClSession']=$_POST['ChoixCl']; // Recherche des données personnelles du client $sql=" SELECT * from client where IdentifiantClient='$Identifiant'"; $req=mysql_query($sql) or die ("erreur d'exécution de la requête"); $ligne =mysql_fetch_array($req); while($ligne!=False) { print " <h2>Vos données personnelles :</h2> <table> <tr> <td>Identifiant :</td> <td>$Identifiant</td> </tr> <tr> <td>Nom :</td> <td>".$ligne["NomClient"]."</td> </tr> <tr> <td>Prénom :</td> <td>".$ligne["PrenomClient"]."</td> </tr> <tr> </table>"; $ligne =mysql_fetch_array($req); } ?> <?php mysql_close($connexion); echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */ $serveur = "localhost"; $base = "projet"; /* On récupère si elle existe la valeur de la date envoyée par le formulaire */ $idd = isset($_POST['DateDemande'])?$_POST['DateDemande']:null; ?> <?php if(isset($_POST['ok']) && isset($_POST['HeureDemande']) && $_POST['HeureDemande'] != "") { $date_selectionnee = $_POST['DateDemande']; $heure_selectionne = $_POST['HeureDemande']; ?> <p>Vous avez sélectionné la date <?php echo($heure_selectionne); ?> dans la date <?php echo($date_selectionnee); ?></p> <?php } ?> <h3>Trouver une date</h3> <?php /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() * car on aura besoin de la connexion un peu plus loin dans le script */ $connexion = mysql_pconnect($serveur); if($connexion != false) { $choixbase = mysql_select_db($base, $connexion); $sql1 = "SELECT Distinct DateDemande FROM demande ORDER BY DateDemande"; $rech_dates = mysql_query($sql1); $code_date = array(); $date = array(); /* On active un compteur pour les dates */ $nb_dates = 0; if($rech_dates != false) { while($ligne = mysql_fetch_assoc($rech_dates)) { array_push($code_date, $ligne['DateDemande']); array_push($date, $ligne['DateDemande']); /* On incrémente de compteur */ $nb_dates++; } } ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="POST" id="changheure"> <legend>Sélectionnez une date</legend> <select name="DateDemande" id="DateDemande" onchange="document.forms['changheure'].submit();"> <option value="-1">Choisissez une date</option> <?php for($i = 0; $i < $nb_dates; $i++) { ?> <option value="<?php echo($date[$i]); ?>"<?php echo((isset($idd) && $idd == $code_date[$i])?" selected=\"selected\"":null); ?>><?php echo($date[$i]); ?></option> <?php } ?> </select> <?php mysql_free_result($rech_dates); /* On commence par vérifier si on a envoyé un numéro de date et le cas échéant s'il est différent de -1 */ if(isset($idd) && $idd != -1) { /* Création de la requête pour avoir les dates de cette date */ $sql2 = "SELECT HeureDemande FROM demande WHERE DateDemande = '$idd'"; if($connexion != false) { $rech_heure = mysql_query($sql2); /* Un petit compteur pour les dates */ $nd = 0; /* On crée deux tableaux pour les numéros et les noms des dates */ $code_heure = array(); $nom_heure = array(); /* On va mettre les numéros et noms des dates dans les deux tableaux */ while($ligne_heure = mysql_fetch_assoc($rech_heure)) { array_push($code_heure, $ligne_heure['HeureDemande']); array_push($nom_heure, $ligne_heure['HeureDemande']); $nd++; } /* Maintenant on peut construire la liste déroulante */ ?> <select name="HeureDemande" id="HeureDemande"> <?php for($d = 0; $d < $nd; $d++) { ?> <option value="<?php echo($nom_heure[$d]); ?>"<?php echo((isset($heure_selectionne) && $heure_selectionne == $code_heure[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_heure[$d]); ?></option> <?php } ?> </select> <?php } /* Un petit coup de balai */ mysql_free_result($rech_heure); } ?> <?php /* Terminé, on ferme la connexion */ mysql_close($connexion); } else { /* Si on arrive là, c'est pas bon signe, il faut vérifier les * paramètres de connexion, mot de passe, serveur pas démarré etc... */ ?> <p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p> <?php } ?><br /> </form></center> <form method="POST" action="EnrDemande.php"> <center><input type='submit' value='Confirmer le rendez-vous' /></center> </form> <?php // Fermeture de la connexion à MySQL mysql_close(); ?> </center> <br /><br /><hr><center><?php include("footer.php"); ?></hr></center>
Et enfin ma page d'affichage qui ne récupère pas les variables :( :

Code : Tout sélectionner

<html> <head> </head> <?php session_start(); ?> <body class="bost"> <header><BR /><font color="white"><center><h1>Enregistrement de la demande de traitement</h1></center></font></header> <!-- Menu d곯ulant au survol !--> <?php include("menu.php"); include("menu2.php")?><br /><br /><?php include("fondecran.htm"); ?> <!-- Fin menu d곯ulant au survol !--> <?php // Affectation des valeurs saisies dans des variables $DateDemande=$_POST['DateDemande']; $HeureDemande=$_POST['HeureDemande']; list($annee,$mois, $jour)=explode('-',$DateDemande); $DateDemandefr=$jour.'/'.$mois.'/'.$annee; // Rꤵp곡tion des variables de session $Identifiant=$_SESSION['IdentifiantClSession']; $NumTraitementDemande=$_SESSION['ChoixClSession']; // Connexion au serveur MySQL et ouverture de la base include("connexion.php"); // Rꤵp곡tion du num곯 du client $sql=" SELECT NumClient from client where IdentifiantClient='$Identifiant'"; $result=mysql_query($sql); $ligne=mysql_fetch_array($result); while($ligne !=False) { $NumClientDemandeur =$ligne['NumClient']; $ligne=mysql_fetch_array($result); } // Requ뵥 d'insertion des valeurs dans la table DEMANDE $reqD="UPDATE demande SET IdentifiantClientDemandeur = '$Identifiant' , NumTraitementDemande = '$NumTraitementDemande' WHERE DateDemande = '$DateDemande' and HeureDemande = '$HeureDemande'"; $resultD=mysql_query($reqD); if($resultD==False) { echo "Echec de la requ뵥 ".$reqD; } else { // Confirmation de lӥnregistrement de la commande $sql=" SELECT * from client where IdentifiantClient='$Identifiant'"; $req=mysql_query($sql) or die ("erreur d'exꤵtion de la requ뵥"); $ligne =mysql_fetch_array($req); while($ligne!=False) { echo "<h3><center>Cher(e) ".$ligne['PrenomClient']." ".$ligne['NomClient'].",<br />"; echo " Vous avez choisi le traitement $NumTraitementDemande <br /><br />"; echo "Votre demande de rendez-vous du $DateDemandefr à $HeureDemande a bien 굩 enregistrꥮ <br /> A bient��</center></h3><br/> <center><a href='accueil.php'>Retour ࡬'accueil</center></a>"; $ligne =mysql_fetch_array($req); }} // Fermeture de la connexion ࡍySQL mysql_close(); ?> <br /><br /><hr><center><?php include("footer.php"); ?></hr></center>
Voici ce que ca me renvoie : Echec de la requête UPDATE demande SET IdentifiantClientDemandeur = 'Tyrazzak' , NumTraitementDemande = '' WHERE DateDemande = '' and HeureDemande = ''

Je suis à votre disposition si vous avez des questions. Merci de votre aide !