Page 1 sur 1

probleme de variable avec la méthode get

Posté : 03 nov. 2013, 15:58
par guietfa
Bonjour
Je me prends la tete depuis un bon moment la dessus et en désespoir de cause, je me tourne vers vous!

Mon code est le code suivant :
<?php

$espece_affichee = 'Crapaud_commun';
if (isset($_GET['espece']))
	{
$espece_affichee = $_GET['espece'];		
	}
define('CONSTANTE_AFFICHE',$espece_affichee);
$dirname = '../../pages/identite'; 
$dir = opendir($dirname); 

$espece = array();
while($file = readdir($dir)) 
{  
$espece = pathinfo($file, PATHINFO_FILENAME);
		 echo '- <a href="essais_simplif.php?'.$espece.'"style="margin:5px 10px">'.$espece.'</a>'.'<br /><br />';
}

closedir($dir); 
echo "affichage de la valeur des variables : <br /><br />";
echo "variable espece_affichee=".$espece_affichee."<br /><br />";
echo "variable espece=".$espece."<br /><br />";

?>
Explication : je demande d'aller chercher la liste des fichiers présents dans un dossier.
A l'aide de cette liste, je mets en place une méthode "get".
Sur chaque nom de fichier qui apparaît (sur la page "mapage.php"), il y a un lien de type "mapage.php?'$espece_affichee'".
j'ai deux problèmes :
-lorsque je clique sur l'un des liens, je passe bien à la page "mapage.php?'$espece_affichee'" mais la variable $espece_affichee affichée sur la page ne change pas. Elle reste figée sur la valeur initiale de la variable.
- Mon second problème : la liste qui est générés automatiquement est bonne sauf les deux premiers éléments de la liste qui sont " - " puis à la ligne "-.". Comment faire disparaître ces deux valeurs qui viennent de je ne sais où?
Merci pour votre aide!

Re: probleme de variable avec la méthode get

Posté : 03 nov. 2013, 18:12
par sirakawa
un truc dans ce genre fonctionne chez moi:
<?PHP
$var = "/Downloads/Music";

$lien ="<a href = 'test.php?dir=$var'>Lien</a>";
print "$lien";
?>
suivi de :
<?PHP
print_r($_GET);
$t = $_GET;
$l = $t['dir'];
print "$l";

?>
Quand tu fais ton readdir, il faut tester toi-même ce qui est fichier, dossier, etc et éliminer .. entre autres...