Formulaire et Boucle while
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
6 mai 2016 à 06:32
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 13 mai 2016 à 21:42
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 13 mai 2016 à 21:42
A voir également:
- Formulaire et Boucle while
- Formulaire de réclamation facebook - Guide
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
6 réponses
codeurh24
Messages postés
760
Date d'inscription
samedi 29 mars 2014
Statut
Membre
Dernière intervention
8 septembre 2018
123
Modifié par codeurh24 le 6/05/2016 à 10:41
Modifié par codeurh24 le 6/05/2016 à 10:41
Bonjour.
Où sont très variable de session?
Tu ne peut pas demander un profil avec rien au départ.
Si tu compte actuellement te servir de ton formulaire qui demande de recevoir un profil. C'est le serpent qui ce mort la queue.
Ton formulaire n'a rien pour demander ton profil.
Dans c'est cas la on utilise un variable de session.
Attention un input en hidden ne cache pas du tout l'ID demandé.
quelqu'un avec quelques notion de débogage le changerait facilement pour voir un autre profile.
Quand tout ce que tu veux fonctionnera oublie pas les injections SQL.
Où sont très variable de session?
Tu ne peut pas demander un profil avec rien au départ.
Si tu compte actuellement te servir de ton formulaire qui demande de recevoir un profil. C'est le serpent qui ce mort la queue.
Ton formulaire n'a rien pour demander ton profil.
Dans c'est cas la on utilise un variable de session.
Attention un input en hidden ne cache pas du tout l'ID demandé.
quelqu'un avec quelques notion de débogage le changerait facilement pour voir un autre profile.
Quand tout ce que tu veux fonctionnera oublie pas les injections SQL.
<?php session_start(); // si un formulaire valide son name idpers // c'est que le chargement de cette page contient // une variable post avec comme clé idpers if( isset($_POST['idpers'])) { //connexion a la SGBD et a la bdd "aide". // nom d'utilisateur "root" et mot de passe vide "" try { $bdd = new PDO('mysql:host=localhost;dbname=aide', "root", ""); } catch (PDOException $e) { print "Erreur !: " . $e->getMessage() . "<br/>"; die(); } // si la variable $_POST['idpers'] existe // et quelle contient au moins un caractere if( isset($_POST['idpers']) and $_POST['idpers'] != null) { // je recupere le caractere sans verifier que c'est un nombre $idpers = $_POST['idpers']; // mémorise idpers en session php // http://php.net/manual/fr/session.examples.basic.php $_SESSION["idperso"] = $_POST['idpers']; // preparation de la requette PDO $sql = "SELECT * FROM cdc_personnes WHERE idpers = :idpers"; $requete = $bdd->prepare($sql); $requete->execute(array( 'idpers' => $idpers )); // lecture de la table ligne par ligne // La table correspond au resultat de requete while ($donnees = $requete->fetch()) { ?> <div id="ModifProfil"> <form id="formulaire" action="" method="post"> <fieldset> <legend>Modifier mon Profil</legend><br/> <input type="hidden" name="idpers" value="<?php echo $donnees['idpers'];?>"> <label>Nom :</label> <input name="nom" class="ModifProfil" size="30" type="text" value="<?php echo $donnees['nom'];?>" /></td> <label>Prénom :</label> <input name="prenom" class="ModifProfil" size="30" type="text" value="<?php echo $donnees['prenom'];?>" /></td> <input name="action" value="ajouter" type="hidden" /> <input type="submit" class="submit" value="Enregistrer"/> </fieldset> </form> <br/> </div> <a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Retour sur <?php echo $_SERVER['HTTP_REFERER']; ?></a> <?php } }else{ echo "Manque idpers"."<br />"; } }else{ // formulaire provisoir remplacant // une variable de session php // Exemple: $_SESSION["idperso"]; // http://php.net/manual/fr/session.examples.basic.php ?> <div id="ModifProfil"> <form id="formulaire" action="" method="post"> <fieldset> <legend>Choix du Profil</legend><br/> <label>ID :</label> <input type="text" name="idpers" value="1"> <input type="submit" class="submit" value="Voir"/> </fieldset> </form> <br/> </div> <?php } ?>
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
6 mai 2016 à 15:01
6 mai 2016 à 15:01
Bonjour
Merci pour ton aide.
En fait il y a des fichiers annexes concernant les variables de SESSION, alors je me permet de te demander si tu peux m'aider pour mon problème de connexion et dans ce cas si je peux t'envoyer mes fichiers en MP cela doit faire 4 fichiers.
Le principe de connexion fonctionne mais je ne sais pas trop si cela est sécurisé ou pas.
Merci beaucoup.
Cordialement
Merci pour ton aide.
En fait il y a des fichiers annexes concernant les variables de SESSION, alors je me permet de te demander si tu peux m'aider pour mon problème de connexion et dans ce cas si je peux t'envoyer mes fichiers en MP cela doit faire 4 fichiers.
Le principe de connexion fonctionne mais je ne sais pas trop si cela est sécurisé ou pas.
Merci beaucoup.
Cordialement
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
6 mai 2016 à 20:38
6 mai 2016 à 20:38
Bonjour
En fait j'ai bien analysé ce que tu m'as envoyé, mais moi je souhaitais afficher l'édition du profil de la SESSION afin que le membre connecté puisse modifier ses coordonné si besoin.
Merci
En fait j'ai bien analysé ce que tu m'as envoyé, mais moi je souhaitais afficher l'édition du profil de la SESSION afin que le membre connecté puisse modifier ses coordonné si besoin.
Merci
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
9 mai 2016 à 06:47
9 mai 2016 à 06:47
Bonjour
Je reviens vers vous car je trouve mon problème très bizarre.
Sur la page du profil concerné je me trouve bien sur ça SESSION car toutes ses infos personnel sont affiché avec le Bonjour et son prénom.
Mais le formulaire qui devrait s'afficher pour modification ne s'affiche pas, mais lorsque je supprime la boucle WHILE le formulaire apparait,
Merci si vous avez une idée pour résoudre mon problème
Je reviens vers vous car je trouve mon problème très bizarre.
Sur la page du profil concerné je me trouve bien sur ça SESSION car toutes ses infos personnel sont affiché avec le Bonjour et son prénom.
Mais le formulaire qui devrait s'afficher pour modification ne s'affiche pas, mais lorsque je supprime la boucle WHILE le formulaire apparait,
Merci si vous avez une idée pour résoudre mon problème
<?php $idpers = isset($_REQUEST['idpers']) ? $_REQUEST['idpers'] : ''; $sql = "SELECT * FROM cdc_personnes WHERE idpers = :idpers"; $requete = $bdd->prepare($sql); $requete->execute(array( 'idpers' => $idpers )); while ($donnees = $requete->fetch()) { ?> <div id="ModifProfil"> <form id="formulaire" action="" method="post"> <input type="hidden" name="idpers" value="<?php echo $donnees['idpers'];?>"> <fieldset> <legend>Modifier mon Profil</legend><br/> <table cellpadding="0" cellspacing="3"> <tr> <th colspan="6">Coordonné :</th> </tr> <tr> <td width="20%">Nom :</td> <td width="30%"><input name="nom" class="ModifProfil" size="30" type="text" value="<?php echo $donnees['nom'];?>" /></td> <td width="20%">Prénom :</td> <td width="30%"><input name="prenom" class="ModifProfil" size="30" type="text" value="<?php echo $donnees['prenom'];?>" /></td> </tr> <input name="action" value="ajouter" type="hidden" /> <a href="javascript:void(0)"><input type="submit" class="submit" value="Enregistrer"/></a> </fieldset> </form> <br/> </div> <?php } ?>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
9 mai 2016 à 11:53
9 mai 2016 à 11:53
Si le formulaire ne s'affiche pas avec la boucle while, c'est donc que la boucle ne fait aucun tour et donc que la requête sql ne retourne aucun résultat.
Dans ce cas il faut vérifier que la requête est correcte, notamment que le paramètre get ou post idpers est bien défini.
Mais puisque tu souhaites afficher le formulaire de modification du profil connecté, pourquoi ne pas récupérer l'identifiant du profil idpers via la session plutôt que via un paramètre get ou post :
(en supposant que l'identifiant de l'utilisateur connecté soit enregistré en session dans $_SESSION['idpers']).
Dans ce cas il faut vérifier que la requête est correcte, notamment que le paramètre get ou post idpers est bien défini.
Mais puisque tu souhaites afficher le formulaire de modification du profil connecté, pourquoi ne pas récupérer l'identifiant du profil idpers via la session plutôt que via un paramètre get ou post :
// $idpers = isset($_REQUEST['idpers']) ? $_REQUEST['idpers'] : ''; if (!empty($_SESSION['idpers'])) { $idpers = $_SESSION['idpers']; } else { // l'utilisateur n'est pas connecté, on redirige vers la page de connexion... }
(en supposant que l'identifiant de l'utilisateur connecté soit enregistré en session dans $_SESSION['idpers']).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
9 mai 2016 à 20:27
9 mai 2016 à 20:27
Bonjour
Alors en fait j'ai remplacé
par sans rien changé à ma requète
Alors je te dis un grand merci mon formulaire est présent avec les infos du membre connecté, je ne comprends pas trop ben pourquoi mais bon....
Merci
Alors en fait j'ai remplacé
$idpers = isset($_REQUEST['idpers']) ? $_REQUEST['idpers'] : '';
par sans rien changé à ma requète
$idpers = $_SESSION['idpers'];
Alors je te dis un grand merci mon formulaire est présent avec les infos du membre connecté, je ne comprends pas trop ben pourquoi mais bon....
Merci
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
10 mai 2016 à 00:46
10 mai 2016 à 00:46
Bonjour,
Et bien.... tout simplement par ce que $_REQUEST est Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE. ..... et donc.. qu'il ne contient pas le contenu des $_SESSION ....
De toutes façons... je pense que $_REQUEST est à proscrire..... (source d'erreur....)
Il est préférable de savoir comment arrivent les données .. et donc d'utiliser en priorité les variables $_GET / $_POST / $_COOKIE
je ne comprends pas trop ben pourquoi mais bon....
Et bien.... tout simplement par ce que $_REQUEST est Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE. ..... et donc.. qu'il ne contient pas le contenu des $_SESSION ....
De toutes façons... je pense que $_REQUEST est à proscrire..... (source d'erreur....)
Il est préférable de savoir comment arrivent les données .. et donc d'utiliser en priorité les variables $_GET / $_POST / $_COOKIE
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
13 mai 2016 à 21:42
13 mai 2016 à 21:42
Bonjour
Merci pour les infos
Bon week-end
Merci pour les infos
Bon week-end