include

Eléphant du PHP | 90 Messages

28 janv. 2006, 11:50

bonjour à tous !

J'avance progressivement sur cette histoire de site et ca n'aurait pas été possible sans vous. j'essaierai d'en faire profiter phpfrance à ma petite échelle en mettant un lien et un mot de remerciement mais en attendant, et parce qu'il y a toujours un mais... il me reste quelques problemes !

Notamment, dans mes inclusions, ou par moment les pages se "chevauchent". Dans ce site, tout est inclus dans un tableau au centre. donc lorsqu'on arrive sur l'index, il n'y a rien et j'aimerai qu'il y ait ma page d'accueil, ce qui se traduit par un else comme ceci
 $pageOK = array('archives' => 'archives/archives.php',
								    'archives2' => 'archives/archives2.php',
									  'contact' => 'contact/index.php',
									 'proposer' => 'proposer/index.php',
etc...

if(isset($_POST["submit"]) && isset($_POST["multistyles"])) {
		include('agenda/multi_resultat.php');
	} 
	
		if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    	include($pageOK[$_GET['page']]);
	} else { include('ce_mois_ci.php'); }
?>
Le $_POST ["submit"] correspond aux résultats du choix de l'internaute à partir de listes déroulante.

c'est le deuxieme if qui m'interesse avec le else {include('ce_mois_ci.php'); qui en fait affiche bien une premiere fois la page quand on arrive sur l'index du site, mais des que je clique sur un lien et inclus donc une autre page, la page ce_mois_ci.php reste dessous la nouvelle page incluse... z'auriez une idée m'sieurs, dames ?

Eléphant du PHP | 383 Messages

28 janv. 2006, 12:24

honnetement, je suis perplexe... :-k je ne vois pas d'erreur, ou alors elle est pas flagrante. le probleme vient peut etre des pages que tu inclus ?? ( ce serait bizzare ), ou du reste de code de ta page ? essaie de nous poster un peu plus de code, parce que la ca m'as l'air correct. et essaie de faire quelques tests pour qu'on ai plus d'infos ( genre est ce que ca le fait avec toutes les pages que tu inclus ?, si tu cliques une fois sur un lie, puis que tu recliques sur un autre, est ce que tu as 3 pages alignées ? si tu tapes directement l'adresse, est ce que ca change qqchose ( c'est de l'informatique, on sait jamais ), etc... et toutes les idees que tu trouveras. bref, essaie de circonscrire le probleme au maximum ! :-) )

Eléphant du PHP | 90 Messages

28 janv. 2006, 13:08

merci job pour ta réponse... la page ce_mois_ci.php s'aligne uniquement sous l'affichage des résultat de mes listes déroulantes, c'est à dire seulement à ce niveau:
if(isset($_POST["submit"]) && isset($_POST["multistyles"])) {
        include('agenda/multi_resultat.php');
    }
alors que c'est justement ici qu'il n'y a pas de else... sinon je pense pas que ca puisse venir du code de l'une de mes pages incluses, la seule chose que je peux vraiment préciser est que ca ne le fait qu'avec le $_POST["multistyles"] et ce à chaque fois que je clique sur le lien ou meme en entrant l'adresse à la main. sinon tout fonctionne normalement... c'est cela que je comprends pas. Mon but en fait de faire une page par défaut qui s'affiche lorsque rien n'est demandé (comme par exemple lorsque l'on entre l'url de l'index ou quand un lien ne débouche sur rien etc...) peut etre existe t il une autre solution ?

Eléphant du PHP | 383 Messages

28 janv. 2006, 13:22

ok, alors dans ce cas je vois, j'avais pas compris..
la c'est logique, vu que si ca passe par le submit, aors la condition :
(isset($_GET['page'])) && (isset($pageOK[$_GET['page']]))
est fausse, donc c'est le else qui est appele. donc tu devrais mettre ton deuxieme "if" dans le "else" du premier :
if(isset($_POST["submit"]) && isset($_POST["multistyles"])) {
        include('agenda/multi_resultat.php');
    }else{
    
            if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
                  include($pageOK[$_GET['page']]);
              } else { include('ce_mois_ci.php'); } 
   }

Eléphant du PHP | 90 Messages

28 janv. 2006, 15:02

Merci Job, ca fonctionne nickel ! :wink: