Help : Mise En Page

Help : Mise En Page - HTML/CSS - Programmation

Marsh Posté le 21-10-2004 à 21:43:45    

Voila, je suis un webmaster novice depuis qq année je fais des ptits trucs pas forcement au top.
 
Au Debut j'optais pour la mise en pages par Frame en HTML normale , mais j'ai vu que c'etait pas cool.
 
Alors je suis passé a la mise en page par tableau a l'aide de PHP comme ceci :  
 
"<html>
<body>
<table width="100%">
<tr bgcolor="lightblue"><td colspan="3" align="center">Placez ici, l'entête de votre site</td></tr>
<tr><td bgcolor="yellow">Placez ici, votre menu gauche<br />
    <a href="?page=0">Accueil</a><br />
    <a href="?page=1">Page 1</a><br />
    <a href="?page=2">Page 2</a><br />
    </td>
    <td width="100%" align="center">
<?php
    // Ici, c'est la zone centrale
 
    // Récupération du paramètre GET avec PHP>=4.1
    // (avec valeur par défaut=0) .
    if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = 0;
 
    // Contenu dépendant de la valeur du paramètre
    switch ($page) {
        case 1 : echo "Vous avez sélectionné la page 1"; break;
        case 2 : echo "Vous avez sélectionné la page 2"; break;
        default : echo "Bienvenue sur la page d'accueil"; break;
    }
       
?>    
    </td>
    <td bgcolor="yellow">Placez ici, votre menu droit</td>
</tr>
<tr bgcolor="lightblue">
    <td colspan="3" align="center">Placez ici, le pied de page de votre site</td>
</tr>
</table>
</body>
</html>"
 
 
Mais apres avoir eu qq pb d'afficahge sous IE, on m'a dit, les tableaux c pas bien, arrete tout ca, et passe au XHTML et au CSS , c'est les nouvelles normes.
 
Ok , alors je viens de me mettre doucement au XHTML et au CSS, mais je vois pas comment faire une mise en page genre : Un partie menu, et une partie "pages" sans passer par les tableau et l'ancienne version avec le php.
 
C'est quoi le mieux ? On utilise les balises div ??
 
 
Qqun peut il me donner un lien sur un tutoriel du genre queje recherche (je trouve pas), ou alors me faire vite fait la mise en page en express pour me montrer rapidement ?
 
 
Merci d'avance
 
Un internaute qui ne demande qu'a apprendre et se perfectionner ...

Reply

Marsh Posté le 21-10-2004 à 21:43:45   

Reply

Marsh Posté le 21-10-2004 à 21:54:33    

http://www.alsacreations.com/articles
cela devrait t'aider


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 21-10-2004 à 21:57:17    

Merci

Reply

Marsh Posté le 21-10-2004 à 23:27:32    

Encore une question : Voici mon debut de page :  
 
http://perso.wanadoo.fr/rtptt/
 
Mais comment je fais pour dire a la cible du lien URL de se charger dans la zone centrale ou il y a ecris Tirlididi ?
 
C'est quoi le code , car là la mise en page est avec des balise DIV ...
 
Merci
 
Faut faire appel au php comme avant sur mon exemple cité au dessus ?

Reply

Marsh Posté le 22-10-2004 à 07:20:29    

oui il te faut faire appel à du php et gérer des pseudo frames avec des includes


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 22-10-2004 à 10:19:06    

www.phpdebutant.org ils ont des tutoriaux plutot bien fait (enfin je trouve) dont un sur les pseudos frames (par contre il les font avec tableau et pas des div, mais tu aura le principe d'include)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 22-10-2004 à 11:21:39    

J'ai compris le principe d'include, mais ca bug encore a un petit endroit :  
 
Warning: Failed opening 'php' for inclusion (include_path='.:/usr/local/lib/php') in /export/home/enssci/s021595/public_html/index.php on line 15
 
J'ai fait ceci comme page d'index : index.php
 
<html>
<head>
<style type="text/css" media="screen">@import "style.css";</style>
</head>
<body>
<div class="entete"></div>
<div class="contenu">
<div class="menu">
<a href="index.php?page=accueil">Accueil</a></br>
<a href="index.php?page=meca">Meca</a></br>
<a href="index.php?page=vente">Vente</a></br>
</div>
<div class="centre">
<?php
  include($_GET['page'].'.php');
?>
</div>
</div>
<div class="pied"></div>
</body>
</html>
 
 
J'ai fait trois pages simple : accueil.php , meca.php , vente.php que j'ai mis au meme endroit que index.php
 
Et je vois pas trop ce qui deconne, surement un probleme de lien , car qd je fais dans div centre : include('meca.php'); ca marche.
 
C'est avec le GET que ca deconne, juste ca, et apres c bon je peux faire ce que je veux ...
 
Merci de votre patience

Reply

Marsh Posté le 22-10-2004 à 11:27:40    

le problème c'est qu'au démarrage de ta page $page n'a pas de valeur donc il essaie de charger .php qui n'existe pas


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 22-10-2004 à 11:36:28    

<?php
if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = accueil;
 
  include($_GET['page'].'.php');
?>
 
J'ai fait ca, marche pas non plu , tu peux pas plutot me mettre le bout de code bon stp ?
 
PS : J'ai corrigé ma faute sur "acceuil" en accueil partout y compris le nom du fichier, donc c bon de ce coté là.

Reply

Marsh Posté le 22-10-2004 à 11:44:57    

tu mets ça comme code php
<?php
if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = "accueil";
 
  include($page.'.php');
?>
il te faut les "" pour accueil sinon il cherche une variable  et il te faut faire un iclude de $page puisque tu l'a initialisé


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 22-10-2004 à 11:44:57   

Reply

Marsh Posté le 22-10-2004 à 19:02:08    

Merci bcp de ta patience, desromais ca marche bien.

Reply

Marsh Posté le 23-10-2004 à 10:24:10    

webmidipyrenees a écrit :

tu mets ça comme code php
<?php
if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = "accueil";
?>
il te faut les "" pour accueil sinon il cherche une variable  et il te faut faire un iclude de $page puisque tu l'a initialisé


 
Pas joli à regarder ce truc...
 
IL faut qu'il apprenne à être un peu plus rigoureux. Même si les {} ne sont pas obligatoires, ça rend le code bcp plus lisible.
 

Code :
  1. if (isset($_GET['page'])){$page = $_GET['page']; } else {$page = "accueuil" ;}

Reply

Marsh Posté le 23-10-2004 à 10:34:46    

c'est clair mais je lui ai juste donné les fonctions qui fonctionnent à lui de mettre en page après


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 23-10-2004 à 10:52:42    

on peu aussi l'ecrire comme ca

Code :
  1. $page = isset($_GET['page'])?$_GET['page']:"acceuil";


 
:D


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-10-2004 à 18:08:18    

Oui merci , voici l'url actuelle :  
http://membres.lycos.fr/ahulane/dr350/index.php
 
Bon j'apprend doucement en recopiant du code prefait et en essayant de le modifier a ma guise.
 
J'ai centré comme j'ai pu le menu avec  
margin-left: 30%; margin-right: 30%;
 
Mais par contre je rencontre un gros pb de mise en page sous  Mozzila quand la salete de pub de lycos se met a droite, mais sous IE , ca reste correct.
 
Mon CSS est surement mal fait a certain endroit, j'ai encore un peu de mal avec les position float et tout , si qqun peut me conseiller ?
 
Ma feuille de style CSS :  
http://membres.lycos.fr/ahulane/dr350/style.css


Message édité par Ahulane le 23-10-2004 à 18:13:24
Reply

Marsh Posté le 23-10-2004 à 18:35:16    

déjà pas de html, body dans ton css juste body suffit
1 seul overflow pour le body suffit car sinon tu crées 3 ascenceur(1 pour html, 1 pour body, 1 pour div centre)
1 seul ouverture de balise html head et body (tu vires ceux juste après <div class="centre"> et ceux à la fin de la page.
sans la pub lycos à droite ça marche


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Marsh Posté le 23-10-2004 à 18:55:41    

Merci, j'ai supprimé le html dans le css.
 
Pour les pages qui s'affichent dans le div class centre j'ai aussi virer les balises head hml et body comme tu as dit (si g bien compris)
 
Mais pour les overflow, si je vire celui du div class centre, ca fait plu comme je veu ca bug : Certes il y a qu'un seul ascenseur, mais apres quand on descend le menu n'est plu visible, or j'aimerais qu'il reste visible, donc j'ai laissé l'overflow dans le centre et ca fait comme je veu, seulement ca fait 2 ascenceurs.
 
Il y a pas moyen de virer l'autre ? Si non, pas grave c deja bien comme ca. Car meme en virant l'overflow du body , il reste qd meme a l'ecran. Donc dans le doute je le laisse qd meme.


Message édité par Ahulane le 23-10-2004 à 18:56:48
Reply

Marsh Posté le 23-10-2004 à 20:34:34    

non tu peux virer l'overflow du body et avec firefox seul la partie centrale aura un ascenceur et avec ie6.0 tout le document aura l'ascenceur.
2 ascenceurs ça fait pas terrible et on ne sait pas lequel il faut manipuler


---------------
Xavier, administrateur et webmaster de http://www.webmidipyrenees.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed