[PHP] Formulaire qui se reremplit si erreur

Formulaire qui se reremplit si erreur [PHP] - PHP - Programmation

Marsh Posté le 10-12-2005 à 09:18:05    

Bonjour à tous !
 
Voilà la situation. J'ai une page dans laquelle j'ai un formulaire.
A l'envoi de ce formulaire, j'ai une page php qui vérifie que tout va bien, et qui soit enregistre dans une BDD, soit prépare un lien "Retour", qui servira a reremplir le champ du formulaire.
 
Pour cela, j'utilise la méthode GET.
 
Dans la page de verification, je passe tout en paramètre avec un :
<?php echo '<a href="index.php?sexe='.$_POST['sexe'].'&age=.'$_POST['age'] etc...
 
Et dans le formulaire j'ai :
 
value="<?php if (!empty($_GET['sexe'])) echo $_GET['sexe']; ?>" et pareil pour les autres.
 
Ca marche bien, SAUF si j'ai des ' ou des " dans le champ du départ.
J'ai bien essayé de mettre des htmlentities et des addslashes partout, mais je m'en sors pas.
Ya t-il une méthode simple pour s'en sortir ?
 
Merci.


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 10-12-2005 à 09:18:05   

Reply

Marsh Posté le 10-12-2005 à 10:38:45    

Pourquoi un lien de retour ?
 
Réaffiche plutôt directement le formulaire sur la même "page logique" que ta vérification, ça t'évite d'utiliser GET.
 
(Je dis "page logique" car si tu peux séparer le traitement de l'affichage au niveau de tes fichiers, c'est mieux.)


Message édité par sielfried le 10-12-2005 à 10:39:27

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 10-12-2005 à 11:03:44    

Ca c'est déja ce que je fais, mais la page est déjà très longue, celle du traitement aussi, c'est pourquoi je voulai les séparer.
 
Mais c'est vrai que ta solution est meilleure !)


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 10-12-2005 à 17:38:59    

pour ton problème de ' et ", tu pourrais faire  
 

Code :
  1. $string = str_replace(array("'", '"'),array('&apos;','&quot;'),$string);

Reply

Marsh Posté le 11-12-2005 à 11:00:05    

Ben justement, ce n'est pa sla fonction de htmlentities() ?


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 11-12-2005 à 11:01:27    

Je me réponds à moi même :
 
 Comme htmlspecialchars(), cette fonction prend un deuxième argument optionnel, qui indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes la valeur par défaut étant ENT_COMPAT :
 
Tableau 1. Constantes disponibles pour quote_style
Nom Description
ENT_COMPAT Convertit les guillemets doubles, et ignore les guillemets simples
ENT_QUOTES Convertit les guillemets doubles et les guillemets simples
ENT_NOQUOTES Ignore les guillemets doubles et les guillemets simples
 
Le support du paramètre optionnel quote a été ajouté en PHP 4.0.3.


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed