Champ select d'un formulaire

Invité
Invité n'ayant pas de compte PHPfrance

12 févr. 2006, 01:24

Voila, j'ai un probleme embetant sur lequel je me casse la tête depuis un moment.

Deux scripts, un pour le formulaire, l'autre pour le "traitement". J'ai réduit l'ensemble au strict minimum pour faciliter la compréhension.

Dans le formulaire, une liste déroulante avec un texte contenant une apostrophe ou un guillemet dedans. Le script de traitement (une fois le formulaire validé) est juste censé afficher ce qu'il y avait dans la liste déroulante, mais il n'arrive pas à récupérer l'intégralité du texte en question, malgré des essais avec addslashes au préalable etc...
Une idée ?

Le formulaire :
<?
$nom_categorie="l'irlande";

echo "<form action='act_user2.php' method='post'>";
	echo "<select name='categorie'>";
		echo "<option value='$nom_categorie'>$nom_categorie</option>"; 
	echo "</select>";
	echo "<input type='submit' value='ok'>";
echo "</form>";
?>
Le traitement :
<?
if(isset($_POST['categorie'])){
	$categorie=$_POST['categorie'];
	echo $categorie;
} 

?>

Invité
Invité n'ayant pas de compte PHPfrance

12 févr. 2006, 01:33

J'ai trouvé mon erreur, c'est à cause des simples quotes...

Mammouth du PHP | 684 Messages

12 févr. 2006, 02:51

Salut.

C'est super d'avoir trouver par toi meme ton erreur. Si a chaque fois se pouvait etre pareil :D on ne ferait plus rien sur ce merveilleux forum :D

Petites astuces :
- Mettre "resolu" dans son poste une fois qu'une solution est trouvee.
<?php
$nom_categorie="l'irlande";
echo "<form action='act_user2.php' method='post'>
             <select name='categorie'>
                 <option value='$nom_categorie'>$nom_categorie</option>
             </select>
             <input type='submit' value='ok'>
         </form>";
?>
C'est plus pratique comme cela. Ca t'evitera de mettre des echos partout.
Zigz4g

Mammouth du PHP | 19672 Messages

12 févr. 2006, 10:46

Il y aurait encore plus propre que ça :
<?php
$nom_categorie="l'irlande";
?>
<form action="act_user2.php" method="post">
  <select name="categorie">
    <option value="<?php echo($nom_categorie); ?>"><?php echo($nom_categorie); ?></option>
  </select>
  <input type="submit" value="ok">
</form>
Et le problème pour mettre un sujet [Résolu], c'est qu'il faut avoir posté en étant identifié, ce qui signifie qu'on s'est inscrit au préalable. Je vais le marquer Résolu moi-même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: