Probléme de lecture $_GET[]
Résolu/Fermé
Utilisateur anonyme
-
Modifié par neileb le 29/12/2015 à 16:09
Utilisateur anonyme - 31 déc. 2015 à 00:06
Utilisateur anonyme - 31 déc. 2015 à 00:06
A voir également:
- Probléme de lecture $_GET[]
- Confirmation de lecture whatsapp - Guide
- Accusé de lecture gmail - Guide
- Accusé de lecture outlook - Guide
- Lecture epub - Guide
- Logiciel lecture video - Guide
3 réponses
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
Modifié par jordane45 le 29/12/2015 à 19:14
Modifié par jordane45 le 29/12/2015 à 19:14
Essayes ça :
Cordialement,
Jordane
<?php //Affichage des erreurs php error_reporting(E_ALL); //Démarrage des sessions session_start(); //Connexion à la BDD include('connectionbdd.php'); if ($_SESSION['email']!='admin') { header('Location: connection.php'); } //récupératoin "propre des variables $email = !empty($_GET['email']) ? $_GET['email'] : (isset($_POST['email'] ? $_POST['email'] : ''); $message = isset($_POST['message']) ? $_POST['message']: ''; if(isset($_POST['bouton'])){ if($email) { $sql = "INSERT INTO clientneileb (email, message, reponse) VALUES ('NeiLeb Design', :message, :email )"; $a_datas = array( ':email' =>$email, ':message' =>$message); try{ $req = $bdd->prepare($sql); $res = $req->execute($a_datas); if($res){ header('Location: admin.php'); } }catch(Exception $e) // En cas d'erreur dans l'execution de la requete echo "Erreur ! ". $e->getMessage(); echo "<br> Requete :<br>".$sql; echo "a_datas =<br><pre>"; print_r($a_datas); echo "</pre>"; } } } ?> <! -- Debut du code HTML --> <div id="conteneur"> <h1>Répondre</h1> <form method='POST' action='' > <input type="hidden" name="email" value="<?php echo $email;?>"> <p><br><br><br>Message :<br> <input class='champ' type='text' name='message' required height="300px" > <br><br> <input type='submit' name='bouton' value='Valider' class='boutonenvoyer'> </p> </form>
Cordialement,
Jordane
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
524
29 déc. 2015 à 17:09
29 déc. 2015 à 17:09
Salut,
En validant le formulaire de la page repondre.php, tu peux remarquer dans l'URL que le paramètre email n'est plus présent, tu ne peux donc pas le récupérer via les paramètres GET.
Une solution simple est d'ajouter l'adresse mail dans un input de type hidden afin que celle-ci soit envoyée lors de la validation du formulaire, par exemple :
Ainsi en cliquant sur le lien repondre.php?email=toto@exemple.com, l'adresse mail toto@exemple.com est renseignée dans le champ hidden. Lors de la validation du ce formulaire, on pourra alors récupérer cette adresse via $_POST['email'] puisque le formulaire utilise la méthode post :
Une autre solution est de faire transiter ce mail via une variable de session.
Bonne journée
En validant le formulaire de la page repondre.php, tu peux remarquer dans l'URL que le paramètre email n'est plus présent, tu ne peux donc pas le récupérer via les paramètres GET.
Une solution simple est d'ajouter l'adresse mail dans un input de type hidden afin que celle-ci soit envoyée lors de la validation du formulaire, par exemple :
<form method='POST' action='' > <p><br><br><br>Message :<br> <input class='champ' type='text' name='message' required height="300px" > <br><br> <input type='hidden' name='email' value="<?php echo htmlspecialchars($_GET['email']); ?>" <input type='submit' name='bouton' value='Valider' class='boutonenvoyer'> </p> </form>
Ainsi en cliquant sur le lien repondre.php?email=toto@exemple.com, l'adresse mail toto@exemple.com est renseignée dans le champ hidden. Lors de la validation du ce formulaire, on pourra alors récupérer cette adresse via $_POST['email'] puisque le formulaire utilise la méthode post :
$email=$_POST['email'];
Une autre solution est de faire transiter ce mail via une variable de session.
Bonne journée
Utilisateur anonyme
31 déc. 2015 à 00:06
31 déc. 2015 à 00:06
Oui ! J'avais pas pensé à utiliser cette façon ! Merci beaucoup, ça marche nickel !