Récupérer les données d'un formulaire

Fermé
geiffy Messages postés 15 Date d'inscription dimanche 29 avril 2018 Statut Membre Dernière intervention 4 février 2022 - Modifié le 30 avril 2018 à 21:25
geiffy Messages postés 15 Date d'inscription dimanche 29 avril 2018 Statut Membre Dernière intervention 4 février 2022 - 3 mai 2018 à 18:01
Bonjour à tous,

J'ai créé une page formulaire dans mon site et une page .php pour la récupération des données. Or je n'y parviens pas. Curieusement, le titre <h1> s'affiche bien dans la page .php, mais pas les données. Un spécialiste du PHP peut-il m'indiquer d'où vient le blocage? Je joins ci-après les pages .html et .php. Merci beaucoup.


La page .html :
<!DOCTYPE html>
<html lang="fr">
 <head>
 <title>Pour réagir!</title>
  <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="fichiers-css/menu-horizontal.css">
  <link rel="stylesheet" type="text/css" href="fichiers-css/reactions.css">
  <link rel="stylesheet" type="text/css" href="fichiers-css/formulcontact.css">

  <!--[if lte IE 8]>
  <script src="html5.js" type="text/javascript"></script>
  <![endif]-->
 </head>
  <div id="logo">
   <img src="../../Pictures/site_triunicie_banniere.jpg" alt=Bannière de la Triunicie/>
  </div>
 <body>
  <div id="barre-menu">
   <nav>
    <ul>
     <li class="menu-index"><a href="index.html">Accueil</a></li>
     <li class="menu-a-propos"><a href="a-propos.html">A propos de la Triunicie</a>
      <ul class="submenu">
       <li><a href="naissance-triunicie.html">Comment est née la Triunicie?</a></li>
       <li><a href="but-triunicie.html">Les hauts principes de la Triunicie</a></li>
      </ul>
      </li>
     <li class="menu-livres"><a href="livres.html">Les livres</a>
      <ul class="submenu">
       <li><a href="trois-tomes.html">Les trois tomes de la Triunicie</a></li>
       <li><a href="ouvrages.html">Les ouvrages autour de la Triunicie</a></li>
       <li><a href="livres-humanistes.html">Les livres à caractère humaniste</a></li>
       <li><a href="livres-autobiographiques.html">Livres autobiographiques</a></li>
     </ul>
     </li>
     <li class="menu-reactions"><a href="reactions.html">Pour réagir!</a></li>
     <li class="menu-tribune"><a href="tribune.html">Votre tribune</a></li>
     <li class="menu-journal"><a href="journal.html">Journal de la Triunicie</a>
      <ul class="submenu">
       <li><a href="sujets-societe.html">Sur des sujets de société</a></li>
       <li><a href="fil-actualite.html">Au fil de l'actualité</a></li>
       <li><a href="actions-triunicie.html">Les actions de la Triunicie</a></li>
      </ul>
     </li>
    </ul>
   </nav>
  </div>
 </body>
</html>
<html>
 <body>
  
  <div id="formulaire">
  <p><span style="font-size:16px">Le formulaire de cette page vous permet de réagir à propos de ce <strong>modèle de société</strong> que j'expose dans ce site.</span></p>
  <p><span style="color:red;font-size:18px;font-style:italic">J'attends vraiment vos réactions, car la <strong>Triunicie</strong> n'existera concrètement que suite à l'intérêt et la participation du plus grand nombre.</span></p>
  <p><span style="color:green;font-size:18px;font-style:italic">La Triunicie est pour vous et à vous maintenant. Si Dieu me l'a inspiré, c'est pour votre bonheur, votre épanouissement.</span></p>
  <p>Naturellement, je prépare <strong>une action en Occident</strong>, afin que les peuples aient l'opportunité d'entendre <em>la merveilleuse nouvelle que la Triunicie représente</em>.</p>
  <p><span style="color:green"> Vous désirez réagir? Merci de bien vouloir remplir les champs ci-dessous</span>:
  
  <form method="post" action="messageform.php" enctype="multipart/form-data">

   <fieldset id="section1">
   
    <label for="prenom">Votre prénom</label>
    <input type="text" id="prenom" name="prenom" placeholder="Ex:Jean" autocomplete="on" required="required"><br />
    <label for="email">Votre email</label>
    <input type="email" id="email" name="email" placeholder="example@email.com" required="required"><br />
    <label for="presentation">Petite présentation de vous-même (si vous le souhaitez)</label>
    <textarea id="presentation" name="presentation" rows="5" cols="50"></textarea>
    </br>
  
   </fieldset>
   <fieldset id="section2">
   
    <label for="domaine">Dans quel domaine souhaitez-vous réagir?</label><br />
    </br>
    <select id="domaine" name="domaine" required="required">
    <option value="renseigner"></option>
    <option value="1">Au sujet du contenu de la Triunicie</option>
    <option value="2">Pour devenir membre de l'Association "Triunicie Française"</option>
    <option value="3">En vue de proposer votre concours pour la traduction de ce site</option><br />
    <option value="4">Pour faire vos suggestions pour une amélioration de ce site</option>
    <option value="5">Autre</option>
    <br />
    </select>
   </fieldset>
    
   <fieldset id="section3">
    
    <p>Pour la traduction du site, indiquez la langue</p>
    <textarea cols="35" rows="1" name="langue" placeholder="Ex:Anglais" autocomplete="on"></textarea><br />
    </fieldset>
   <fieldset id="section4">
    <p>Si vous avez fait le choix "autre" dans la liste déroulante, veuillez préciser ci-dessous le sujet du message:</p>
    <textarea cols="35" rows="1" name="sujet"></textarea><br />
    <p>Votre message:</p>
    <textarea cols="45" rows="20" name="message" required="required"></textarea><br />
    <input type="submit" name="submit" value="Envoyer" id='bouton_envoi' style="width:100px; height:30px;font-size:14px;">
    <input type="reset" name="reset" value="Réinitialiser" id='bouton-reset' style="width:120px; height:30px;font-size:14px;">
   </fieldset>
  </form>
 
  
   
   <div style="background: #F5CBA7; width: 960px; padding-top: 40px; padding-bottom: 40px; padding-left: 30px; margin-top: 100px; margin-left: 0px; font: Arial, sans-serif; color: #A04000; font-size: 14px;
   text-align: center; id="footer">
   <p>© - Triunicie est un nom protégé - Le logo de la Triunicie est un modèle déposé.</br>
     - Toute copie ou reproduction, même partielle, est interdite et punie par la loi.</p>
   </div>  
  
 </body>
