Problème d'envoie de variables dans une url
Bonjour,
J'ai un formulaire avec 6 entrées, il faut remplir plusieurs conditions avant que ces informations ne soient enregistrées. Entre autre, que tous les champs marqués d'un astérix (*) soient complétés.
Si ce n'est pas le cas, le fichier send renvoie vers le formulaire avec dans l'url les informations déjà remplies pour que l'utilisateur n'ai pas à tout réécrire.
Dans certains cas, il ne redirige pas correctement vers le formulaire, mais vers la page "index.php?". J'ai beau cherché je ne trouve pas l'erreur.
Après de nombreux testes, je me suis rendu qu'il y a un problème que lorsqu'on rajoute des caractères spéciaux tels que "à", "ç", ... alors que j'ai déjà rajouté "htmlentities".
Voici le code qui redirige vers le formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| [...]
$compte = addslashes(htmlentities($_POST['compte']));
$adresse_1 = addslashes(htmlentities($_POST['adresse_1']));
$adresse_2 = addslashes(htmlentities($_POST['adresse_2']));
$adresse_3 = addslashes(htmlentities($_POST['adresse_3']));
$montant = addslashes(htmlentities($_POST['montant']));
$beneficiaire = addslashes(htmlentities($_POST['beneficiaire']));
$communication = addslashes(htmlentities($_POST['communication']));
$id_flux_financier = addslashes(htmlentities($_POST['id_flux_financier']));
//Si ces variables ne sont pas vide
if ($beneficiaire != NULL AND $montant != NULL AND $communication != NULL)
{
[...]
}
//Si on a pas remplit les champs marqués d'un astérix
else
{
$_SESSION['erreur'] = "Tous les champs marqués d'un astérix (*) n'ont pas été remplis ! Veuillez recommencer.";
?>
<meta http-equiv="refresh" content="0; url=index.php?page=membres/flux_financier/ajouter_flux_financier&compte=<?php echo $compte; ?>&adresse_1=<?php echo $adresse_1; ?>&adresse_2=<?php echo $adresse_2; ?>&adresse_3=<?php echo $adresse_3; ?>&montant=<?php echo $montant; ?>&beneficiaire=<?php echo $beneficiaire; ?>&communication=<?php echo $communication; ?>">
<?php
} |
D'avance merci pour vos réponses. :D
pense à mettre le tag résolu
Si j'ai bien compris, tu as trouvé la solution...
Donc tu peux mettre le tag [Résolu]
si tu cherches la rapidité...
Si tu hésites entre deux (bonnes) méthodes et que ton critère est la rapidité, tu peux profiler le code en benchmarquant au bon endroit.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
include "Benchmark/Timer.php"
$Bch = new Benchmark_Timer();
....
$Bch->start();
// la première façon de faire
$Bch->Stop();
echo "<pre>";
var_dump($Bch->getProfiling());
echo "</pre>"; |
J'utilise var_dump() plutôt que print_r() car print_r() n'affiche que les informations visibles de la variables alors que var_dump() affiche toutes les propriétés publiques, protégées et privées de la variable.