Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2007, 12h09   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
Par défaut traiter un formulaire dans une même page

bonjour

je cherche à traiter un formulaire directement sur la même page et afficher les résultats sous ce même formulaire
mon fichier est nommé titre.php et la déclaration de mon formulaire ressemble à ça :
Code :
<form name="quel_titre" id="quel_titre" method="post" action="titre.php">
le traitement des données entrées ce fait plus bas en php, mais lorsque je clique sur envoyer le navigateur ouvre quand même une autre page...

comment faire pour rester sur la même page ?

merci !
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 12h42   #2
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 526
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 526
Points : 548
Points : 548
Au risque de dire une glomerie:
tu peux changer l'action de ton formulaire pour qu'il pointe sur ta page php >>
$_SERVER['PHP_SELF'] te renverra sur la même page.

Tu peux prévoir une architecture du type:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_post['valid_form'])) { ... traitement du formulaire
// definition des var affichée sur ton formulaire
$mavar1 = $_post['mavar1']; ....
}
// et dans ton formulaire
?>
<form name="form_fiche" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="hidden" name="valid_form" id="valid_form" value="temp">
<..... autre input dont celui pour mavar1 ; ?
</form>

bon dev'
__________________
"le rhume distillation - L’estomac est la cucurbite, le cerveau le chapiteau, & le nez le réfrigérant par lequel s’écoule goutte à goutte le produit de la distillation."
de Avicenne

Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Un problème? venez en découdre!
tigunn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 12h51   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
merci pour ta réponse ^^

je vais essayer avec ça...

[EDIT] :
tout marche bien merci beaucoup ^^
heu est-ce qu'il existe un moyen de garder affichées les données saisies dans le formulaire ? parce que là il est réinitialisé...
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 13h31   #4
Membre du Club
 
Étudiant
Inscription : février 2007
Messages : 97
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 97
Points : 63
Points : 63
Citation:
Envoyé par tigunn
Au risque de dire une glomerie:
tu peux changer l'action de ton formulaire pour qu'il pointe sur ta page php >>
$_SERVER['PHP_SELF'] te renverra sur la même page.

Tu peux prévoir une architecture du type:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_post['valid_form'])) { ... traitement du formulaire
// definition des var affichée sur ton formulaire
$mavar1 = $_post['mavar1']; ....
}
// et dans ton formulaire
?>
<form name="form_fiche" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="hidden" name="valid_form" id="valid_form" value="temp">
<..... autre input dont celui pour mavar1 ; ?
</form>

bon dev'

Je confirme, $_SERVER['PHP_SELF'] va "submiter" ton formulaire dans la même page.. Aprés tu as juste a tester si le $_POST['nom_bouton_submit'] existe et à faire le traitement de ton formulaire
musicann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 17h20   #5
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 526
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 526
Points : 548
Points : 548
Ce que tu peux faire pou reafficher tes données, c'est:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// juste apres le isset sur $_POST
// tu init un nb equivalent au variables de ton formulaire
$mavar1 = '';
if (isset($_post['valid_form'])) { ... traitement du formulaire
// definition des var affichée sur ton formulaire
$mavar1 = $_post['mavar1']; ....
}
// et dans ton formulaire
?>
<form name="form_fiche" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="hidden" name="valid_form" id="valid_form" value="temp">
<..... autre input dont celui pour mavar1 ; ?
<input value=<?php echo $mavar1 ?> /> 
</form>
__________________
"le rhume distillation - L’estomac est la cucurbite, le cerveau le chapiteau, & le nez le réfrigérant par lequel s’écoule goutte à goutte le produit de la distillation."
de Avicenne

Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Un problème? venez en découdre!
tigunn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h03.


 
 
 
 
Partenaires

Hébergement Web