Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2595 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variable POST n'existe pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable POST n'existe pas

n°1581820
funux
Posté le 03-07-2007 à 11:50:45  profilanswer
 

Bonjour,
 
J'ai un problème avec un formulaire qui fonctionne sur Firefox et pas sur IE  :pt1cable:  
En fait les variables POST ne sont pas transmises, je met le code c'est surement plus parlant :)
 

Code :
  1. <form method="POST" action="../includes/update_news.php" name="news">
  2.                                     <input type="hidden" name="id_outils" value="<? echo $_GET['id_outils']; ?>" />
  3.                                             <div>
  4.                                                 <input type="hidden" name="act" value="ajout_news" />
  5.                                             </div>
  6.                                             <p><label for="name">Titre de la news:</label>
  7.                                             <input type="text" name="titre_news" id="name" size="50" /></p>
  8.                                             <p><label for="name">Date:</label>
  9.                                             <input name="date_news" value="<? echo date("d/m/Y" ); ?>" type="text" size="10" maxlength="10" id="date"></p>
  10.                                                         <script type="text/javascript">
  11.                                                             Calendar.setup({
  12.                                                                 ifFormat       :    "%d/%m/%Y",
  13.                                                                 showsTime      :    false,
  14.                                                                 inputField     :    "date",     // id of the input field
  15.                                                                 step           :    1
  16.                                                             });
  17.                                                         </script>
  18.                                             <p><label for="name">Contenu de la news:</label>
  19.                                             <textarea name="contenu" rows="20" cols="100"></textarea></p>                                                       
  20.                                             <p><input type="submit" value="ajouter"></p>
  21.                                     </form>


 

Code :
  1. switch($_POST['act'])
  2. {
  3. case "ajout_news":
  4.      //DECLARATIONS VARIABLES
  5.      $titre_news = $_POST['titre_news'];
  6.      $date_news = date_fr_to_us($_POST['date_news']);
  7.      $contenu = replace($_POST['contenu']);
  8.      mysql_select_db($database, $connect); //CONNEXION
  9.      $sql = "insert into news (titre_news, date_news, contenu) values ('".$titre_news."', '".$date_news."', '".$contenu."')";
  10.      mysql_query ($sql, $connect);
  11.      mysql_close();
  12. header("Location:../pages/communication_creation_news.php?message=creation_ok&id_outils=".$_POST['id_outils']."" );
  13.      break;
  14. }


 
Environnement local-easyphp, j'ai cherche sur le net pour voir si d'autres personnes avaient le meme pbs, je n'ai rien trouvé...
 
Merci pour votre future aide  :jap:

mood
Publicité
Posté le 03-07-2007 à 11:50:45  profilanswer
 

n°1581833
rufo
Pas me confondre avec Lycos!
Posté le 03-07-2007 à 12:07:53  profilanswer
 

question bête : ça sert à quoi de mettre dans un div un input hidden???
 
Sinon, quand tu fais un print_r($_POST) dans update_news.php une fois que t'as cliqué sur "ajouter", il affiche quoi?

n°1581838
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-07-2007 à 12:14:35  profilanswer
 

AMA, ça sent le paté dans le html... FF s'en sort et IE perd les pédales!  
Y'a moyen de voir TOUT le code html de ta page?
 
Et ce que t'as dis RUFO est une très bonne idée, mais pense à bien le mettre hors de ton switch ... des fois que!

n°1581845
rufo
Pas me confondre avec Lycos!
Posté le 03-07-2007 à 12:17:11  profilanswer
 

j'aimerais bien voir aussi le code entier de update_news.php...

n°1581857
funux
Posté le 03-07-2007 à 12:32:11  profilanswer
 

- Avec un print_r($_POST) j'ai Array ( ) qui s'affiche.
- Tiens c'est vrai j'avais pas vu le input hidden entre les div, vais le virer merci  :lol:  
 

