Include et liens - PHP - Programmation
Marsh Posté le 10-09-2006 à 00:21:14
he bien, tu passe un paramètre dans ton lien et tu utilise une array pour connaitre le fichier à inclure, par exemple
Code :
|
Code :
|
Marsh Posté le 10-09-2006 à 01:09:43
Euh, quitte à lui donner du code, tu pouvais éviter de le faire aussi crade, ton $page gagnerait beaucoup à devenir $_GET['page'] et t'as jamais qu'une erreur potentielle ligne 11
Marsh Posté le 10-09-2006 à 07:14:28
D'accord pour le GET, à moins qu'il n'utilise aussi des FORMs... J'ai supposé que PHP était configuré avec register_globals=on et que error_reporting ne contenait pas E_NOTICE.
Sans ces options (largement répandues), la ligne 11 devient:
Code :
|
Marsh Posté le 10-09-2006 à 10:35:13
desolé je suis debutant en php. mon code que j'ai tapé au debut il faut bien que je le remette ? sinon si vous pouviez me mettre tout le code d'un coup ce serais sympa
merci
Marsh Posté le 10-09-2006 à 10:54:39
:S
Le tout premier code est celui contenu dans menu.php et/ou top.php.
Le second est celui contenu dans index.php.
Le troisième corrige la ligne 11 du second.
Mieux vaut que tu comprenne comme ça fonctionne plutôt que de faire un copié/collé.
Lis la doc sur php.net sur les arrays pour comprendre le fonctionnement:
http://fr.php.net/manual/fr/language.types.array.php
Marsh Posté le 10-09-2006 à 11:16:21
nargy a écrit : D'accord pour le GET, à moins qu'il n'utilise aussi des FORMs... J'ai supposé que PHP était configuré avec register_globals=on et que error_reporting ne contenait pas E_NOTICE.
|
Qui le sont heureusement de moins en moins vu que depuis php5 le register_global est a off par defaut... Et si je ne m'abuse il sera d'ailleurs supprimé en php6.
Ensuite pour le error_reporting, effectivement c'est repandu sur des serveurs de production, mais vu le niveau de l'auteur du topic je pencherais plus pour un debutant qui cherche a comprendre ses erreurs ... Du coups effectivement il serait judicieux de lui donner un code juste, ou encore plus judicieux de lui expliquer la demarche pour qu'il y arrive tout seul
Marsh Posté le 10-09-2006 à 12:31:34
> Et si je ne m'abuse il sera d'ailleurs supprimé en php6.
J'espère bien que tu t'abuse
J'ai pas trop envie de refaire les scripts PHP3.
Marsh Posté le 10-09-2006 à 12:47:32
nargy a écrit : > Et si je ne m'abuse il sera d'ailleurs supprimé en php6. |
Ben il fallait t'y prendre dès le depart, car les register_globals c'est pourri
Marsh Posté le 10-09-2006 à 13:23:20
> les register_globals c'est pourri
ben, c'était pourtant la norme en PHP3. Les super-globales ne sont pas non plus le top: il est tentant de les utiliser dans des fonctions sans la syntaxe <<global>> qui sert d'avertissement en début de fonction.
Les register_globals c'est toujours très pratique, sauf cas particuliers. J'ai jamais vraiment pigé quel est l'intérêt de les supprimer. Mais peut-être y-a-t-il quelqu'un qui peut me donner une réponse?
Marsh Posté le 10-09-2006 à 13:28:03
nargy a écrit : |
faille de sécu sur les scripts mal conçu
genre
Code :
|
Avec register_global :
un appel à mapage.php?var=1 supprime ta base de données
Sans register_global, normalement, php gueule disant que $var n'est pas initialisé. (si je me souviens bien, hein)
Marsh Posté le 10-09-2006 à 13:38:32
Oui merci je viens de trouver les arguments contre, en répondant à une autre question:
http://fr2.php.net/register_globals
Enfin, il n'y a donc pas de raison de supprimer cette option, mais d'y faire attention si on l'utilise, et de vérifier quand c'est nécessaire d'où provient la variable. Celà représente somme toute que quelques pages dans un site.
Marsh Posté le 10-09-2006 à 15:40:32
nargy a écrit : Oui merci je viens de trouver les arguments contre, en répondant à une autre question: |
Y a pas de raison de devoir avoir un port d'arme pour se balader avec un flingue, suffi de faire gaffe avec et personne ne se feras de bobo ...
En meme temps vu les gens qui trainent ici et les questions posées dans PHP, je suis content qu'il y ait besoin d'un permis de port d'arme
Marsh Posté le 09-09-2006 à 21:46:08
bonsoir
je suis assez debutant en php, voici le code que j'ai tapé :
le probleme : comment faire pour que lorsque l'on clique sur un lien du menu, il s'affiche a la place de index2.php ?
merci