</html>


La page .php :
<html>
<head>
<title>Données formulaires</title>
</head>
 <body>
 <h1>Affichage des données issues du formulaire</h1>
<?php

if(isset($_POST['envoyer'])){
$prenom = $_POST['prenom'] ;
echo $Votre prénom;
$email = $_POST['email'] ;
echo $Votre email;
$presentation = $_POST['presentation'] ;
echo $Présentation de vous-même;
$domaine = $_POST['domaine'] ;
echo $Domaine de réaction:;
$langue = $_POST['langue'] ;
echo $Langue pour la traduction du site:;
$sujet = $_POST['sujet'] ;
echo $Sujet du message:;
$message = $_POST['message'] ;
echo $Votre message:;
}

?>

 </body>
</html>


EDIT : Correction des balises de code

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 avril 2018 à 21:29
Bonjour,

1 - Ne pas utilisé de caractères accentués, espaces ou spéciaux dans le nom des variables
2 - respecter les majuscules/minuscules
3 - Pour faire un echo .. il faut mettre le TEXTE entre quotes et concaténer avec les variables
Typiquement
echo "Votre prénom : ".$prenom;


Je t'invite fortement à consulter et à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code (surtout la parti concernant la récupération des variables AVANT de les utiliser).

Je t'invite également à placer
print_r($_POST);

Au début de ton fichier messageform.php pour voir ce que tes variables contiennent.


Bien entendu.... soit tu es sur un SERVEUR, soit tu bosses en LOCAL sur ton ordi. Dans ce cas tu dois absolument avoir installé un logiciel tel que XAMPP ou WAMP ou EASYPHP et que tu passes, via ton navigateur, par le LOCALHOST

0
geiffy Messages postés 15 Date d'inscription dimanche 29 avril 2018 Statut Membre Dernière intervention 4 février 2022 1
1 mai 2018 à 16:45
Bonjour Jordane,

Merci pour ta réponse et ta précieuse aide. Effectivement, je suis encore en local. Aussi j'ai téléchargé Easyphp qui ne s'ouvre pas. Je l'ai donc désinstallé et téléchargé plutôt Wampp, lequel m'indique que je n'ai pas les droits d'administrateur. Il me semble qu'activer les droits d'administrateur complet comporte un danger, car je n'aurai plus le message de sécurité lors des téléchargements. Qu'en penses-tu? Cordialement.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
1 mai 2018 à 19:34
Bonjour,
A mon avis, tu peux utiliser Uwamp.
L'avantage... c'est que tu peux le mettre sur une clé USB et t'en servir n'importe où sans avoir à réinstaller.
0
3 - Pour faire un echo .. il faut mettre le TEXTE entre quotes et concaténer avec les variables
Typiquement

echo "Votre prénom : ".$prenom;


FAUX !

Pour faire un echo, les quotes et la concaténation ne sont pas une obligation. Tout dépend des quotes utilisées.

<?php
 // test 1
 $var = 'Dupont';
 echo "Je suis $var"; // Je suis Dupont
 echo '<br>';
 echo 'Je suis $var'; // Je suis $var
 echo '<br>';
 echo 'Je suis '.$var; // Je suis Dupont
 echo '<hr>';
 // test 2
 $var = "Dupond";
 echo "Je suis $var"; // Je suis Dupond
 echo '<br>';
 echo 'Je suis $var'; // Je suis $var
 echo '<br>';
 echo 'Je suis '.$var; // Je suis Dupond
?>
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Mike
2 mai 2018 à 15:30
Je suis d'accord avec toi .....
mais quand on voit qu'il a écrit des choses du genre :
$presentation = $_POST['presentation'] ;
echo $Présentation de vous-même;

je préfère être prudent dans ma réponse.

Surtout que ce que tu proposes ne fonctionne qu'avec des variables de "string".
dès lors que tu veux afficher le contenu d'un array.... ça a largement tendance à coincer.....
Exemple :
echo "ceci est un exemple $_GET['test'] ";
0
En effet, je voulais juste démontrer que la concaténation n'est pas tout le temps nécessaire.
En ce qui concerne le PHP de geiffy, il y a de quoi se poser des questions, même pour un débutant :)
0