Page 1 sur 1

lumiere sur header() et/ou include()

Posté : 06 mars 2008, 12:27
par PetarouxRay
Bonjour,

Je débute donc en php et j'avoue être dans le flou concernant ces deux fonctions.
Personnelement j'ai un formulaire dans une page "page1.php" avec pour action un fichier "traiter.php".

Une fois les informations traités dans le fichier "traiter.php", je voudrais rafraichir la "page1.php" avec les nouvelles informations (nom, prenom, adresse mail par exemple).

Laquelle je dois utiliser ? header() ou include() ?
Je suppose aussi que les informations circulent en méthode GET() non ?

Posté : 06 mars 2008, 12:40
par Ryle
Ce sont deux méthodes totalement différentes et la documentation explique très bien ce à quoi elles servent. La première envoi des informations au navigateur (encodage de la page, gestion du cache, ou même redirige celui-ci vers une autre page), la seconde intègre le code trouvé à l'endroit où elle est appellée.

Si tu veux renvoyer l'utilisateur vers le formulaire (qui du coup devrait afficher les données traitées), tu utiliseras un header. Si en revanche tu ne veux pas rediriger l'utilisateur mais lui proposer le contenu de ton formulaire à l'intérieur de ta page de traitement, tu peux l'inclure.

Attention toutefois à ne pas inclure des pages contenant les balises <html> <body> ... si celles-ci sont déjà présentes dans la page qui intègre.

Mais la meilleure chose à faire reste de lire la doc pour des explications et des cas concrets :)

Posté : 07 mars 2008, 11:03
par PetarouxRay
merci ryle.

en fait je commencais a plus rien comprendre car je voulais passer un tableaux en méthode "GET".
du genre par exemple :
//$tab étant un tableaux a 2 dimensions
 header("location:./test.php?tab=$tab");
En lisant les forums, on se rend compte que c'est pas trop possible de passer un tableaux en "GET", sauf avec de smoyens détourné. Mais on se heurt a la taille max d'un "GET"...

Bref, merci pour ton explication

Posté : 07 mars 2008, 11:22
par d0m
Tu peux par exemple passer le tableau dans une variable de session si il est trop grand.