Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 03-09-2006 14:25:25

Audiofeeline
Membre

Include page : Pourquoi ça ne marche pas?

Voilà mon code :

[c]<?php
$idpage=htmlentities($idpage);
$idpage=preg_replace("/[^a-z0-9_ ]/i", "", $idpage);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / $idpage';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
?>

<div id="page" class="block"><h2><span><?php echo "$idpage"; ?></span></h2>
<div class="box">
<div class="inbox">

<?php
if(!@include("/pages/$idpage.php")) die("Page indisponible...");
?>

</div>
</div>
</div>

<?php require PUN_ROOT.'footer.php'; ?>[/c]

Je suis chez Free, pourquoi ça veut pas?...
http://audiofeeline.free.fr/forum/page.php?idpage=Test
(J'ai viré le DIE pour le test)

Dernière modification par Audiofeeline (03-09-2006 14:33:06)


Divertissement : Cinéma, musique, jeux vidéo, Internet et web 2.0...
Musique : Actualité musicale, vidéo clips et chroniques d'albums...
Rencontres : Metal, hardrock, punk, hardcore...

Hors ligne

#2 03-09-2006 14:35:42

mangafan
Membre

Re : Include page : Pourquoi ça ne marche pas?

happy echo $idpage; happy

pour récupérer la variable c'est $_GET['idpage']


if(!@include("/pages/$idpage.php")) die("Page indisponible...");

if(!@include("/pages/" . $_GET['idpage'] . ".php")) die("Page indisponible...");

Par contre c'est risqué comme méthode... je préfère te le dire happy

Dernière modification par mangafan (03-09-2006 14:36:06)


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#3 03-09-2006 14:37:35

Audiofeeline
Membre

Re : Include page : Pourquoi ça ne marche pas?

Je sais bien mais je ne sais pas comment faire autrement...

Déjà, j'ai ça :
[c]$idpage=htmlentities($idpage);
$idpage=preg_replace("/[^a-z0-9_ ]/i", "", $idpage);[/c]

Si tu as mieux......

Edit : La page s'affiche mais la variable ne passe pas... siffle

Dernière modification par Audiofeeline (03-09-2006 14:39:21)


Divertissement : Cinéma, musique, jeux vidéo, Internet et web 2.0...
Musique : Actualité musicale, vidéo clips et chroniques d'albums...
Rencontres : Metal, hardrock, punk, hardcore...

Hors ligne

#4 03-09-2006 14:42:49

mangafan
Membre

Re : Include page : Pourquoi ça ne marche pas?

Tu veux inclure quel genre de page, du contenu, parce que je vois que tu as puntal.

Pourquoi ne pas utiliser le module page annexes prévu à cet effet ?


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#5 03-09-2006 14:43:47

Audiofeeline
Membre

Re : Include page : Pourquoi ça ne marche pas?

1- Pour ma culture personnelle
2- Pour faire un programme PHP inclus à Punbb (pas à Puntal)

^^

Dernière modification par Audiofeeline (03-09-2006 14:46:05)


Divertissement : Cinéma, musique, jeux vidéo, Internet et web 2.0...
Musique : Actualité musicale, vidéo clips et chroniques d'albums...
Rencontres : Metal, hardrock, punk, hardcore...

Hors ligne

#6 03-09-2006 14:47:51

mangafan
Membre

Re : Include page : Pourquoi ça ne marche pas?

C'est normal tu dois changer $idpage partout happy
[c]
<?php
$idpage=htmlentities($_GET['idpage']);
$idpage=preg_replace("/[^a-z0-9_ ]/i", "", $idpage);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / ' . $idpage;
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
?>

<div id="page" class="block"><h2><span><?php echo $idpage; ?></span></h2>
<div class="box">
<div class="inbox">

<?php
if(!@include("/pages/" . $idpage . ".php")) die("Page indisponible...");
?>

</div>
</div>
</div>

<?php require PUN_ROOT.'footer.php'; ?>[/c]

Va falloir lire ça par contre :

http://www.lephpfacile.com/cours/index.php?p=6

http://www.lephpfacile.com/cours/index.php

http://docs.punbb.fr/faq.html#faq3_4

Dernière modification par mangafan (03-09-2006 14:51:19)


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#7 03-09-2006 14:51:56

Audiofeeline
Membre

Re : Include page : Pourquoi ça ne marche pas?

Ah ouais...
Ok ('.$var.')

Mais ton code là, ça veut pas... huh
Normalement c'est pas si complexe les includes... Pige pô...


Divertissement : Cinéma, musique, jeux vidéo, Internet et web 2.0...
Musique : Actualité musicale, vidéo clips et chroniques d'albums...
Rencontres : Metal, hardrock, punk, hardcore...

Hors ligne

#8 03-09-2006 14:58:43

mangafan
Membre

Re : Include page : Pourquoi ça ne marche pas?

essais ça


if(!@include("/pages/" . $idpage . ".php")) die("Page " . $idpage . " indisponible...");

Qu'on est un idée du résultat de preg_replace voir ce que ça essaye d'inclure happy


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#9 03-09-2006 16:41:40

Mpok
Néo Admin

Re : Include page : Pourquoi ça ne marche pas?

Bonjour,

C'est la structure de ton test qui n'est pas bonne :
il faut faire un truc du genre

if (test_de_l'existence_du_fichier) {
 include(le_fichier);
}

en n'omettant surtout pas les "{"

Edit : à vérifier aussi les chemins, un "./pages" ne serait pas du luxe...

Edit 2 : ton preg_replace ne sert à rien, il vaudrait mieux tester directement la page que tu inclus par une serie de "if ($idpage == 'toto')", ceci pour éviter au maximum les trous de sécurité

Dernière modification par Mpok (03-09-2006 16:46:15)

Hors ligne

#10 03-09-2006 20:56:55

foxmask
Lugo

Re : Include page : Pourquoi ça ne marche pas?

@Mpok les {} sont inutles si une seule instruction dans un if, ils sont par contre obligatoires en Perl (un autre langage de script).

pour le reste : +1 avec toi wink

de plus un htmlentities() sur un id c'est un non sens.
mieux vaut faire un if is_numeric($id)


http://www.foxmask.info
HaveFnuBB! le seul forum produit avec le framework PHP5 Jelix
(dé)pot de miel
Membre de la CoreTeam Jelix

Hors ligne

#11 03-09-2006 22:50:03

Mpok
Néo Admin

Re : Include page : Pourquoi ça ne marche pas?

foxmask a écrit :

@Mpok les {} sont inutles si une seule instruction dans un if

Ben, si, apparemment ils sont nécessaires (j'ai pas testé...) si j'en crois cette référence (exemple 16-36) :

Comme include() et require()  sont des structures du langage particulières, vous devez les placer dans un bloc s'ils sont placés dans un bloc conditionnel.

Hors ligne

Pied de page des forums