Impossible d'accéder aux variables via POST

Impossible d'accéder aux variables via POST - PHP - Programmation

Marsh Posté le 23-01-2006 à 14:02:35    

Bonjour,
 
Je suis un bleu en PHP, mais quand même !
 
J'utilise WAMP (dernière verison).
J'ai un formulaire en POST.
Impossible de récupérer les variables du formulaire en PHP ($_POST de rend rien).
Par contre, si je mets en GET (formulaire + $_GET) c'est OK.
Et si je mets tout (copie de tout le fichier WAMP) sur une autre bécane, ça roule sans pb en POST.
 
J'y perd mon latin...
 
Toute aide et suggestion sera bienvenue  :cry:  
 


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 23-01-2006 à 14:02:35   

Reply

Marsh Posté le 23-01-2006 à 14:12:36    

Tout code html et php sera le bienvenue si tu souhaites une réponse.

Reply

Marsh Posté le 23-01-2006 à 14:15:17    

method="post" [:petrus dei]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 23-01-2006 à 14:23:22    

Rectification : ça semble marcher avec Opéra et pas avec IE selon les machines.

Reply

Marsh Posté le 23-01-2006 à 14:30:08    

omega2 a écrit :

Tout code html et php sera le bienvenue si tu souhaites une réponse.


Tu as raison omega2 (désolé pour le listing):
mon formulaire  HTML:

Code :
  1. <html>
  2. <head>[#ffc600]
  3. <link rel="stylesheet" media="screen,print" href="bla.css" />
  4. <title>blabla</title>
  5. </head>
  6. <body >
  7. <div id="contenu">
  8. <h1 >Formulaire d'adhésion</h1>
  9. <form name="adhesion" action="retour.php" method="POST" ENCTYPE="text/plain" class="css">
  10.   <fieldset>
  11.     <legend>Vos coordonnées</legend>
  12.     <label for="nom">Nom :</label>
  13.        <input type="text" name="nom" id="nom" size="35" /><br />
  14.     <label for="prenom">Prénom :</label>
  15.         <input type="text" name="prenom" id="prenom" size="35" /><br />
  16.   </fieldset>
  17. <div class="bouton">
  18.  <button name="valider" type="submit" value="valider">
  19.   <img src="images/valider.gif" border="0" alt="Valider et envoyer"><br/>
  20.                  <b>Envoyer</b>
  21.  </button> &nbsp;&nbsp;
  22.  <button name="annuler" type="reset" value="annuler" >
  23.   <img src="images/annuler.gif" border="0" alt="Annuler et réinitialiser"><br/>
  24.                   <b>Ré-initialiser</b>
  25.  </button>
  26. </div>
  27. </form>
  28. </div>
  29. </body>
  30. </html>


 
mon PHP simplifié (testé : mm comportement):

Code :
  1. <html>
  2. <head>
  3. <link rel="stylesheet" media="screen,print" href="blabla.css" />
  4. <title>Blabla</title>
  5. </head>
  6. <body >
  7. <?php require 'commun.php'; ecritMenu('adhesion'); ?>
  8. <div id="contenu">
  9. <h1 >Vos données d'adhésion</h1>
  10.     <h2>Vos coordonnées</h2>
  11.     <p>Nom : <?php echo $_POST['nom']; ?><br />
  12.     Prénom : <?php echo $_POST['prenom']; ?><br />
  13.     </p>
  14. </div>
  15. </body>
  16. </html>


 
Le "commun.PHP" :  

Code :
  1. <?php
  2. //Ecrit le menu en tenant compte de l'item courant (leNom)
  3. function ecritMenu($leNom)
  4. {
  5.   $nom = Array( "index", "ouvrages", "event",
  6.      "liens","adhesion", "contacts",
  7.      "plan" );
  8.   $but = Array( "index.php","ouvrages.php","evenements.php",
  9.      "liens.php","adhesion.php","contacts.php",
  10.      "plan.php" );
  11.   $txt = Array( "Accueil","Ouvrages", "Evènements",
  12.      "Liens","Adhésion","Contacts",
  13.      "Plan du site" );
  14.  
  15.   echo '<div id="menu">';
  16.   for ($i=0; $i<count($nom); $i++)
  17.   {
  18.     if ($leNom == $nom[$i])
  19.     {
  20.       echo '<div class="courant" >'.$txt[$i].'</div>';
  21.     }
  22.     else
  23.     {
  24.       echo '<a class="button" href="'.$but[$i].'" >'.$txt[$i].'</a>';
  25.     }
  26.   }
  27.   echo '</div>'; 
  28. }
  29. ?>


Message édité par lock le 23-01-2006 à 14:38:21

---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 23-01-2006 à 18:46:23    

Je viens de cerner un peu mieux le pb : ca dépend du navigateur.
Ca marche sous Opéra, mais ni sous Firefox, ni sous Internet Explorer.
 
Là, je sèche.
 
Des idées ???


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 23-01-2006 à 20:01:30    

tu as oublier les quote et plein de petits trucs qui font que ton script plante ;)

