Portée des variables PHP

Résolu/Fermé
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 25 août 2008 à 10:54
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 4 sept. 2008 à 15:53
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
A voir également:

16 réponses

arkos78 Messages postés 618 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 3 septembre 2009 48
25 août 2008 à 10:55
tu ve recuperer dans la mm page ou pas?
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 10:56
dans la même page oui.
0
C'est la liste que tu veux récupérer ou l'option choisie ?
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 10:58
c'est l'option choisi dans la liste..
0

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 ?
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 11:03
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>
0
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.
0
je te conseille pour palier se problème d'autovalidation de rajouter un cham hidden et de lui donné le nom envoi
0
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>
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 11:19
mon form selected est particulier ....... en faite il est dans du php ..
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 11:18
, 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="";
...
..
.
.
?>
0
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.
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 11:30
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
0
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>
";
...
...
..
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 11:42
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 :(
0
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
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 14:09
<< 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 :(
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 13:20
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
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
25 août 2008 à 16:11
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 :(
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
4 sept. 2008 à 15:53
les form etait mal fait et mon script d upload ne marchais plus, la sa va mieux .... SA MARCHE
0