OVH Cloud OVH Cloud

Site avec plusieurs pages

21 réponses
Avatar
Nicolas
Bonjour,

Je dois realiser un site avec plusieurs pages, mon ancienne methode etait de
creer la structure du site (l'ossature) puis d'appeler l'intérieur avec des
includes en php.

Exemple dans la racine :

page1.php
page2.php
page3.php

dans un répertoire "includes" :

structure.php
page1.inc.php
page2.inc.php
page3.inc.php


ça fait donc www.monsite.php/page1.php
page1.php renvoyait vers le repertoire includes pour ouvrir structure.php +
include de page1.inc.php,
le probleme est que je me retrouve avec plein de fichiers dans la racine et
pareil dans include, ce qui est bien c'est pour le referencement avec les
noms des pages !

Sinon je peux faire : www.monsite.php/structure.php?page=page1
Super pour ma racine mais moins top pour google

Alors deux questions :

- Comment faites vous ou quelle est la methode la plus propre ?

- Comment faire comme certain site mettre le ? sans nom de fichier, exemple
: monsite.com/?action=products.collection.byCategory&id_category=5

Comment ils gerent aussi toutes cette ligne :
action=products.collection.byCategory&id_category=5

Merci d'avance !
Nicolas

10 réponses

1 2 3
Avatar
ASM
Thibaut Allender a écrit :

en privé ou dans le groupe dédié à PHP alors, parce que sinon, on a pas
fini ;-)



je ne vais pas/plus dans le groupe dédié php ce sont des rats
spécialement les ceusses qui surveillent

de toute la manière çà n'interressera personne
çà vole bien trop bas :-(

--
Stephane Moriaux et son [moins] vieux Mac
Avatar
ASM
O.L. a écrit :

Donc si tu veux que ton machin marche, soit tu reconfigures PHP en
mettant register_globals à "on",



non puisque tu as dit que ce n'était pas bien

soit tu écris :
echo 'steph nous dit : '.$_GET['ASM'];



Purééee dis !
j'avais écrit :

'steph nous dit : '.$GET_['ASM'];

l'est pas fut fut ce php


--
Stephane Moriaux et son [moins] vieux Mac
crient victoire
Avatar
Peter Pan
ASM a écrit :
l'est pas fut fut ce php



Autant revenir carrément sur tous les standards du web, ça sera plus
violent que d'insinuer que PHP a été mal implémenté ;-)
Les variables d'environnement (dites super globales (car accessibles
partout)) commencent par $_ c'est simple non ?

--
Pierre
http://www.1966.fr/
Avatar
Peter Pan
Nicolas a écrit :
Sinon je peux faire : www.monsite.php/structure.php?page=page1
Super pour ma racine mais moins top pour google



En effet. A moins de réécrire via .htaccess

- Comment faites vous ou quelle est la methode la plus propre ?



Je suis plutôt du genre, dans "mapage.php", inclusion de :
inc.configuration.php (variables utilisées fréquemment)
inc.connexion.php (variables de connexion bdd)
inc.fonctions.php (comme son nom l'indique)
[paramètres à passer dans la session si session]
inc.session.php
[paramètres à passer dans l'en-tête]
inc.latete.php
[blah blah echo if while tagada]
inc.lepied.php

Tout à la racine (pratique pour l'édition) ou dans une répertoire dédié
(généralement include/) en virant les "inc." ou "inc-" ou "inc_"

En général on évite les inclusions imbriquées.

- Comment faire comme certain site mettre le ? sans nom de fichier, exemple
monsite.com/?action=products.collection.byCategory&id_category=5



Réécriture d'URL en passant par l'index.
http://www.netalbum.org/album2.php vaut
http://www.netalbum.org/?id=2 qui vaut
http://www.netalbum.org/index.php?id=2

Comment ils gerent aussi toutes cette ligne :
action=products.collection.byCategory&id_category=5



Les points dans les "query string" c'est bof. S'il faut passer des
instructions (classement bdd par exemple) mieux vaut implémenter un
"flag" genre : ordreÊteg où $_GET['ordre'] sera traduit en bonne et
due forme (via switch par exemple).

--
Pierre
http://www.1966.fr/
Avatar
Nicolas
"Peter Pan" a écrit dans le message de news:
436fb757$0$25978$

Réécriture d'URL en passant par l'index.
http://www.netalbum.org/album2.php vaut
http://www.netalbum.org/?id=2 qui vaut
http://www.netalbum.org/index.php?id=2



Merci à tous pour vos réponses et votre aide

Comment fonctionne la réécriture d'url svp ?

merci d'avance !
Nicolas
Avatar
ASM
Peter Pan a écrit :
ASM a écrit :

l'est pas fut fut ce php



Autant revenir carrément sur tous les standards du web, ça sera plus
violent que d'insinuer que PHP a été mal implémenté ;-)



c'est pourtant + ou - ce que j'ai ouï dire.
Mais ... comme on a pu voir ... je n'y comprends pas gd chose

Les variables d'environnement (dites super globales (car accessibles
partout)) commencent par $_ c'est simple non ?



Je croyais qu'en php tout commencait pas $
(sont assez affairistes les péhachepeurs)

l'underscore je pensais qu'il se mettait à la fin

donc les super globales sont un peu moins affairistes
et il ne me reste qu'à trouver où chez php.net ou son cousin
ils en cachent la liste et le mode d'emploi

--
Stephane Moriaux et son [moins] vieux Mac
Avatar
Olivier Masson
Thibaut Allender a écrit :
On 7/11/2005 18:06, ASM wrote :

ce sera pour la leçon suivante ...




en privé ou dans le groupe dédié à PHP alors, parce que sinon, on a pas
fini ;-)