Reply

Marsh Posté le 24-01-2006 à 07:04:35    

active l'affichage des erreurs dans php.ini ca te permettra de voir pleins de jolies choses

Reply

Marsh Posté le 24-01-2006 à 13:17:19    

mattoooo a écrit :

tu as oublier les quote et plein de petits trucs qui font que ton script plante ;)


Tu pourrais être + précis ???
 
J'en profite pour donner le code minimum pour que ca marche avec Opera, pas avec IE ni FF :
Formulaire :

Code :
  1. <html>
  2. <head>
  3. <title>Test</title>
  4. </head>
  5. <body >
  6. <h1 >Formulaire</h1>
  7. <form name="adhesion" action="retour2.php" method="POST" ENCTYPE="text/plain" class="css">
  8.     <label for="nom">Nom :</label><input type="text" name="nom" id="nom" size="35" /><br />
  9.     <label for="prenom">Prenom :</label><input type="text" name="prenom" id="prenom" size="35" /><br />
  10.  
  11. <button name="valider" type="submit" value="valider">
  12.  <img src="images/valider.gif" border="0" alt="Valider et envoyer"><br/>
  13.  <b>Envoyer</b>
  14. </button> &nbsp;&nbsp;
  15. <button name="annuler" type="reset" value="annuler" >
  16.  <img src="images/annuler.gif" border="0" alt="Annuler et réinitialiser"><br/>
  17.  <b>Re-initialiser</b>
  18. </button>
  19. </form>
  20. </body>
  21. </html>


 
La lecture des variables:

Code :
  1. <html>
  2. <head>
  3. <title>Test</title>
  4. </head>
  5. <body >
  6. <h1 >Vos donnees</h1>
  7.     <p>Nom : <?php echo $_POST['nom']; ?><br />
  8.     Prenom : <?php echo $_POST['prenom']; ?><br />
  9.     </p>
  10. </body>
  11. </html>


 


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 24-01-2006 à 13:19:04    

gatsu35 a écrit :

active l'affichage des erreurs dans php.ini ca te permettra de voir pleins de jolies choses


Je crois que c'est activé :
  error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT
  log_errors = On
  display_errors = On
 
Manque-t-il qq chose ?


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 24-01-2006 à 13:19:04   

Reply

Marsh Posté le 24-01-2006 à 14:10:51    

"error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT "
signifie toutes les erreurs sauf les notices et les erreurs de la catégorie "strict".
Ca n'est donc pas activé. Met juste "error_reporting  =  E_ALL" à la place, là t'auras tout. Pour les deux autres, c'est bon.

Reply

Marsh Posté le 24-01-2006 à 16:35:57    

Merci beaucoup omega2. je vais tester rapidement.


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 25-01-2006 à 21:38:31    

J'ai trouvé !!!
 
Pour info, voici le coupable :  
 
<form name="adhesion" action="retour2.php" method="POST" ENCTYPE="text/plain" class="css">
 


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed