[HTML - PHP] P'tit question menu

P'tit question menu [HTML - PHP] - Programmation

Marsh Posté le 12-08-2002 à 23:07:48    

Salut
J'ai déjà de bonnes connaissances en programmation (Java, C++, Matlab, ...) mais vraiment pas grand chose en HTML et php. Et j'aurais besoin d'un p'tit coup de main
J'aimerais programmer en php un site tout bête avec un menu sur la gauche. Qqn a-t'il un exemple très simple pour faire cela? Vraiment le plus simple possible. Juste un exemple, afin que je puisse comprendre l'idée et commencer mon site.
Ou si qqn à un très bon tutorial. Je n'ai rien trouvé de bien jusqu'à présent.
D'avancer merci


---------------

Reply

Marsh Posté le 12-08-2002 à 23:07:48   

Reply

Marsh Posté le 13-08-2002 à 00:19:53    

Allez, ne me faites pas croire que vous ne savez pas faire un menu...
merci


---------------

Reply

Marsh Posté le 13-08-2002 à 00:23:30    

quel genre de menu ? un site d'exemple ?

Reply

Marsh Posté le 13-08-2002 à 01:07:21    

Voila un exemple simple d'un tableau en html contenant une colonne a gauche avec un menu et une autre a droite avec le contenu. Le php est utilise pour inclure des pages dans ces cellules, via le systeme de pseudo frame.
 
<html>
<body>
<table width=100%>
<tr>
<td width="30%"><? include('menu.php3';); ?></td>
<td width="70%"><? include('centre.php3';); ?></td>
</tr>
</table>
</body>
</html>
 
Met meme si tu t'y connais bien en prog ne grille pas les etapes, apprend dabord les bases de html sur www.allhtml.com et ensuite passe au php sur www.phpdebutant.com (les tuto de droite).


Message édité par Vadrigar le 13-08-2002 à 01:12:56
Reply

Marsh Posté le 13-08-2002 à 01:28:29    

Reply

Marsh Posté le 13-08-2002 à 02:07:41    

Ouais mais il vouait un exemple tout bete et je ne crois pas que tes trucs sans tableaux soit plus simple...

Reply

Marsh Posté le 13-08-2002 à 11:07:43    

En quoi ceci :
 


<table cellpadding="10" cellspacing="20" width="100%">
  <tr>
    <td width="172"> ... </td>
    <td> ... </td>
  </tr>
</table>


 
est-il beaucoup moins compliqué que ça :
 

<div id="Content"> ... </div>
<div id="Menu"> ... </div>
 
Et les styles CSS:
 
#Content {
  margin: 0px 50px 50px 200px;
  padding: 10px;
}
 
#Menu {
  position: absolute;
  top: 100px;
  left: 20px;
  width: 172px;
  padding: 10px;
}


 
On se doute bien que les propriétés 'margin', 'top', 'left' servent à positionner le <div> dans la page.
 
S'il ne connait pas le HTML autant qu'il parte sur de bonnes bases. Et ces bonnes bases disent que les tableaux ne servent pas à faire de la mise en page.

Reply

Marsh Posté le 13-08-2002 à 13:39:18    

Parce que c'est ce qu'il y a de plus utilisé...
 
Et quand tu dois rendre des infos prise dans une bdd c'est bien plus simple de faire une boucle et d'utiliser les tableaux par ex. Ton systeme est tres bien mais il demande plus de code pour placer tes div, et il convient moins bien a un debutant, enfin c mon avis...

Reply

Marsh Posté le 13-08-2002 à 14:17:12    

Vadrigar a écrit a écrit :

Parce que c'est ce qu'il y a de plus utilisé...



1. Les habitudes ça évolue
2. Ce n'est pas parce que c'est plus utilisé que c'est plus simple ou meilleur.
3. Pourquoi apprendre quelque chose, qui, à terme, sera obsolète ?

Vadrigar a écrit a écrit :

Et quand tu dois rendre des infos prise dans une bdd c'est bien plus simple de faire une boucle et d'utiliser les tableaux par ex.



Ah mais là je suis d'accord. Ce que tu dis est la bonne utilisation des tableaux. Mais ce n'était pas la question ici.

Vadrigar a écrit a écrit :

Ton systeme est tres bien mais il demande plus de code pour placer tes div, et il convient moins bien a un debutant, enfin c mon avis...



Plus de code certes, mais pas forcément plus compliqué. Comprendre que 'top' c'est la distance entre le sommet de la zone de visualisation du navigateur et le bord supérieur du <div> c'est à la portée de n'importe qui.
Après une fois que tu as défini tes classes pour chacun de tes <div> tu peux facilement modifier leur style (créer un bordure spéciale pour le menu de gauche, définir une police particulière pour le cadre de droite...)
 
Prends cet exemple http://bluerobot.com/web/layouts/layout1.html (dont la mise en page est tout de même simple) et essaye de faire la même chose avec des tableaux. Tu verras que c'est beaucoup plus difficile.

Reply

Marsh Posté le 13-08-2002 à 16:55:11    

Salut
Merci pour vos réponses. Je vais regarder tout cela. Je ne cherche pas obligatoirement le plus simple, c'est cela correspond au plus stupide. Je veux juste pas commencer à inclure du javascript pour que les boutons clignotent et ci pour que ... et ca pour que ... et me retrouver avec 3000 lignes de codes.
Je voulais juste un menu à gauche qui, lorsque je clique sur un bouton, m'ouvre sur la droit la page voulue. C'est tout.
A+

Reply

Marsh Posté le 13-08-2002 à 16:55:11   

Reply

Marsh Posté le 13-08-2002 à 17:51:27    

Cliquer sur un "bouton", c'est du javascript  :D  
 
Mais tu peux mettre des bêtes liens à gauche, sans bouton donc.  ;)

Reply

Marsh Posté le 13-08-2002 à 20:55:30    

korben a écrit a écrit :

Salut
Je voulais juste un menu à gauche qui, lorsque je clique sur un bouton, m'ouvre sur la droit la page voulue.



 
Dans ce cas la je crois que le systeme d'include en php est ce qu'il y a de mieux. Grace au code php de "centre.php3", lorsque tu cliques sur un lien de "menu.php3", la page que tu aura associée a ce lien s'affichera au centre (a la place de "centre.php" ).
 
L'index je te l'ai deja montré:

<html>  
<body>  
<table width="100%">  
<tr>  
<td width="30%"><? include('menu.php3'); ?></td>  
<td width="70%"><? include('centre.php3'); ?></td>  
</tr>  
</table>  
</body>  
</html>


 
Voila a quoi ressemblerais "menu.php3":

<?
print("<a href=\"?page=definition\">Définition</a><br>" );
print("<a href=\"?page=multiplication\">Multiplication</a><br>" );
print("<a href=\"?page=codegenetique\">Code génétique</a><br>" );
?>


 
Et le code de "centre.php3":

<?
if ($page){include("inc/$page".".htm" );}
else {include('inc/erreur404.htm');}
?>


 
Voila voila, c'est ma methode, je l'ai apprise en autodidacte alors il y a forcement mieux mais je pesne que ca t'ira pour ce que tu demandes.


Message édité par Vadrigar le 13-08-2002 à 20:58:14
Reply

Marsh Posté le 18-08-2002 à 21:03:46    

Salut
Merci bcp pour le code. Une petite question, où définit tu les pages que tu décrits dans menu.php3?


---------------

Reply

Marsh Posté le 19-08-2002 à 08:51:28    

Par exemple pour le lien "Définition" je donne pour valeur definition à $page: a href=\"?page=definition\". Ma page d'index se rechargera donc avec $page=definition.
 
Ensuite dans la page du milieu j'ai dit d'inclure inc/$page".".htm c'est a dire dans le cas cité plus haut la page de centre est remplacé par inc/definition.htm, la page "definition.htm" qui se trouve dans mon rep "inc".
 
J'espere avoir repondu a ta question.

Reply

Marsh Posté le 19-08-2002 à 12:46:20    

Non, non, ca, j'avais compris. Non, la question que je voulais te poser, c'est que tu as donc défini des pages. Mais si je veux que définition m'ouvre definition.php, je fais cela comment. Parce que là, si je comprends bien, tu prends un documents, tu y définit à l'intérieur différentes pages et c'est php qui parse ton code pour y trouver la page désirée. Alors peut-être que c'est mieux comme ça. Tu as un exemple. Qqch du style
Doc1=
page1=print(sdflj);
page2=print(dfsmdf),print(dfs);
...
end Doc1
J'apprécie déjà bcp ce que tu as fait. Cela me permet enfin de commencer à programmer, mieux comprendre le fonctionnement...
A+

Reply

Marsh Posté le 22-08-2002 à 09:17:48    

up

Reply

Marsh Posté le 22-08-2002 à 11:57:02    

Oups j'ai oublié de repondre...
 
Moi mon systeme est fait pour n'inclure que des page en .htm, si tu veut inclure des pages php tu as 3 autres solutions:
 
 
- une rapide mais risqué, tu defini le nom entier de ta page dans le href. Dans ces cas la tu n'as pas besoin de creer une page centre.php3. Dans l'exemple d'index.php3 que je t'ai montré tu peut remplacé  

<td width="70%"><? include('centre.php3'); ?></td>


par:

<td width="70%"><? include("$page" ); ?></td>


 
Tes lien seront alors du style:
print("<a href=\"?page=definition.php\">Définition</a><br>" );
Dasn un premier temps tu peut utiliser cette solution mais seulement si tu tiens pas trop a ton site  :pt1cable:  
 
 
- une autre sans faille, qui consiste a faire un champ "id" et un champ "url" lorsqu'une page est ajoutée dans la bdd. Tu met alors en lien l'url en fonction de l'id... (ca c si ta page est un element de db)
 
 
- Pour faire des includes un peu comme avec la premiere solution mais securisé, je cherche encore un moyen le faire sans faille mais pas encore compris la solution que certain m'ont proposés. J'ai cru comprendre que certain utilise les sessions...


Message édité par Vadrigar le 22-08-2002 à 11:57:59
Reply

Marsh Posté le 23-08-2002 à 09:33:15    

Merci. D'autres propositions?

Reply

Marsh Posté le 23-08-2002 à 09:48:50    

Pkoi la mienne ne te va pas  :??:

Reply

Marsh Posté le 23-08-2002 à 21:54:43    

Si, bien sur que si. Il faut que j'essaye cela ce week-end. Mais je regarde aussi si d'autres personnes ont d'autres solutions intéressantes/différentes ou des conseils..
C'est tout. J'apprécie bcp ton soutien.

Reply

Sujets relatifs:

Leave a Replay

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