Code :
  1. <?
  2. session_start() ;
  3. require_once('../plugins/functions.php');
  4. require_once('../plugins/securite.php');
  5. require('parties.php');
  6. if ((securite($_GET['id_outils'],$_SESSION['login'])) == "acces_nok" )
  7. {
  8. echo "<html><head><META http-equiv=\"refresh\" content=\"1; URL=../index.php?message=droits\"></head><body></body></html>";
  9. }
  10. ?>
  11. <html>
  12. <head>
  13.     <title>toto| Intranet</title>
  14.     <link rel="shortcut icon" href="/favicon.ico" />
  15.     <link rel="stylesheet" type="text/css" media="screen" href="../css/principal.css" />
  16.  <style type="text/css">@import url(./calendar/skins/aqua/theme.css);</style>
  17.  <script type="text/javascript" src="./calendar/calendar.js"></script>
  18.  <script type="text/javascript" src="./calendar/lang/calendar-fr.js"></script>
  19.  <script type="text/javascript" src="./calendar/calendar-setup.js"></script>
  20. </head>
  21. <? if (isset($_GET['type']) && ($_GET['type'] == "details_outil" )){echo "<body id=\"showroom\">";} else { echo "<body id=\"index\">";} ?>
  22.   <div id="wrapper">
  23.     <? entete(); //AFFICHE LES LIENS EN DEBUT DE PAGE ?>
  24.     <div id="sidenotes">
  25.         <div id="writecomment">
  26.         <? if ((isset($_GET['message'])) && ($_GET['message'] =="creation_ok" )){ echo "<h1>News ajoutée</h1></br>";} ?>
  27.         <h3>Création d'une nouvelle<span> News</span></h3>
  28.         <p>Tout les champs sont obligatoires</p>
  29.         <form method="POST" action="../includes/update_news.php" name="news">
  30.         <input type="hidden" name="id_outils" value="<? echo $_GET['id_outils']; ?>" />
  31.           <div>
  32.            <input type="hidden" name="act" value="ajout_news" />
  33.           </div>
  34.           <p><label for="name">Titre de la news:</label>
  35.           <input type="text" name="titre_news" id="name" size="50" /></p>
  36.           <p><label for="name">Date:</label>
  37.           <input name="date_news" value="<? echo date("d/m/Y" ); ?>" type="text" size="10" maxlength="10" id="date"></p>
  38.              <script type="text/javascript">
  39.                  Calendar.setup({
  40.                      ifFormat       :    "%d/%m/%Y",
  41.                      showsTime      :    false,
  42.                      inputField     :    "date",     // id of the input field
  43.                      step           :    1
  44.                  });
  45.              </script>
  46.           <p><label for="name">Contenu de la news:</label>
  47.           <textarea name="contenu" rows="20" cols="100"></textarea></p>
  48.           <p><input type="submit" value="ajouter"></p>
  49.         </form>
  50.       </div>
  51.     </div>
  52.     <div id="sidenotes">
  53.       <div class="writecomment">
  54.         <h3>Création d'une <span>news</span></h3>
  55.       </div>
  56.     </div>
  57.     <? //vie_pratique(); //AFFICHER LES LIENS VIE PRATIQUE?>
  58.        <div id="copyright">
  59.           <h4><strong>&copy; 2007</strong> TOTO</h4>
  60.    </div>
  61.   </div>
  62. </body>
  63. </html>


 
update_news.php
 

Code :
  1. <?PHP
  2. session_start() ;
  3. require_once('../plugins/securite.php');
  4. require_once('../plugins/connexion.php');
  5. print_r($_POST);
  6. // ###############################FUNCTIONS
  7. function replace($string){
  8.  $string = str_replace("~","",$string);
  9.  $string = str_replace("#","",$string);
  10.  $string = str_replace("{","",$string);
  11.  $string = str_replace("`","",$string);
  12.  $string = str_replace("^","",$string);
  13.  $string = str_replace("°","",$string);
  14.  $string = str_replace("}","",$string);
  15.  $string = str_replace("¨","",$string);
  16.  $string = str_replace("£","",$string);
  17.  $string = str_replace("¤","",$string);
  18.  $string = str_replace("µ","",$string);
  19.  $string = str_replace("§","",$string);
  20.  $string = str_replace("'","\'",$string);
  21.  return $string;
  22.  }
  23. function date_fr_to_us($datetime) {
  24.  $a = substr($datetime, 6, 4); // conversion
  25.  $m = substr($datetime, 3, 2); // de la date
  26.  $j = substr($datetime, 0, 2); // au format
  27.  $datetime = $a.'-'.$m.'-'.$j; // US
  28.  return $datetime;
  29. }
  30. // ############################### SECURITE
  31. //if ((securite($_POST['id_outils'],$_SESSION['login'])) == "acces_nok" )  
  32. //{
  33. //echo "<html><head><META http-equiv=\"refresh\" content=\"1; URL=../index.php?message=droits\"></head><body></body></html>";
  34. //}
  35. // ############################### PROGRAMME  
  36. switch($_POST['act'])
  37. {
  38. case "ajout_news":
  39.      //DECLARATIONS VARIABLES
  40.      $titre_news = $_POST['titre_news'];
  41.      $date_news = date_fr_to_us($_POST['date_news']);
  42.      $contenu = replace($_POST['contenu']);
  43.      mysql_select_db($database, $connect); //CONNEXION
  44.      $sql = "insert into news (titre_news, date_news, contenu) values ('".$titre_news."', '".$date_news."', '".$contenu."')"; // INSERT
  45.      mysql_query ($sql, $connect);
  46.      mysql_close();
  47.      header("Location:../pages/communication_creation_news.php?message=creation_ok&id_outils=".$_POST['id_outils']."" );
  48.      break;
  49. }
  50. ?>


 
merci pour les reponses :)

Message cité 1 fois
Message édité par funux le 03-07-2007 à 12:47:20
n°1581887
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-07-2007 à 13:48:28  profilanswer
 

trop cool j'interprete le php à la volée [:dawa]
Y'a pas moyen d'avoir le html généré plutot ...
T'as pas de balise body s'normal?

n°1581891
funux
Posté le 03-07-2007 à 13:53:57  profilanswer
 

Ah pardon  :whistle:  
 
Voila la premiere page generee :D
 

Code :
  1. <html>
  2. <head>
  3.     <title>Toto</title>
  4.     <link rel="shortcut icon" href="/favicon.ico" />
  5.     <link rel="stylesheet" type="text/css" media="screen" href="../css/principal.css" />
  6.  <style type="text/css">@import url(./calendar/skins/aqua/theme.css);</style>
  7.  <script type="text/javascript" src="./calendar/calendar.js"></script>
  8.  <script type="text/javascript" src="./calendar/lang/calendar-fr.js"></script>
  9.  <script type="text/javascript" src="./calendar/calendar-setup.js"></script>
  10. </head>
  11. <body id="index">   <div id="wrapper">
  12.      <div id="header"><div id="navigation"><ul><li><a href="../index.php">Accueil</a></li><li><a href="">Tickets</a></li><li><a href="administration.php">Administration Intranet</a></li><li><a href="">Annuaire</a></li><li id="dernier"><a href="user.php">Ma page</a></li></ul></div><h1><a href="../index.php" title="Retour à l'accueil">Sterience</a></h1></div>     <div id="sidenotes">
  13.         <div id="writecomment">
  14.                  <h3>Création d'une nouvelle<span> News</span></h3>
  15.         <p>Tout les champs sont obligatoires</p>
  16.         <form method="POST" action="../includes/update_news.php" name="news">
  17.         <input type="hidden" name="id_outils" value="22" />
  18.         <input type="hidden" name="act" value="ajout_news" />
  19.           <p><label for="name">Titre de la news:</label>
  20.           <input type="text" name="titre_news" id="name" size="50" /></p>
  21.           <p><label for="name">Date:</label>
  22.           <input name="date_news" value="03/07/2007" type="text" size="10" maxlength="10" id="date"></p>
  23.              <script type="text/javascript">
  24.                  Calendar.setup({
  25.                      ifFormat       :    "%d/%m/%Y",
  26.                      showsTime      :    false,
  27.                      inputField     :    "date",     // id of the input field
  28.                      step           :    1
  29.                  });
  30.              </script>
  31.           <p><label for="name">Contenu de la news:</label>
  32.           <textarea name="contenu" rows="20" cols="100"></textarea></p>
  33.           <p><input type="submit" value="ajouter"></p>
  34.         </form>
  35.       </div>
  36.     </div>
  37.     <div id="sidenotes">
  38.       <div class="writecomment">
  39.         <h3>Création d'une <span>news</span></h3>
  40.       </div>
  41.     </div>
  42.             <div id="copyright">
  43.           <h4><strong>&copy; 2007</strong>Toto</h4>
  44.     </div>
  45.   </div>
  46. </body>
  47. </html>

n°1581920
misterping​uin
Posté le 03-07-2007 à 15:10:21  profilanswer
 

ton bouton de submit n'a pas de propriété name
en meme temps si en cliquant dessus tu te retrouves bien sur update_news.php c'est pas ça  :(

n°1581922
misterping​uin
Posté le 03-07-2007 à 15:11:49  profilanswer
 

Code :
  1. <?PHPsession_start() ;require_once('../plugins/securite.php');require_once('../plugins/connexion.php'); print_r($_POST);


tu es sur que rien ne peut modifier les entetes dans tes appels de fonctions ?
 
essaie ça :

Code :
  1. <?PHP
  2. print_r($_POST);
  3. exit('fin debug');
  4. session_start() ;require_once('../plugins/securite.php');require_once('../plugins/connexion.php');


la tu seras sûr de ce que tu reçois ou non en post

n°1581928
funux
Posté le 03-07-2007 à 15:20:06  profilanswer
 

ca m'affiche : Array ( ) fin debug  
 
Meme chose en enlevant connexion et securite


Message édité par funux le 03-07-2007 à 15:20:45
mood
Publicité
Posté le 03-07-2007 à 15:20:06  profilanswer
 

n°1581931
cgo2
Dum spiro spero
Posté le 03-07-2007 à 15:23:12  profilanswer
 

funux a écrit :

- Avec un print_r($_POST) j'ai Array ( ) qui s'affiche.


 
essaye var_dump($_SERVER['REQUEST_METHOD']);
 

funux a écrit :

- Tiens c'est vrai j'avais pas vu le input hidden entre les div, vais le virer merci  :lol:


 
Dommage parceque ton code ne sera plus valide. Les input n'ont pas le droit de se balader tout seul, hidden ou pas.


---------------
When it's from Finland it's good.  - Mon blog
n°1581938
funux
Posté le 03-07-2007 à 15:32:21  profilanswer
 

cgo2 a écrit :

essaye var_dump($_SERVER['REQUEST_METHOD']);


 
Ca m'affiche :  
string(4) "POST"  
Notice: Undefined index: act in c:\program files\easyphp1-8\www\test\includes\update_news.php on line 37
 

cgo2 a écrit :


Dommage parceque ton code ne sera plus valide. Les input n'ont pas le droit de se balader tout seul, hidden ou pas.


 
euuh j'ai pas compris, mon form n'est plus bon sous cette forme ?

Code :
  1. <form method="POST" action="../includes/update_news.php" name="news">
  2.         <input type="hidden" name="id_outils" value="<? echo $_GET['id_outils']; ?>" />
  3.         <input type="hidden" name="act" value="ajout_news" />
  4.           <p><label for="name">Titre de la news:</label>
  5.           <input type="text" name="titre_news" id="name" size="50" /></p>
  6.           <p><label for="name">Date:</label>
  7.           <input name="date_news" value="<? echo date("d/m/Y" ); ?>" type="text" size="10" maxlength="10" id="date"></p>
  8.              <script type="text/javascript">
  9.                  Calendar.setup({
  10.                      ifFormat       :    "%d/%m/%Y",
  11.                      showsTime      :    false,
  12.                      inputField     :    "date",     // id of the input field
  13.                      step           :    1
  14.                  });
  15.              </script>
  16.           <p><label for="name">Contenu de la news:</label>
  17.           <textarea name="contenu" rows="20" cols="100"></textarea></p>
  18.           <p><input type="submit" value="ajouter"></p>
  19.         </form>

n°1581946
cgo2
Dum spiro spero
Posté le 03-07-2007 à 15:45:24  profilanswer
 

funux a écrit :

Ca m'affiche :  
string(4) "POST"  
Notice: Undefined index: act in c:\program files\easyphp1-8\www\test\includes\update_news.php on line 37


 
C'est IE 6 ?
 

funux a écrit :

euuh j'ai pas compris, mon form n'est plus bon sous cette forme ?


 
Non, en tous cas pas si tu veux respecter les standards (ce qui à l'air d'être le cas vu le reste du code). Une balise input doit être contenue dans un div ou un p.


---------------
When it's from Finland it's good.  - Mon blog
n°1581963
funux
Posté le 03-07-2007 à 15:54:21  profilanswer
 

IE7 mais je viens de test sur IE6 c'est pareil  
 
Merci pour l'info je ne savais pas

n°1581983
cgo2
Dum spiro spero
Posté le 03-07-2007 à 16:19:56  profilanswer
 

Est-ce que ton code fonctionne sous IE s'il est hebergé sur une autre machine (par exemple, si tu l'upload chez ton hebergeur) ?


---------------
When it's from Finland it's good.  - Mon blog

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable POST n'existe pas

 

Sujets relatifs
pb d'update : insertion d'une variable dans la requeteget ou post
actionscript, pb ciblage ou transmission de variable?pbl javascript comment nommer un chemin d'objet par une variable
[Résolu] - Variable inaccessible via autre fichierVariable Javascript -> PHP
[VBA] variable et heure absolue[RESOLU]-[HTML][JAVASCRIPT] guillemet variable
Variable PATHRécupération de variables POST... pas si simple...
Plus de sujets relatifs à : Variable POST n'existe pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR