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 12/12/2006, 21h27   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Par défaut Ouverture d'une page aprés validation d'un formulaire

Bonsoir tout le monde,

Voici mon petit problème. J'ai un formulaire dans lequel j'effectue un certain nombre d'action. Lorsque je clic sur validé, je souhaite qu'il m'exécute tout mes requête, puis qu'il me ferme le formulaire, pour m'afficher une autre page web. Ces cette dernière partie que je n'arrive pas à faire.

Donc comment je peu faire pour fermer une page et en ré ouvrir une autre ?

D'avance merci.

Ludo
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 22h25   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,
tu peux utiliser la fonction header :http://de3.php.net/manual/fr/function.header.php
tu places ce code quand toutes tes requêtes sont terminées.
Code :
header("Location: http://tapage.php");
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 22h53   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
J'y ai bien pensé, mais il me met ce message d'erreur

Citation:
Warning: Cannot modify header information - headers already sent by (output started at c:\**\page.php:9)
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h10   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par civodultrebor37
J'y ai bien pensé, mais il me met ce message d'erreur
tu trouveras comment corriger cette erreur dans la FAQ là :
http://php.developpez.com/faq/?page=...s_already_sent
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 14h27   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Citation:
Voici une liste (non exhaustive) de ce qui cause l'envoi des en-têtes :

* un "echo"
* un affichage hors PHP (c'est à dire de l'HTML en dehors du code)
* un ou plusieurs retours chariots avant la balise "<?php"
* une fonction qui rencontre une erreur et affiche un message (par exemple l'utilisation de la fonction "mysql_connect" avec de mauvais paramètres)

Tout ceci ne doit pas être fait avant l'utilisation de fonctions qui modifient les en-têtes comme "header" ou "session_start" entre autres.
Mais alors cela ne sert à rien. Car pour ma part je veux faire ma redirection une fois mes requête exécuter. Donc il y a du code avant. Dans ce cas comment faire ?
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 14h34   #6
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
quil y ait "du code" c'est pas un soucis

faut juste pas que ton code envoie des infos au navigateur

si après validation du formulaire, le script ouvre une page PHP qui ne fait que traiter les données saisies et les enregistrer en BdD, y a rien besoin d'afficher dans tout ça, donc à la suite tu mets un header sans rencontrer de problème
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 19h55   #7
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
En fait je me suis mal expliqué. J'ai un formulaire et le traitement dans le même formulaire. Mais à la fin du traitement je souhaite qu'il m'ouvre une autre page PHP, tout en me fermant celle ouverte.

Mais quand je place mon header, il me bloc.
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 20h58   #8
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
ben normal, si t'as affiché le formulaire avant, t'en as envoyé pas mal de l'HTML au navigateur !
donc pas moyen
si tu veux utiliser le header, une règle, rien transmettre avant, point barre
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 09h15   #9
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Bon j'ai trouvé une solution en passant par JS.

Code :
1
2
3
echo "<script>\r";
          echo "window.location.href=\"listeclientparticulier.php\";\r";
          echo "</script>\r";
Si vous avez une autre méthode je suis preneur.

Merci à vous tous pour votre aide.

Ludo
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 11h04   #10
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
et si l'utilisateur a désactivé JS ?

un site doit être fonctionnel sans JS avant que tu ne rajoutes cette couche côté client

si tu tiens absolument à tout faire en une page, fais comme ça :

est ce qu'on a validé le formulaire ?
- non => afficher formulaire
- oui => est ce que les valeurs saisies sont correctes ?
-- non => afficher le formulaire et indiquer une erreur
-- oui => traiter les données du formulaire puis redirection avec header(...);

pour l'affichage du formulaire, mets le code dans une fonction
comme ça, si le gars valide le formulaire et uq'il y a pas d'erreur, tu n'affichera rien, le header passera
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 12h07   #11
Invité de passage
 
Inscription : décembre 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 12
Points : 3
Points : 3
Citation:
Envoyé par civodultrebor37
Bonsoir tout le monde,

Voici mon petit problème. J'ai un formulaire dans lequel j'effectue un certain nombre d'action. Lorsque je clic sur validé, je souhaite qu'il m'exécute tout mes requête, puis qu'il me ferme le formulaire, pour m'afficher une autre page web. Ces cette dernière partie que je n'arrive pas à faire.

Donc comment je peu faire pour fermer une page et en ré ouvrir une autre ?

D'avance merci.

Ludo

Je vois pas où est le problème....
Tu faits ta première page qui traite tes actions est contient ton formulaire.
Tu soumets ton formulaire sur une autre page qui execute tes requêtes et contient ta page web de chute....
ProximIT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 13h19   #12
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
déjà proposé
s'il a pas relevé, je suppose que c'est pasqu'il veut tout faire sur une page

Citation:
Envoyé par Dia_FR
si après validation du formulaire, le script ouvre une page PHP qui ne fait que traiter les données saisies et les enregistrer en BdD, y a rien besoin d'afficher dans tout ça, donc à la suite tu mets un header sans rencontrer de problème
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h43.


 
 
 
 
Partenaires

Hébergement Web