oui, d'autant plus que register_globals est à off par défaut maintenant
pour des raisons de sécurité.
D'ailleurs utiliser ça révèle qd même une program assez brouillonne je
trouve.
Avatar
O.L.
ASM a présenté l'énoncé suivant :
[...]
donc les super globales sont un peu moins affairistes
et il ne me reste qu'à trouver où chez php.net ou son cousin
ils en cachent la liste et le mode d'emploi



Pour info, j'ai la liste complète (je pense) dans mon manuel PHP
téléchargeable à la rubrique "Variables prédéfinies" :


Tableaux superglobaux de PHP

$GLOBALS
Contient une référence sur chaque variable qui est actuellement
disponible dans l'environnement d'exécution global. Les clés de ce
tableau sont les noms des variables globales.

$_SERVER
Les variables fournies par le serveur web, ou bien directement liées à
l'environnement d'exécution du script courant. C'est la nouvelle
version de l'ancienne variable $HTTP_SERVER_VARS, qui est maintenant
obsolète, mais toujours là.

$_GET
Les variables fournies par le protocole HTTP en méthode GET. C'est la
nouvelle version de l'ancienne variable $HTTP_GET_VARS qui est
maintenant obsolète, mais toujours là.

$_POST
Les variables fournies par le protocole HTTP en méthode POST. C'est la
nouvelle version de l'ancienne variable $HTTP_POST_VARS qui est
maintenant obsolète, mais toujours là.

$_COOKIE
Les variables fournies par le protocole HTTP, dans les cookies. C'est
la nouvelle version de l'ancienne variable $HTTP_COOKIE_VARS qui est
maintenant obsolète, mais toujours là.

$_FILES
Les variables fournies par le protocole HTTP, suite à un téléchargement
de fichier. C'est la nouvelle version de l'ancienne variable
$HTTP_POST_FILES qui est maintenant obsolète, mais toujours là. Voir
Téléchargement par méthode POST, pour plus d'informations.

$_ENV
Les variables fournies par l'environnement. C'est la nouvelle version
de l'ancienne variable $HTTP_ENV_VARS qui est maintenant obsolète, mais
toujours là.

$_REQUEST
Les variables fournies au script par n'importe quel mécanisme d'entrée
et qui ne doit recevoir une confiance limitée. Note : lorsque vous
exécutez un script en ligne de commande, cette variable ne va pas
inclure les variables argv et argc. Elles seront présentes dans la
variable $_SERVER. La présence et la valeur des entrées de ce tableau
sont réglés par la directive variables_order. Ce tableau n'est
l'évolution d'aucune variable d'avant PHP 4.1.0.

$_SESSION
Les variables qui sont actuellement enregistrées dans la session
attachée au script. which are currently registered to a script's
session.C'est la nouvelle version de l'ancienne variable
$HTTP_SESSION_VARS. Voir le chapitre Sessions handling functions pour
plus d'informations.


--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net
Avatar
O.L.
Thibaut Allender a couché sur son écran :
On 7/11/2005 18:12, O.L. wrote :
PS : et donc si register_globals est à "off", mister Nicolas pourra
récupérer la valeur de ses paramètres passés dans l'URL, en utilisant les
variables $_GET et $_POST qui sont automatiquement remplies avec *tout* ce
qu'on passe en "paramètre d'URL" et en champs de formulaires.



En register_globals On aussi...



Oui

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net
Avatar
O.L.
Dans son message précédent, Olivier Masson a écrit :
Thibaut Allender a écrit :
On 7/11/2005 18:06, ASM wrote :

ce sera pour la leçon suivante ...




en privé ou dans le groupe dédié à PHP alors, parce que sinon, on a pas
fini ;-)




oui, d'autant plus que register_globals est à off par défaut maintenant pour
des raisons de sécurité.
D'ailleurs utiliser ça révèle qd même une program assez brouillonne je
trouve.



"assez brouillonne", pfff :-p
Moi j'trouve ça bien plus pratique, et c'est moins long d'écrire $var
que $_POST["var"] ... Pi il suffit de bien écrire son code et de se
protéger, en initialisant sas variables au début du script comme il
faut.

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net
1 2 3