Problème de récupération de données GET

Sadnotrue
Invité n'ayant pas de compte PHPfrance

26 avr. 2010, 13:21

Bonjour à tous,

Je cherche a récupérer une information dans un formulaire dont les données sont envoyés en cliquant sur un lien
Ex : (Lien) Code Magasin | (Lien) Magasin) | Directeur | Adresse ...
Les données sont contenues en base. Au niveau de la récupération des infos via le numéro de magasin pas de problème mais pour le magasin, il ne me prend pas toute la zone et s'arrête au premier espace.

Voici les bouts de codes en question :
<Formulaire>
<FORM method="get" action="../Magasins/Fiche_Mag.php">
echo "
<tr>		
		<td><input type=\"hidden\" name=\"Code\" value=$Code><a href=../Magasins/Fiche_Mag.php?Code=$Code>$Code</a></input></td>
		<td><input type=\"hidden\" name=\"Magasin\" value=\"$Magasin\"><a href=../Magasins/Fiche_Mag.php?Magasin=$Magasin>$Magasin</a></input></td>...
<Feuille de traitement>
if ( !isset($_GET['Code']) ) { 
	$Code = ""; 
	}
else {
	$Code = $_GET['Code'];
	}

if ( !isset($_GET['Magasin']) ) { 
	$Magasin = ""; 
	}
else {
	$Magasin = $_GET['Magasin'];
	}

echo $Code.' && '.$Magasin;
Si le magasin est Aix en provence, il ne m'affichera que Aix #-o

Merci d'avance pour votre aide : )

ViPHP
AB
ViPHP | 5818 Messages

26 avr. 2010, 13:35

Utilises la méthode post plutôt que la méthode get pour l'envoi et la récupération de tes données
<form method="post" action="../Magasins/Fiche_Mag.php">
if ( !isset($_POST['Code']) ) {
   $Code = "";
   }
else {
   $Code = $_POST['Code'];
   }

if ( !isset($_POST['Magasin']) ) {
   $Magasin = "";
   }
else {
   $Magasin = $_POST['Magasin'];
   }

echo $Code.' && '.$Magasin;

Sadnotrue
Invité n'ayant pas de compte PHPfrance

26 avr. 2010, 13:47

Merci à vous deux pour vos réponses : )
Avec le $_POST ça fonctionne mieux effectivement mais pourquoi ? (histoire de pas mourir bête ?)

Sadnotrue
Invité n'ayant pas de compte PHPfrance

26 avr. 2010, 14:08

Ah, j'ai trouvé !! :idea:

Bon pour info, le $_POST fonctionnait sur la partie du formulaire mais pas le $_GET. :non:
Différence, le $_GET est spécifique pour les envoies de variable via des liens.

Maintenant j'ai juste omis ça pour que ça fonctionne :

Code : Tout sélectionner

<td><input type=hidden name=Code value=$Code><a href=../Magasins/Fiche_Mag.php?Code=$Code>$Code</a></input></td> <td><input type=hidden name=Magasin value=$Magasin><a href=\"../Magasins/Fiche_Mag.php?Magasin=$Magasin\">$Magasin</a></input></td>
Lors de l'envoie d'un chiffre ou d'un mot pas de soucis la première ligne suffit mais, lorsque l'on veut envoyer une chaîne de caractère, il faut utiliser la deuxième (rajoute \" dans le <a href=" \")

Et ça fonctionne =D>

Merci en tout cas :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 avr. 2010, 14:12

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
AB
ViPHP | 5818 Messages

26 avr. 2010, 14:58

Ah, j'ai trouvé !! :idea:

Bon pour info, le $_POST fonctionnait sur la partie du formulaire mais pas le $_GET. :non:
Différence, le $_GET est spécifique pour les envoies de variable via des liens.
La méthode POST est aussi plus sécurisée, par ailleurs elle permet l'envoi d'un gros volume de données etc. Donc on l'emploi systématiquement excepté dans certains cas particuliers.