pseudo_frame (require) & formulaire: interact° des page?!?

pseudo_frame (require) & formulaire: interact° des page?!? - PHP - Programmation

Marsh Posté le 21-06-2005 à 18:14:40    

salut, :)  
 
:??:voici mon probleme:    
 
-->sur la meme  page je veux afficher 3 pages, pour cela j'utilise les pseudo frames:
 
        <table border="2" width="100%" height="100%">
          <tr>
        <td<?require("selection_plante.php" );?></td
            <td><?require("action_selection_plante.php" );?></td>    
          </tr>
        </table>
 
   * dans selection_plante.php:
 l'utilisateur selectionne grace à un formulaire un nom de la plante (nom_plante),
 lorsqu'il clique sur le bouton selectionner:  
  <INPUT  TYPE='submit'  NAME='envoipl1' value='tapez une plante'>
   je veux qu'il effectue l'action située dans action_selection_plante.php  
 
   * action_selection_plante.php débute par:
 <? if (!($_POST['envoipl1']=="" ))...
 
:??: voici la ou ça coince:  
 
   * que je mette ou pas dans <FORM ...> , action='action_selection_plante.php', il ne reconnait pas $_POST['envoipl1']dans action_selection_plante.php
   * DE plus si je met action='action_selection_plante.php', il me renvoit sur la page action='action_selection_plante.php'et ne l'insere pas!
 
merci d'avoir pris le temps de lire mon message, et si vous avez une petite idée se serait bien car ça fait 2 jours que je me prend la tete!  :cry:  
 
 a+
sofi  

Reply

Marsh Posté le 21-06-2005 à 18:14:40   

Reply

Marsh Posté le 21-06-2005 à 18:16:48    

C'est normal qu'il te renvoie sur l'autre page, c'est le principe d'envoi de formulaire. Tu clique, et pis hop, ça ouvre la page spécifiée en action.

Reply

Marsh Posté le 21-06-2005 à 18:51:04    

ouai, je sai! mai c'est la seule solution que j'ai trouvé ds lé bouquin... pour conserver les données du formulaire d'une page sur l'otre.
Or c'est la page suivante qui traite les données!

Reply

Marsh Posté le 21-06-2005 à 19:03:57    

snoff a écrit :

(...) * DE plus si je met action='action_selection_plante.php', il me renvoit sur la page action='action_selection_plante.php' et ne l'insere pas!


 
Comment pourrait-il en être autrement?!
 
Les pseudo-frames ne sont pas des frames. "selection_plante.php" et "action_selection_plante.php" ne sont pas des "pages" mais des fragments de code (si j'ai bien compris ta logique). La page "racine", celle qui interface le tout via les require me semble être la seule candidate suffisamment "omnisciente" pour être placée dans la balise ACTION du formulaire. C'est à elle de traiter et de dispatcher les données postées par l'utilisateur?

Reply

Marsh Posté le 21-06-2005 à 19:29:48    

ça donne quoi en français?!??

Reply

Marsh Posté le 21-06-2005 à 19:41:40    

oubli mon message précedent: on mettra ça sur le compte de la fatigue!
 
en effet, c'est pas béte! j'ai tenté, mais je n'ai pas de réponse car j'ai un probléme avec ma page qui ne s'affiche plus!?!???
mon ordi est de mauvais poil aujourd'hui! je verrai demain!
en attendant, merci pour le tuyau et bonne fête de la musique, si fête il y a!

Reply

Marsh Posté le 21-06-2005 à 20:10:33    

ça y est: ça remarche??!!?
 
la feuille qui contient  les require s'appelle suppr_mod_plante.php
 
j'ai mis mis dans mes <form>: action='suppr_mod_plante.php',
comme tu m'avais dit!
et ça marche!!!!!!!
 
ptt bemol, quand même! :
les actions s'effectuent bien, mais j'ai tjrs mes messages d'erreur :
 
Notice: Undefined index: envoipl1 in y:\images_mempro_lbreula_sbaron\mempro\page\action_selection_plante.php on line 26
!???!?
 
je comprend pas trop !!!
 
merci bcp, c'est quand même agréable de se débloquer!!!
 
a+ snoff

Reply

Marsh Posté le 22-06-2005 à 00:26:32    

Le message "Undefined index: envoipl1" indique que la clef "envoipl1" n'est pas présente dans le tableau consulté à la ligne 26 de "action_selection_plante.php".
 
Je pense que tu invoques $_POST['envoipl1'] sans avoir vérifié l'existence de cette clef dans le tableau $_POST. Par exemple, ladite clef n'existe pas au premier appel de "suppr_mod_plante.php", puisque le submit n'a pas encore été fait.
 
Il faut savoir que le test que tu fais dans "action_selection_plante.php", à savoir:
if (!($_POST['envoipl1']=="" ))...
provoquera quand même l'erreur "Undefined index: envoipl1".
 
Je n'ai pas en tête les détails, mais il me semble qu'un:
if (array_key_exists('envoipl1', $_POST))...
serait le test préalable à faire pour conjurer le message d'erreur.


Message édité par ACut le 22-06-2005 à 00:27:20
Reply

Marsh Posté le 22-06-2005 à 00:39:38    

En général, on fait :

$envoipl1 = isset($_POST['envoipl1']) ? $_POST['envoipl1'] : NULL;


Donc $envoipl1 va contenir $_POST['envoipl1'] si ok, et sinon,  ça va être NULL

Reply

Marsh Posté le 22-06-2005 à 10:11:53    

ça marche!!!!!!
et sans bémol en plus!
 
merci beaucoup pour votre aide précieuse.
 
bonne journée à vous
 
sofi

Reply

Sujets relatifs:

Leave a Replay

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