Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 17/02/2010, 13h19   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 40
Points : 11
Points : 11
Par défaut Mémorisation de la valeur d'un élément INPUT de type submit

Bonjour,

Je ne comprends pas pourquoi avec ces lignes ci-dessous, la variable $elmt_selected prend correctement la valeur 'Select' lorsque je clique sur le bouton INPUT de type submit MAIS reprend aussitôt la valeur nulle dés que je clique ensuite sur le menu affiché grâce à l'appui sur cet INPUT.

Code :
1
2
3
4
5
6
if($_POST['InputSublit']== 'Select')
{
  $elmt_selected=$_POST['InputSublit'];
}
...
echo '<input CLASS="BUTTONREQUEST" type=\'submit\' name=\'InputSublit\' value=\'Select\' >';
Est-ce qu'il faut plutôt que j'utilise un élément INPUT de type button ou encore un élément BUTTON ?
alter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 13h22   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Les variables en PHP ne sont pas "mémorisées", elles sont détruites à la fin de ton script.

Si tu veux conserver une variable à travers plusieurs pages (ou une meme page rafraichie) tu peux utiliser les sessions.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 13h37   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 40
Points : 11
Points : 11
Citation:
Envoyé par sabotage Voir le message
Les variables en PHP ne sont pas "mémorisées", elles sont détruites à la fin de ton script.

Si tu veux conserver une variable à travers plusieurs pages (ou une meme page rafraichie) tu peux utiliser les sessions.
Pourtant, lorsque je crée un menu déroulant et que je sélectionne un élément, j'arrive à garder la valeur de cet élément dans une variable comme ci-dessous. Est-ce grâce au selected qui fige la sélection ? Peux-tu détailler comment la valeur sélectionnée reste affectée à une variable dans ce cas, même si je clique après sur d'autres menus et/ou boutons ? Merci d'avance

Code :
1
2
3
4
5
6
7
8
9
10
if(isset($_POST['MENU1']))
{
  $category_opted=$_POST['MENU1'];
}
 
echo '<SELECT NAME="MENU1" ID="MENU1" SIZE=6 CLASS="LISTSCROLL" ONCHANGE="document.forms[\'FORMULAIRE\'].submit();">';
while($ligne_tab=mysql_fetch_row($result)){
    echo '<OPTION Value=\''.$ligne_tab[0].'\''.((isset($category_opted) && $category_opted == $ligne_tab[0])?" selected=\"selected\"":null).'>'.htmlentities($ligne_tab[1],ENT_QUOTES,"UTF-8").'</OPTION>';
}
echo '</SELECT><br />';
alter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 13h47   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ta variable n'est pas mémorisée, tu la renvoies a chaque fois par ton formulaire ; mais dés que tu passes à autre chose (par exemple un autre formulaire) tu la perds.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 13h59   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 40
Points : 11
Points : 11
Citation:
Envoyé par sabotage Voir le message
Ta variable n'est pas mémorisée, tu la renvoies a chaque fois par ton formulaire ; mais dés que tu passes à autre chose (par exemple un autre formulaire) tu la perds.
Je viens de lire une présentation sur les sessions en PHP et il est expliqué que "lorsque vous arrivez à un stade où votre site web nécessite de transmettre des informations importantes et confidentiels sur l'utilisateur d'une page à l’autre, alors c’est qu’il est temps de commencer à penser sur l'utilisation des sessions php.".
Mais mon cas est plus simple que celui-ci car ce que je veux, c'est avoir un formulaire qui évolue en fonction de mes choix à l'intérieur même de ce formulaire (en restant sur la même page web). C'est-à-dire par exemple que, dans ce formulaire, je veux qu'un nouveau menu s'affiche après avoir cliqué sur un bouton, qu'un choix dans ce nouveau menu m'amène à l'apparition d'un nouveau menu (toujours dans ce formulaire) etc.
Est-ce que tu es sûr que l'utilisation de session est la seule solution pour faire ce que je viens de détailler ?
alter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 14h09   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
C'est de toute façon la façon la plus simple.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 13h19.


 
 
 
 
Partenaires

Hébergement Web