Redirection automatique
Redirection automatique
Bonjour,
A l'aide d'un formulaire, j'ajoute ou modifie les données d'une base de données. Ces données sont envoyés à un script php pour les vérifier et les enregistrer (ajout ou modification) dans la base de données. A la suite des ces opérations, je désire rediriger :
- vers une page donnée après l'enregistrement en passant une variable à la page
- vers la page précédente si les données contiennent une erreur.
Je suis arrivé à faire une rédirection autmatique en mettant la commande <meta http-equiv="refresh" content="3; URL= entre les balises <head> et </head>.
Mais cela ne correspond pas à mes souhaits.
J'ai essayé en utilisant un script javascript, mais je ne suis pas arrivé à faire passer la variable au script.
Je suis ouvert à toute proposition (préférence en php, html).
Amicalement
Laurent
A l'aide d'un formulaire, j'ajoute ou modifie les données d'une base de données. Ces données sont envoyés à un script php pour les vérifier et les enregistrer (ajout ou modification) dans la base de données. A la suite des ces opérations, je désire rediriger :
- vers une page donnée après l'enregistrement en passant une variable à la page
- vers la page précédente si les données contiennent une erreur.
Je suis arrivé à faire une rédirection autmatique en mettant la commande <meta http-equiv="refresh" content="3; URL= entre les balises <head> et </head>.
Mais cela ne correspond pas à mes souhaits.
J'ai essayé en utilisant un script javascript, mais je ne suis pas arrivé à faire passer la variable au script.
Je suis ouvert à toute proposition (préférence en php, html).
Amicalement
Laurent
WindowsXP familial SP3
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
En php avec la fonction headers
Code : Tout sélectionner
headers ("Location: ...");
Euh, j'ai un peu de peine à comprendre... si tu traites le formulaire ça veut dire que tu sait de quelle page il vient, non ? Tu as plusieurs pages avec plusieurs formulaires qui pointent vers le même fichier php ? Dans ce cas tu peux simplement mettre un champ caché pour indiquer vers quelle page aller (n'oublie pas de reremplir les champs avec les données qui sont correctes
)

Je n'ai qu'un formulaire qui pointe vers un fichier php.
Mais je ne sais pas si je retrouve les données du formulaire, si je pointe sur la page du formulaire après être passé par le fichier php.
Le champs caché me permettrait d'envoyer une adresse au fichier php, pour lui dire de revenir à la page précédente ?
Amicalement
Laurent
Mais je ne sais pas si je retrouve les données du formulaire, si je pointe sur la page du formulaire après être passé par le fichier php.
Le champs caché me permettrait d'envoyer une adresse au fichier php, pour lui dire de revenir à la page précédente ?
Amicalement
Laurent
WindowsXP familial SP3
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Alors sur cette page tu peux (par exemple) faire un include() du formulaire. Pour remplir les champs corrects, utilise php pour remplir les "value" des input et autresLolo3194 a écrit :Je n'ai qu'un formulaire qui pointe vers un fichier php.
Mais je ne sais pas si je retrouve les données du formulaire, si je pointe sur la page du formulaire après être passé par le fichier php.

Peux-tu développer l'histoire du include() ?calimo a écrit :Alors sur cette page tu peux (par exemple) faire un include() du formulaire. Pour remplir les champs corrects, utilise php pour remplir les "value" des input et autres
Amicalement
Laurent
WindowsXP familial SP3
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Aucun problème Calimo. Il n'y a aucune contrainte de temps.
Je ne sais pas grand chose, car je débute. Je possède quelques notions de C, donc je pense savoir à quoi correspond un include.
Après, je suis preneur de tes explications.
Pour l'instant, j'utilise du Java script, même si je suis réticent à cette solution, je dois dire qu'elle me convient un peu. Car elle me permet de retrouver mon formulaire avec ses champs rempli et d'afficher un message d'erreur pour signaler où je me suis planté.
Le seul problème c'est que j'oublie d'activer le java script 9/10.
Amicalement
Laurent
Je ne sais pas grand chose, car je débute. Je possède quelques notions de C, donc je pense savoir à quoi correspond un include.
Après, je suis preneur de tes explications.
Pour l'instant, j'utilise du Java script, même si je suis réticent à cette solution, je dois dire qu'elle me convient un peu. Car elle me permet de retrouver mon formulaire avec ses champs rempli et d'afficher un message d'erreur pour signaler où je me suis planté.
Le seul problème c'est que j'oublie d'activer le java script 9/10.
Amicalement
Laurent
WindowsXP familial SP3
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Thunderbird 3.0 & Firefox 3.5.5
Avast-4.8
Bon, tu as, admettons, une page formulaire.php contenant le formulaire sur laquelle tu arrive. Tu la remplis. Tu la postes sur, mettons, envoi.php.
Sur cette page "envoi" tu fais l'analyse. Je pense que c'est OK. Là tu peux mettre une condition sur cette page envoieEt ensuite dans le formulaire.php (qui est maintenant inclus dans envoi.php) tu peux remplir les variables, vu qu'elles sont dans la même page. Sinon tu peux également tout simplement répéter le formulaire dans la page en incluant les données correctes 
Sur cette page "envoi" tu fais l'analyse. Je pense que c'est OK. Là tu peux mettre une condition sur cette page envoie
Code : Tout sélectionner
<?php
if !($verif1) $ok==false;
elseif ($verif2) $ok==false;
...
if($ok) {
inscrire_donnees_dans_b_d();
headers ("Location : reussi.php");
}
else {
include (formulaire.php)
}

Euh...
$ok=false; plutôt que $ok==false;
Sinon tu vas avoir des petites surprises...
$ok=false; plutôt que $ok==false;

Sinon tu vas avoir des petites surprises...
Voir ma configuration
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités