Formulaire qui ne recharge pas la page

WRInaute occasionnel
Bonjour,
J'ai un petit problème technique, et je ne trouve pas la solution sur le net.
C'est à la page -http://www.linguistics4u.eu/coursfle.htm. J'ai mis un petit formulaire de contact rapide en bas de page, genre commentaires. Il passe en traitement par un formulaire envoi.php, que j'ai eu du mal à faire, vu que le php c'est pas mon truc. Maintenant le problème c'est que, si je veux mettre ce formulaire sur plusieurs pages, il va me falloir autant de formulaires de traitement, si je veux que le visiteur soit redirigé sur la même page après l'envoi du formulaire. Existe-t'il un moyen d'envoyer le formulaire mais sans que le visiteur soit dirigé vers ma page de traitement? Que le formulaire parte en gros sans provoquer de rechargement de ma page, pour que le visiteur reste où il est. D'autant que mon bouton dit "Merci" quand on clique dessus, donc pas la peine de faire un truc montrant que le formulaire est parti.
Merci, V.
 
WRInaute impliqué
a première vue
si tu mets un champ hidden dans ton formulaire
par exemple ceci
Code:
<input type="hidden" name="referer" value="<?=$_SERVER['HTTP_REFERER'];?>"/>
Lorsque tu soumets le formulaire, tu fais ton traitement dans envoi.php puis tu récupères le référer et tu rediriges directement sur la page référer.

Cela peut à priori fonctionner
 
WRInaute occasionnel
Salut,

Ce que tu peux faire:

- créer une iframe invisible dans laquelle s'exécute ton script PHP, comme ça tu ne quitte pas la page.
- ou à la fin de ton script tu mets la ligne:
header("location:".$_SERVER['HTTP_REFERER']); qui renverra à la page qui a appelé le script.
 
WRInaute occasionnel
narayana a dit:
a première vue
si tu mets un champ hidden dans ton formulaire
par exemple ceci
Code:
<input type="hidden" name="referer" value="<?=$_SERVER['HTTP_REFERER'];?>"/>
Lorsque tu soumets le formulaire, tu fais ton traitement dans envoi.php puis tu récupères le référer et tu rediriges directement sur la page référer.

Cela peut à priori fonctionner

là tu auras le referer de la page avant le formulaire...
 
WRInaute impliqué
si tu passes par un post
Code:
$referer = $_POST['referer'];
//ici ton traitement
...
//puis redirection
header("Location:".$referer);
exit();

si tu passes par un get
Code:
$referer = $_GET['referer'];
//ici ton traitement
...
//puis redirection
header("Location:".$referer);
exit();
 
WRInaute occasionnel
Désolé Biscuit, mais j'ai du mal à suivre. Pour l'instant j'ai mis la ligne Hidden dans mon formulaire, dans envoi. php j'ai juste ça pour la redirection:
<meta http-equiv="Refresh" content="5;URL=http://www.linguistics4u.eu/coursfle.htm">
Comment je peux faire pour prendre le referrer là dedans? Merci :)
 
WRInaute occasionnel
P'tite récapitulation, alors...

sur les pages de ton site tu as un formulaire qui envoi vers envoi.php, dans envoi.php tu as:

Code:
<?php

 // Récupération des variables
 $var = $_POST['var']
 ...

 // envoi du mail
 mail(...)

 // retour à la page précèdente
 header("location:" . $_SERVER['HTTP_REFERER']);
?>
 
WRInaute occasionnel
Vincent1975 a dit:
pas le temps de faire une lessive :lol:

mdr.gif
 
WRInaute impliqué
autre méthode tu post sur ta page courante quoi qu'il arrive avec un
Code:
action=""
dans toute tes pages ou tu as ton formulaire tu colle un include
avec un bout de code comme celui ci dedans
Code:
if( isset( $_POST) && isset($_POST['nom_du_champs']) ) ) {
// ce que tu veux faire
}

et ca roule... :)
 
WRInaute occasionnel
désolé pour la blague, je connais pas Ajax, enfin je connais le nom, et je connais des types qui l'on déjà utilisé, mais pas moi personnellement. En fait, je me demandais si je pouvais extraire donc la valeur "page d'origine", et la caser d'une façon ou d'une autre dans l'adresse de redirection. La première solution de biscuit me paraît pas mal, mais je ne vois pas comment l'appliquer. :(
 
WRInaute occasionnel
Ok, je crois que je commence à y voir plus clair. Je vais essayer. Merci beaucoup, je vas m'acheter un petit livre sur le php quand même. :)
V.
 
WRInaute occasionnel
envoies-moi ton script php par mp, et je regarderai...

PS: je ne me suis pas mis à l'AJAX encore (honte), mais tu m'as bien fait rire...

PS#2: le forum WRI est trop populaire 5 réponses en 10 minutes... de quoi s'embrouiller...
 
Haut