Portée des variables PHP
Résolu
-CCM-
Messages postés
930
Date d'inscription
Statut
Membre
Dernière intervention
-
-CCM- Messages postés 930 Date d'inscription Statut Membre Dernière intervention -
-CCM- Messages postés 930 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux récupérer les valeurs de mes liste deroulante, j'ai lu des tutaux concernant la visibilité des variables...
mais j'ai un code source de cette sorte
<html>
..
<?php code php ... ?>
..
..
..
<?php ICI IL Y A MES CHAMPS
echo "
<form action='toto.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
";
....
..
if (isset($_POST['listeA']))
{
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire =...............
/********* Je récupere bien la valeur de mes champs ici ************/
?>
..
html
html
html
..
<?php ICI JE VEUT RECUPERER LA VALEUR DES CHAMPS
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// récuperer la date de publication
if(isset($_POST['listeA']))
$listeA=$_POST['listeA'];
/************* impossible de récupérer la valeur du champs ***********/
?>
..
html
html
html
..
.
</html>
pouvez vous m'indiquer comment réaliser la récuperation de variables ??
je me suis aider de ce tutaux mais en vain ..
http://www.datafreedom.fr/php/language.variables.scope.html
je veux récupérer les valeurs de mes liste deroulante, j'ai lu des tutaux concernant la visibilité des variables...
mais j'ai un code source de cette sorte
<html>
..
<?php code php ... ?>
..
..
..
<?php ICI IL Y A MES CHAMPS
echo "
<form action='toto.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
";
....
..
if (isset($_POST['listeA']))
{
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire =...............
/********* Je récupere bien la valeur de mes champs ici ************/
?>
..
html
html
html
..
<?php ICI JE VEUT RECUPERER LA VALEUR DES CHAMPS
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// récuperer la date de publication
if(isset($_POST['listeA']))
$listeA=$_POST['listeA'];
/************* impossible de récupérer la valeur du champs ***********/
?>
..
html
html
html
..
.
</html>
pouvez vous m'indiquer comment réaliser la récuperation de variables ??
je me suis aider de ce tutaux mais en vain ..
http://www.datafreedom.fr/php/language.variables.scope.html
16 réponses
-
-
dans la même page oui.
-
-
c'est l'option choisi dans la liste..
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu as essayé d'abord de voir si ça marche avec une validation classique de type bouton submit ?
-
je récupere bien mes valeurs avec mon premier
// récuperer le type
if(isset($_POST['listeA']))
$type=$_POST['listeA'];
else $type="";
il n'y a pas de souci ...j'ai fait des test avec un popup..
c'est dans la deuxieme portion de code php que je doit récuperer mes valeurs ... et un code <HTML sépare ces deux code php>
-
-
il faudrait que tu me dises d'où sort ton $_POST['envoi'] : s'il n'est définit nullepart étant donné la validation par javascript, la suite des commande contenue dans ton if ne seront pas executées.
-
je te conseille pour palier se problème d'autovalidation de rajouter un cham hidden et de lui donné le nom envoi
-
un ex : <form action='toto.php' method='POST'>
<select name='listeA' onchange='submit()'>
<option selected>rtet</option>
<option >aaaa</option>
</select>
<input type='hidden' name='envoi' value='ok />
</form> -
, la suite des commande contenue dans ton if ne seront pas executées
non je récupere bien mes variables
il faudrait que tu me dises d'où sort ton $_POST['envoi'] : s'il n'est définit nullepart
il est dans la deuxième portion de code php ...
en gros j'ai :
<!-- bloc "contenu" -->
<div id="contenu_admin">
<!-- titre-->
<p align="center"><span class="titre_cat">.:: Ajouter un fichier ::.</span></p>
<span class="libel">
Type :
<?php
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "../";
echo "
<form action='index2.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
";
...
...
..
.
function recupe()
{
// récuperer le type
if(isset($_POST['listeA']))
$type=$_POST['listeA'];
else $type="";
?>
<br/>
<br/>
<label for="new_rep">Ou nouveau dossier :</label><br />
<input type="text" name="new_rep" value= "" size="20"/>
<br/>
<br/>
<php?
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// récuperer la date de publication
if(isset($_POST['listeA']))
$p=$_POST['listeA'];
else $p="";
...
..
.
.
?> -
Oui mais if (isset($_POST['envoi'])) ne signifie pas "si le formulaire est envoyé" mais "si la variable "envoi" existe.
Pour qu'elle existe, il faut qu'elle soit crée, soit en donnant la nom à un bouton, mais ça ne va pas parceque tu veux valider le scrip lorsque le select est modifié, alors il ne te reste plus qu'à rajouter un champ hidden ou remplacer $_POST['envoi'] par $_POST['listeA'] ce qui dans ton cas devrait revenir au même.-
if (isset($_POST['envoi'])) ne signifie pas "si le formulaire est envoyé" mais "si la variable "envoi" existe.
Autant pour moi ....
<input type="submit" name="envoi" value="Envoyer"><br></span>
$_POST['envoi'] par $_POST['listeA'] ce qui dans ton cas devrait revenir au même.
en faite j'ai plein de champs je n'ai pas uniquement listeA.
listeA est mon premier champs, et la validation doit se faire quand tout mes champs seront remplit
-
-
pour reprendre ton exemple :
<?php
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "../";
echo "
<form action='index2.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
</select>
<intput type='hidden' name='envoi'>
</form>
";
...
...
.. -
j'ai essayer la methode avec les champs masqué (ici en texte pour l'affichage )
echo " </select> <input type='text' name='listeAbis' value='".$_POST['listeA']."'> </form> "; echo " <form action='index2.php' method='POST'> "; if (isset($_POST['listeB'])) { echo " </select> <input type='text' name='listeBbis' value='".$_POST['listeB']."'> </form> "; } } // récuperer le type if(isset($_POST['listeAbis'])) $type=$_POST['listeAbis']; else $type=""; // récuperer le dossier if(isset($_POST['listeBbis'])) $doss=$_POST['listeBbis']; else $doss=""; /******DEBUG *////// echo "<script>alert('ALERT PHP SCRIPT 1 : _____type=$type ____ Dossier= $doss.');</script>"; ?>
la mon champs 2 ne s'affiche même plus :( -
Je suis désolé mais il m'est difficile de vérifier qu'il n'y a pas une erreur grammaticale parce qu'il manque une trop grande partie du script.
Le principe :
donner a la balise form la methode POST.
Donner un nom a tout les champs dont on veut récupérer des valeurs.
En php, ne parler coder que sur des valeurs envoyées avec certitude
sinon envoie moi ton code en mail et je le regarde. bye-
<< donner a la balise form la methode POST >>
--> echo "<form action='index2.php' method='POST'>";
<< Donner un nom a tout les champs dont on veut récupérer des valeurs. >>
echo "<input type='text' name='A' value='".$_POST['listeA']."'>"; //nom :A
echo "<input type='text' name='B' value='".$_POST['listeB']."'>"; // nom B
$type=$_POST['A']; // récuperer le type
$doss=$_POST['B']; // récuperer le dossier
<< En php, ne parler coder que sur des valeurs envoyées avec certitude >>
echo "<script>alert('ALERT PHP SCRIPT 1 : _____type=$type ____ Dossier= $doss.');</script>";
echo"</form>";
sa ne marche toujours pas :(
-
-
re-
ouaip je comprend que c'est dur a suivre sans tout le code ....
Pour ce que tu m'a dit..
c'est exactement ce que j'ai fait..
je voudrais bien t'nvoyer le code mais je n'ai pas ton mail et tu n'est pas connecté :s -
bon je récupere bien mes valeur avec la modification de toutes mes balises form ....
mais j'avais un script d'upload dans mes <php? ?> il ne marche plus :( -
les form etait mal fait et mon script d upload ne marchais plus, la sa va mieux .... SA MARCHE