mes valeurs renvoyer par 1 formulaire sont vide !!!!!

mes valeurs renvoyer par 1 formulaire sont vide !!!!! - PHP - Programmation

Marsh Posté le 27-01-2003 à 18:22:03    

voici une partie du fichier admin_menu.php
include ("ma_config.php" ); =>regroupe les login et pass de la base de données MySQL  
ce fichier liste bien toutes mes données qui se trouve dans la table menu avec les champs nom et lien
dans le formulaire avec les <input type='txt' value='$menu->nom'>
mais des qu'il sagit d'envoyer les donner vers action='menu_maj.php' cela ne marche pas  
 
$_POST['nom']; ou $nom; est vide dans le fichier menu_maj.php  
je pensais retrouver au moins la derniere valeur de ma table  menu (echo "le dernier nom est : $nom";) ms c vide ...
 

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. function menus ($nom)
  6. {
  7. $req1 = mysql_query("SELECT nom, lien FROM menu" ) ;
  8. $i=0;
  9. echo "<form method='GET' action='menu_maj.php'>";
  10. while ($menu = mysql_fetch_object($req1))
  11. {
  12.  $i=$i+1;
  13.  echo "\n
  14.    <tr>
  15.    <td>
  16.     <input type='text' value='$menu->nom' name='$nom'>
  17.    </td>
  18.    <td>
  19.     <input type='text' value='$menu->lien' name='$lien'>
  20.    </td>
  21.   </tr>
  22.  ";
  23. echo "pour verifier le nom est =$nom";
  24. }
  25. echo "<input type='submit' value='MAJ'>";
  26. echo "</form>";
  27. }
  28. ?>


 
 
fichier sur lequel je veux afficher les valeurs renvoyer par le formulaire  
fichier menu_maj.php
 

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4.    mysql_selectdb($database) or die($diemessage);
  5. $req1 = mysql_query("SELECT * FROM menu" ) ;
  6. echo "le dernier nom est : $nom";
  7. $i=0;
  8. while ($menu = mysql_fetch_object($req1))
  9. {
  10.  $i=$i+1;
  11.  echo "le nom est : $nom";
  12.  //mysql_query("UPDATE menu SET nom=$_POST['nom[i]'], lien=$_POST['lien[i]'] FROM menu" ) ;  
  13. }
  14. ?>

Reply

Marsh Posté le 27-01-2003 à 18:22:03   

Reply

Marsh Posté le 27-01-2003 à 18:52:52    

weed a écrit :


 
$_POST['nom']; ou $nom; est vide dans le fichier menu_maj.php  
je pensais retrouver au moins la derniere valeur de ma table  menu (echo "le dernier nom est : $nom";) ms c vide ...


 
T'essaierais pas $_GET['nom'] ? (vu que tu fais un GET dans ton formulaire)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-01-2003 à 20:23:27    

oui en effet antp il vaut mieux faire un $_GET['nom'] mais j'ai vite abandonné cette syntaxe malgré le conseil de certains sites ds les tutaux ..
 
je viens de faire un test pour isoler le problème en supprimant certain truc :
 
 

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. [cpp]
  6. function menus ()
  7. $req1 = mysql_query("SELECT nom, lien FROM menu" ) ;
  8. $i=0;
  9. echo "<form method='GET' action='menu_maj.php'>";
  10. echo "<input type='submit' value='MAJ'>";
  11. echo "<input type='hidden' value='toto' name='test'>
  12. echo "</form>";
  13. }
  14. menus ();
  15. ?>

 
 
 
l'autre fichier menu_maj.php  

Code :
  1. <?php
  2. echo "valeur de test est : $test";
  3. }
  4. ?>


 
$test prend bien la valeur toto

Reply

Marsh Posté le 27-01-2003 à 20:28:17    

la syntaxe est bien coorecte pour les varaible de retour puisque je vois afficher "toto"
 
 
je pense que cela est plus du au while au parcours de toutes les lignes ..

