Include ou header

Résolu
CyrVB Messages postés 26 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 21 mars 2006 - 6 mars 2005 à 17:38
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 - 8 mars 2005 à 11:07
Salut a tous,

Ca commence a me gratter dur la tete, et j ai un truc que je ne comprends pas.

1 formulaire appeler login ou j ai un petit code comme ca qui s execute si le login est correct

if ($loginstate=='Correct') {
include('recupere_les_users_planetlist.php');
include('glopttools2.php');
exit();
}

J ai un formulaire que je rempli, et qui appel ce code, si je me logge et que tout va bien ca execute cette ligne.'recupere_les_users_planetlist.php' va recuperer des infos, et affiche 2 3 trucs en page html. Lorsaue ce script est fini, je veux automatiquement proposer a l utilisateur un formulaire ('glopttools2.php'° pour faire des requeste sur les infos recuperer dans le script 'recupere_les_users_planetlist.php'.

Mon probleme est le suivant le 1er script se deroule bien et s affiche correctement, les infos du comptes sont recuperees, a la fin de celui ci le 2eme script se lance et mon formulaire s affiche mais il s affiche a la suite de l autre page !!! au lieu de remplacer l autre page ! et meme si je clique sur le bouton de mon formulaire rien ne s execute, bizarre car mon formulaire marche tres bien si je l appel seul.

Autre info, dans firefox comme dans IE, lorsque j affiche le code source de ma page, je ne vois que le code de 'glopttools2.php', ce que je trouve bizarre car je vois encore les infos de 'recupere_les_users_planetlist.php' dans la meme page.

En gros je concatene les 2 scripts a l affichage plutot que d afficher l un, et remplacer le 1er affichage par le formulaire du 2eme scripts

Cyril

4 réponses

arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
7 mars 2005 à 11:11
Salut Cyril,
la fonction include ne fait que "copier" le contenu du fichier à inclure dans le fichier contenant. Cette fonction ne fait pas de rechargement automatique.
Donc c'est dans ton fichier 'recupere_les_users_planetlist.php'
que tu dois charger 'glopttools2.php'

avec un truc du genre header("Location :glopttools2.php"
),
ou en validant un formulaire avec action='glopttools2.php'
,
ou encore en javascript avec
echo "<script type='text/javascript'>document.location='http://".$_SERVER['HTTP_HOST']."glopttools2.php';</script>";

J'espère avoir répondu à ta question.
Arnaud
3
CyrVB Messages postés 26 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 21 mars 2006
7 mars 2005 à 15:25
Je te remercie de cette eclairssiement



cependant



Dans ce code, qui fait partie de login.php

if ($loginstate=='Correct') {

include('recupere_les_users_planetlist.php');

include('glopttools2.php');

//header("location: recupere_les_users_planetlist.php");

//header("location: glopttools2.php");

exit();}


Je devrais donc plutot utiliser les 2 lignes commentaires header plutot que les include ?

Ce que je ne comprends pas c est que
include('recupere_les_users_planetlist.php'); fonctionne bien
comme je veux mais pas include('glopttools2.php'); Peux etre est ce
parcque c est un formulaire ?



J ai essayer de faire ce que tu m as dit cependant et bien evidemment je me tape cette superbe erreur Warning: Cannot modify header information - headers already sent
by (output started at c:\program
files\easyphp1-7\www\wartools\recupere_les_users_planetlist.php:89) in c:\program files\easyphp1-7\www\wartools\recupere_les_users_planetlist.php on line 219.



Je sais que c est peut etre du a un espace ou a un header
html mal placem ais j ai pris mon code dans tous les sens et je trouve
pas. Y a t il un outils qui permet de trouver d ou vient vraiment cette
erreur ?






Cyril
0
CyrVB Messages postés 26 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 21 mars 2006
7 mars 2005 à 15:44
Bon, j ai resolu mon probleme comme tu me l as dit en faisant ca, je
suis pas sur que ca soit ultra propre mais ca marche tres bien



if ($loginstate=='Correct')

{

include('recupere_les_users_planetlist.php');

echo "<script
type='text/javascript'>document.location='glopttools2.php'</script>";

exit();

}


Cyril
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
8 mars 2005 à 11:07
Je pense que c'est pas mal comme ça.
Le problème de la navigation en javascript c'est pour les visiteurs qui "refusent" javascript, ils resteront bloqué après le include('recupere_les_users_planetlist.php'
)...

Peut-être serait-ce mieux avec un formulaire dans ta page 'recupere_les_users_planetlist.php'
que tu valides automatiqement en javascript (mais tu mets aussi un bouton pour ceux qui n'ont pas js).
Un truc du genre
<form id='formTools' method='post' action='glopttools2.php'
>
<!-- ça c'est pour ceux qui n'ont pas js -->
</form>
et
<script type='text/javascript'>document.getElementById('formTools').submit();</script>

Voila, j'ai pas essayé, mais à peu de chose prêt ça doit marcher.
A+
0
Rejoignez-nous