Planet Emulation Forums

Planet Emulation Forums (https://forums.planetemu.net/index.php)
-   Hardware et Software (https://forums.planetemu.net/forumdisplay.php?f=24)
-   -   "include" Et "require" (https://forums.planetemu.net/showthread.php?t=5659)

DeathAdder 12/02/2004 23h48

ca fait un bout de temps que j'essaie de piger la mise en page d'un site avec frames et j'y comprends tjrs rien!
je veux des cotés fixe et une partie centrale de navigation

il parait qu'il y a une fonction "include" en php qui equivaut mais voila le php j'ose pas trop y toucher

Tonio 12/02/2004 23h52

un conseil, ne met pas de frames, ca rends vraiment la navigation pourrave !

Si tu veux inclure un fichier dans ta page, tu as les SSI, avec les commandes html <include virtual> par ex, mais c'est rarement supporté a cause de la sécu.

En php, tu fais un vulgaire <? include("tonfichier.html"); ?> et ca viendra le mettre exactement à l'endroit de la commande, on ne peut pas faire plus simple !

Dobmec 12/02/2004 23h56

Pourquoi n'oses-tu pas toucher aux includes en php? Faire un <?include("fichier.toto");?>, ou mieux <?require("fichier.toto");?> c'est quand même pas très compliqué, et super pratique...

DeathAdder 13/02/2004 00h04

c'est pas des frames que je souhaiterai c'est ce fameux include en php

sinon j'aimerai bien ne pas utiliser les frames mais je pige tjrs pas la fonction pour garder sa mise en page, a chaque fois je fais un copier/coller et ca commence a me souler surtout si entre temps on decide de changer de banniere, il faut tout se retaper le copier /coller pour les autres aussi
non ... y'a un truc que j'ai pas capté dans la mise en page
il doit y avoir une fonction de le logiciel que j'ai écarté ???

j'utilise FP2000, namo5.5 et dreamweaver mx


edit entre temps: donc je fais un simple tableau et a l'interieur je fais la fonction que vous dites???
je vais essayer ca donc

Tonio 13/02/2004 00h05

Je ne vois pas trop en quoi require serait mieux que include, étant donné que seule la gestion des erreurs est différente.

DeathAdder 13/02/2004 01h28

et ouai ca le fait mais j'ai mis du temps a comprendre qu'il fallait tester la page or du logiciel, parce que la page ne s'affiche pas en apercu ou avecle simulateur de navigation web
trop zarbi y'a un message qui me dit d'installer un serveur sur mon ordinateur o_O

bah je serai bien resté au html finalement si ca se complique comme ca le passge en php o_O
y'a vraiment des avantages a passer en php ??? faut il que je convertisse tous mes fichiers en php ou seulement l'index ??? O_o

Tonio 13/02/2004 01h53

Les avantages de php ?

Ben t'imagine toi un forum en html ???

Je pense que tu ne sais pas quoi sert le PHP...

On ne passe pas du HTML au PHP, mais on ajoute du PHP a son site.

Le HTML est le langage d'affichage.
C'est avec HTML que tu definis les pages de ton site.

PHP est un langage de script qui permet de générer tel ou tel code HTML en fonction de paramètres.

Cela permet, pour des taches répétives, d'automatiser les choses pour ne pas avoir à faires les modifs à la main à chaque fois.

Imagine un compteur en html, il faudrait modifier la pages à chaque visite (et tu ne peux pas savoir quand ton site visité en plus !).

Avec PHP, il suffit de faire un script qui dit ceci : "A chaque fois que la page est chargée, augmente le compteur de 1", et basta.

Le php, en somme, ne remplace pas le html, mais te remplace toi :)

Dinofly 13/02/2004 02h13

La "conversion" à faire est de renommer tes fichiers HTML dans lesquels tu as mis du PHP en .php et non en .html ;)

En gros, une page avec un menu fixe et un contenu qui change:

fichier index.php
Citation:

<html>
<head>
<title>Page principale</title>
</head>
<body>
<div class="menu">
<?php include( "menu.html" ); ?>
</div>
<div class="contenu">
Contenu de la page, tout ca, tout ca...
</div>
</body>
</html>

fichier menu.html
Citation:

<ul>[*]Accueil[*]Rubrique 1[*]Rubrique 2[*]Rubrique 3[/list]
Et tes fichiers rubriqueX.php seront sur le même modèle que le fichier index.php.

J'ai simplifié au maximum, si tu copies exactement ce code tu auras quelque chose qui marche, mais quelque chose de moche :)
Je n'ai rien mis qui fasse de la mise en forme, à toi de l'ajouter (en CSS ou directement dans le code. Personnellement je préfère de loin le CSS).

Edit: je ne sais pas si c'est clair pour toi, donc je le dis à tout hasard:

Le PHP est un langage qui s'exécute sur le serveur, et non dans le navigateur web du client. Pour le client, tout ceci n'est que du simple HTML. La page que recevra le client en appellant le fichier index.php ci-dessus aura cette tête:
Citation:

<html>
<head>
<title>Page principale</title>
</head>
<body>
<div class="menu">
<ul>[*]Accueil[*]Rubrique 1[*]Rubrique 2[*]Rubrique 3[/list] </div>
<div class="contenu">
Contenu de la page, tout ca, tout ca...
</div>
</body>
</html>

La fusion des deux fichiers index.php et menu.html est effectuée par le serveur, puis envoyée au client.

DeathAdder 13/02/2004 03h46

non... je croyais avoir reussi et puis non

tonio j'ai du mal m'exprimer encore, je sais ce qu'apporte le php mais comme j'ai un petit site de zik en preparation bien avancé avec donc la methode par cadre, je me demandais si ca valait le coup de le refaire avec la fonction "include".
mais bon je laisse tomber pour ce soir, j'ai essayé aussi le test de dino, et j'ai du aussi le foirer quelque part
enfin voila mon code si vous voulez jetez un oeil o_O

page d'accueuil
Citation:

<html>

<head>
<title>En tete</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


</p>
<table border="1" width="763">
* * <tr>
* * * * <td width="753" height="54" colspan="3">
* * * * * *

En tete</p>
* * * * </td>
* * </tr>
* * <tr>
* * * * <td height="382">
* * * * * *

Bordure Gauche</p>
* * * * </td>
* * * * <td width="540" height="382">

<?include("test.htm");?></p>
* * * * </td>
* * * * <td height="382">
* * * * * *

Bordure droite</p>
* * * * </td>
* * </tr>
* * <tr>
* * * * <td width="753" height="45" colspan="3">
* * * * * *

Bas de page</p>
* * * * </td>
* * </tr>
</table>


</p>
</body>

</html>

page principale:
Citation:

<html>

<head>
<title>hgfhgfhgfvcnbcb</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


test include</p>
</body>

</html>

page accessible avec un lien de gauche:
Citation:

<html>

<head>
<title>test avec lien en partie gauche</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


test avec lien en partie gauche</p>
</body>

</html>

parge accessible aevec un lien de droite:
Citation:

<html>

<head>
<title>test avec lien en partie droite de page</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


test avec lien en partie droite</p>
</body>

</html>

ca c'est ce que j'ai upé et qui fonctionne pas
c'est sur qu'il y a un truc que j'ai pas saisi... les pages ne veulent pas s'afficher au centre, je pense que c'est du a ce que quand j'enregistre le fichier en .php il me crait des balises html, ce qui implique qu'il m'ouvre ca dans une nouvelle page et non dans le cadre centrale... corrigez moi si je me trompe

apres si je veux modifier la cible du lien, c'est encore une autre paire de manche: un _self, un _top ???
je sais meme pas si y'a un rapport avec les include :mellow:

Yaiba 13/02/2004 05h25

Peut-être que ces sites-ci t'aideront: http://ca2.php.net/include/ et http://www.php-include.com/ :(

Tonio 13/02/2004 11h31

Hey, dino, il débute, donc lui foutre du xhtml en guise d'exemple est certainement pas la meilleure chose à faire si tu veux l'embrouiller...

Tonio 13/02/2004 11h35

Attends, je capte pas du tout ton truc la...

Il n'y a aucune definition de frames, ni d'includes....

Tout ce que ca va faire c'est trois pages, avec des liens entre elles...

Soit tu définis des frames, soit tu include en php, mais la dans ton exemple, y a rien de tout ca.

Dinofly 13/02/2004 12h02

Ce que j'ai fait est aussi bien du XHTML que du HTML Tonio...
Et j'ai fait ca parce que je pense qu'un
Citation:

<div class="machin">
est beaucoup plus épuré qu'un
Citation:

<table border="1" width="763">
<tr>
<td width="753" height="54" colspan="3">

Ce qui peut etre compliqué pour un débutant en XHTML c'est pas le XHTML, c'est d'écrire la CSS qui va avec, et là j'en ai pas mis !

DeathAdder déjà la première chose à faire c'est d'éditer tes pages avec un éditeur de TEXTE !
Le truc que tu utilise ajoute visiblement des balises à tout va qui font n'importe quoi !

Tu as déjà les balises <html>, <head>, <title>, <body> dans ton fichier principal, elles ne doivent pas etre dans les fichiers que tu inclus en plus dedans, sinon tu les auras plusieurs fois !

Etant donné que tu n'a pas de frames en utilisant les include du PHP, vire tous tes attributs target de tes liens, c'est à cause d'eux que tu ouvres une nouvelle page à chaque clic.

Ca serait bien que tu précies au dessus de tes quotes le nom des fichiers que tu décris, sinon je peux pas trop t'aider.


Heureusement que c'est pas pour un site anti Nintendo !

DeathAdder 13/02/2004 13h25

ouai ce script ne ressemblait a rien en fait, j'ai du foutre une include sans frame ou un truc chelou du meme genre :ph34r:

par contre avant de me lancer dans les include je voudrai savoir si le navigateur dreamcast le permet, parce que c'est le but premier du site, donc essayez de deceler des indices ici qui prouverez que ca ne peut etre supporté. a priori il accepte ... :unsure:

pour repartir sur de bonne base voila mes scripts entierement vierge sans include
changer ce qu'il faut, je verai mieux comme ca ou il faut inserer. Le squelette de cette page toute simple est exactement celle que je veux avoir

Page Index:
Citation:

<html>

<head>
<title>En tete</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


</p>
<table border="1" width="540" align="center">
* * <tr>
* * * * <td align="center">
* * * * * *

Banniere</p>
* * * * </td>
* * </tr>
* * <tr>
* * * * <td align="center">
* * * * * *

Rubrique 1 - <a href="rubrique2.htm" target="_top">Rubrique
* * * * * * 2</a></p>
* * * * </td>
* * </tr>
* * <tr>
* * * * <td height="400" align="center">

Bienvenue</p>
* * * * </td>
* * </tr>
* * <tr>
* * * * <td align="center">
* * * * * *

Bas de page</p>
* * * * </td>
* * </tr>
</table>


</p>
</body>

</html>

Document Rubrique 1:
Citation:

<html>

<head>
<title>Le texte de la rubrique 1 doit s'afficher ici</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


Le texte de la rubrique 1 doit s'afficher dans le cadre bienvenue</p>
</body>

</html>

Document Rubrique 2:
Citation:

<html>

<head>
<title>Le texte de la rubrique 1 doit s'afficher ici</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">


Le texte de la rubrique 1 doit s'afficher dans le cadre bienvenue</p>
</body>

</html>


ChemicalStöf 13/02/2004 15h16

Le navigateur dreamcast permet parfaitement d'afficher des pages qui utilisent la fonction include car ce qu'il faut que tu comprennes, c'est qu'un include c'est tout simplement une fonction qui appelle du code d'un fichier extérieur mais au final c'est exactement comme si tu n'avais qu'une seule page en HTML sans frame ni rien!

Tonio 13/02/2004 18h10

Le php s'execute sur le serveur qui t'envoie les pages html.
Ca ne fonctionne pas en local et n'a rien a voir avec le navigateur.

-Nicolas- 13/02/2004 19h07

Question con DeathAdder, tu as bien un serveur installé avec PHP sur ton ordi ?

Sinon, essaye EasyPHP et met t'es pages dans le dossier www
Par exemple :

testinclude.php :
Code:

<html><head><title>test d'un include en php</title></head>
<body>
<!-- on va inclure un autre fichier dans la page en PHP -->
<h1><?php include( "test.inc" ); ?></h1>
</body>
</html>

Et le fichier à inclure : test.inc
Code:

Hourra ca marche !!!!
Après faut lire le mode d'emploi, mais c'est très con, suffit de lancer le serveur et d'aller à l'adresse http://localhost/testinclude.php

Si une page s'affiche avec écrit en grand "Hourra ca marche !!!!" ben tu as compris le truc, sinon essaye de trouver un ami qui sait et qui va te montrer, parce que la, je vois pas comment expliquer plus simplement :mellow:

ANATHEMA 13/02/2004 19h12

Ce n'est pas demain l vieille que je vais m'emmerder avec du PHP moi :mellow:

Dinofly 13/02/2004 20h09

Commence par faire un copier coller du code que je t'ai donné dans deux fichiers (avec le meme nom que ceux que j'ai donnés) pour voir si tu fais bien les manips de base avant de chercher plus loin.

Pour tester ceci sur ton propre PC, il te FAUT un serveur PHP d'installé dessus.
Le plus simple reste EasyPHP: http://www.easyphp.org/

Sinon uploade directement les fichiers sur ton compte Free et teste là bas.

DeathAdder 14/02/2004 00h17

j'avais easyphp de deja installé sur mon disque mais je savais pas trop a quoi ca servait
es ce qu'il fait pas double emploi avec dreamweaver mx et namo5 parce qu'ils ont eux aussi une simulation de serveur, bien que j'ai pas reussi la configuration

sinon j'avais deja fait les tests en uploadant des fichiers, no problem ca marche mais apres le faire par moi meme c'est autre chose :cry:

je viens de trouver la fonction "include" dans dreamweaver mx :blink: , ca me paressait bizarre aussi qu'il n'y ait pas de raccourci

mais bon je crois que je vais laisser tomber :cry:


Fuseau horaire GMT +2. Il est actuellement 20h21.

vBulletin® v.3.8.7, Copyright ©2000-2024, Jelsoft Enterprises Ltd.