Code :
  1. while ($menu = mysql_fetch_object($req1))
  2. {
  3. $i=$i+1;
  4. echo "\n
  5.    <tr>
  6.    <td>
  7.     <input type='text' value='$menu->nom' name='$nom'>
  8.    </td>
  9.  
  10.    <td>
  11.     <input type='text' value='$menu->lien' name='$lien'>
  12.    </td>
  13.   </tr>
  14.  
  15. ";


 
j'avais simplifier avec $nom au lieu de tableau  
j'ai l'impression que <input type='text' value='$menu->nom' name='$nom'> ne peut etre recupéré ds la boucle à partir de $nom

Reply

Marsh Posté le 28-01-2003 à 09:52:56    

:cry: Je fais de la pub pour le error_reporting(E_ALL); et personne ne s'en sert. Pourtant lui il te le dirais ce que c'est ton pb !

Reply

Marsh Posté le 28-01-2003 à 11:15:40    

Dost67 a écrit :

:cry: Je fais de la pub pour le error_reporting(E_ALL); et personne ne s'en sert. Pourtant lui il te le dirais ce que c'est ton pb !


 
je ne comprends pas Dost
Ou veut tu en venir ????

Reply

Marsh Posté le 28-01-2003 à 11:40:58    

en fait j'arrive bien a recuperer pour des variables d'un formulaires statiques mais pour un statique je n'y arrive pas  
 
je sais renvoyer des valeurs avec un formulaires statiques  

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. function menus ($nom)
  6. {
  7. $req1 = mysql_query("SELECT nom, lien FROM menu" ) ;
  8. $i=0;
  9. echo "<form method='GET' action='menu_maj.php'>";
  10. while ($menu = mysql_fetch_object($req1))
  11. {
  12. $i=$i+1;
  13. echo "\n
  14. <input type='text' value='$menu->nom' name='$nom'>
  15. ";
  16. }
  17. echo "<input type='hidden' name='titi' value='rox'>";
  18. echo "<input type='submit' value='MAJ'>";
  19. echo "</form>";
  20. }
  21. ?>


 
ce fichier admin_menu.php renvoie bien titi qui prend bien la valeur rox ds le fichier ci dessous : 'menu_maj.php'
 

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. $req1 = mysql_query("SELECT * FROM menu" ) ;
  6. echo "le dernier nom est : $nom";
  7. echo "titi = $titi";
  8. $i=0;
  9. while ($menu = mysql_fetch_object($req1))
  10. {
  11. $i=$i+1;
  12. echo "le nom est : $nom";
  13. //mysql_query("UPDATE menu SET nom=$_POST['nom[i]'], lien=$_POST['lien[i]'] FROM menu" ) ;  
  14. }
  15. ?>


Message édité par weed le 28-01-2003 à 11:43:32
Reply

Marsh Posté le 28-01-2003 à 14:21:51    

Code :
  1. function menus ($nom)
  2.   { 
  3.      $req1 = mysql_query("SELECT nom, lien FROM menu" ) ;
  4.      $i=0;
  5.      echo "<form method='GET' action='menu_maj.php'>";
  6.      while ($menu = mysql_fetch_object($req1))
  7.      {
  8.         $i=$i+1;
  9.         echo "\n
  10.           <tr>
  11.           <td>
  12.            <input type='text' value='$menu->nom' name='$nom'>
  13.           </td>
  14.          
  15.           <td>
  16.            <input type='text' value='$menu->lien' name='$lien'>
  17.           </td>
  18.          </tr>
  19.        
  20.         ";
  21.        echo "pour verifier le nom est =$nom";
  22.      }
  23.      echo "<input type='submit' value='MAJ'>";
  24.      echo "</form>";
  25.   }


 
quel parametre utilises tu pr appeler menus()
parce  
<input type='text' value='$menu->nom' name='$nom'
je vois bien dou vient le $nom
mais
<input type='text' value='$menu->lien' name='$lien'
$lien dou il sort ???

Reply

Marsh Posté le 28-01-2003 à 15:03:17    

voici la structure de ma base de donnée
 
# Base de données: `thalie`
# --------------------------------------------------------
# Structure de la table `menu`
#
 
CREATE TABLE menu (
  id tinyint(2) NOT NULL auto_increment,
  nom varchar(10) NOT NULL default '',
  lien varchar(30) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
 
j'ai donnée le nom $lien et $nom qui ont un nom similaire a au nom de mes champs de ma table ......
 
tu me dis que tu comprends pour $nom faut il le mettre dans les parametre d'une fonction,  
je pensais envoyer les variables $nom et $lien (qui aurait pris les valeurs value='$menu->nom' et value='$menu->lien';)  directement vers le fichiers php 'menu_maj.php' sans resortir de la fonction menu ....
 
et donc pour il etait inutile en fait de passer les variables $nom et $lien par parametre ds la fonction menu

Reply

Marsh Posté le 28-01-2003 à 15:07:31    

jai rien mais alors rien compris ... de ce fait je te conseille
 
<input type='text' value='$menu->lien' name='lien'>  
qui doit mieux correspondre a ce que tu veux faire
dans 'menu_maj.php' tu trouvera la valeur transmise dans $_POST["lien"] ou GET selon ce que tu utilises (si c GET tu vois dans lURL les variables transmises donc ca serait fort que tu narrives pas a les lire)
 
 
         

Reply

Marsh Posté le 28-01-2003 à 15:07:31   

Reply

Marsh Posté le 28-01-2003 à 15:11:03    

en fait je viens de supprimer la fonction menu pour isoler le pb  
 
 
admin_menu.php

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. $req1 = mysql_query("SELECT nom, lien FROM menu" ) ;
  6. $i=0;
  7. echo "<form method='POST' action='menu_maj.php'>";
  8. while ($menu = mysql_fetch_object($req1))
  9. {
  10.  $i=$i+1;
  11.  echo "\n
  12.    <tr bgcolor='red' valign='middle'>
  13.    <td height='$height' align='left' width='100%'>
  14.     nom <input type='text' value='$menu->nom' name='$nom'>
  15.    </td>
  16.    <td>
  17.     lien <input type='text' value='$menu->lien' name='$lien'>
  18.    </td>
  19.   </tr>
  20.  ";
  21. //echo "pour verifier le nom est =$nom";
  22. }
  23. echo "<input type='hidden' name='titi' value='rox'>";
  24. echo "<input type='submit' value='MAJ'>";
  25. echo "</form>";
  26. ?>


 
qui envois toujours à menu_maj.php
 

Code :
  1. <?php
  2. include ("ma_config.php" ) ;
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4.    mysql_selectdb($database) or die($diemessage);
  5. $req1 = mysql_query("SELECT * FROM menu" ) ;
  6. echo "le dernier nom est : $nom";
  7. echo "titi = $titi";
  8. $i=0;
  9. while ($menu = mysql_fetch_object($req1))
  10. {
  11.  $i=$i+1;
  12.  echo "le nom est : $nom";
  13.  //mysql_query("UPDATE menu SET nom=$_POST['nom[i]'], lien=$_POST['lien[i]'] FROM menu" ) ;  
  14. }
  15. ?>


 
et ce la afiche bien :
le dernier nom est : titi = roxle nom est : le nom est :  
 
$nom est toujours vide -> le nom est :
 
Donc ce n'etait un probleme de fonction malheuresement

Reply

Marsh Posté le 28-01-2003 à 15:14:48    

cest pas name='$nom' mais name='nom'   :fou:

Reply

Marsh Posté le 28-01-2003 à 15:21:06    

$nom $lien sont des variables ... si tu les utilises, faut mettre quelque chose dedans avant. Dans ton code $lien est pas déclaré, pas initialisé .. bref = à "" ...
 
 
pareil si tu declare une fonction menus(param1), il faut que ton parametre param1 ait une quelconque utilité

Reply

Marsh Posté le 28-01-2003 à 17:10:27    

beleg je ne sais pas comment t'aider
ms franchement je ne sais pas non plus comment te remercier  
thanks
 
merci comme tout  
name='nom[$i]' avec $i=$i+1
 
et puis la meme chose menu_maj.php $nom[$i] pour recuperer toutes les valeurs  
yooooooooooooo

Reply

Marsh Posté le 28-01-2003 à 17:59:28    

un boulot sympa en cdi a 30 minutes de chez moi, 30 k?, ca ira tres bien  :whistle:

Reply

Marsh Posté le 28-01-2003 à 18:41:28    

Je disais tu changes dans ton php.ini :

Code :
  1. error_reporting=E_ALL & ~E_NOTICE;
  2. en
  3. error_reporting=E_ALL;


Et là t'auras une erreur si y'a des variables qui sortent de nul part.

Reply

Marsh Posté le 29-01-2003 à 20:01:32    

beleg ->tu as l'air d'etre de Paris  
si tu es du 15è peut etre ........
 
Dost ->arf il faut absolument que je fasse alors  
php.ini il se trouve ou par hasard ;) ds ds le rep de easyphp je pense ....
 
 

Reply

Marsh Posté le 29-01-2003 à 20:22:55    

php.ini dans le rep de windows ...
 
sud paris 13 - porte ivry  

Reply

Marsh Posté le 30-01-2003 à 12:50:32    

arf j'ai vu ton cv/lettre de motivation  
 
j'en parlerais à ma boite  
 
tu devellope ds kel language ???
ds quel language aimerais tu dvper ???

Reply

Sujets relatifs:

Leave a Replay

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