Comment laisser une fenêtre pop up s'ouvrir sans le template

Petit nouveau ! | 5 Messages

13 sept. 2011, 21:13

Bonjour,
Je viens de décomposer mon site a l'aide d'un tutoriel du site Grafikart, et tout marche nickel le tuto est très bien fait mais j'ai tout de même un problème :(
Je n'arrive pas a ouvrir une petite fenêtre d'aide mais sans mon template.

Code : Tout sélectionner

<a href="<?php echo WEBROOT;?>article/aide" target="wclose" onclick="window.open('aide','wclose','width=380,height=350,toolbar=no,status=no,left=20,top=30')"></a>

La page qui joue le rôle de carrefour sans modif de ma part:
 <?php
 define("WEBROOT","/******/");
if(!isset($_GET["p"])){$_GET["p"]="index";}
if(!file_exists("content/".$_GET["p"].".php")){$_GET["p"]="404";}
if(!preg_match("#^[a-zA-Z0-9]+$#",$_GET['page'])){
$_GET['page']="404";
}
ob_start();
include"content/".$_GET["p"].".php"; $content = ob_get_contents();
ob_end_clean();
include"template.php";
?>
Voila je pense comprendre ce code mais depuis 7 jours que j’essaye, je n'arrive pas a afficher une fenêtre d'aide sans template. Je relis pourtant mon livre de php avec les bases mais je tourne en rond, rien n'y fait. Sa marche pas, surtout je pige pas.

Si quelqu'un pourrai m'aider et me donner de bonne explication pour comprendre?

Merci!!

ViPHP
ViPHP | 2577 Messages

14 sept. 2011, 10:04

Le premier paramètre de window.open doit être une url. A priori celle que tu mets dans href.

Petit nouveau ! | 5 Messages

14 sept. 2011, 22:34

Salut Mazarini, je comprends ce que tu veux dire pour url mais même si j'en mets un, j'ai toujours mon template au fond de ma page. non?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 sept. 2011, 22:44

non, sauf si tu utilise une page utilisant la moulinette général.

maintenant si tu met http://tonsireoueb.com/pageaide.html et c'est toi qui créer le fichier de A à Z :)


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

14 sept. 2011, 22:52

J'ai toujours mon template comme ca aussi.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 sept. 2011, 23:10

O_o

Tu n'aurais pas une ré écriture d'url qui metterais le brin quelque part ?

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

15 sept. 2011, 20:46

Si pardon, un fichier .htacess:

Code : Tout sélectionner

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
Ah je commence à comprendre, il remplace toute les url puis redirige sur index.php?p=
[QSA] laisse passer d'autre variable $_GET?


Je ne jamais lue de tutoriel sur ça, si quelqu'un en connait un de bien?
C'est un langage spécial dans les fichiers .htacess? Comment il s'appelle?

merci Moogli de me mettre sur le chemin.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 sept. 2011, 20:48

rien de tel que la doc officiel :)

http://httpd.apache.org/docs/trunk/rewrite/

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

18 sept. 2011, 15:18

Me revoilà après plusieurs lecture et tutoriel sur la réécriture des URLs et les expressions régulières qui sont assez imbuvable pour des débutants comme moi, il faut le dire :P

J'y suis arrivé avec je pense du bricolage.

J'ai modifié mon fichier php qui fait carrefour avec:
if($_GET['notpl']){
    echo $content;
}else{
et ça donne:
 <?php
 define("WEBROOT","/******/");
if(!isset($_GET["p"])){$_GET["p"]="index";}
if(!file_exists("content/".$_GET["p"].".php")){$_GET["p"]="404";}
if(!preg_match("#^[a-zA-Z0-9]+$#",$_GET['page'])){
$_GET['page']="404";
}
ob_start();
include"content/".$_GET["p"].".php"; $content = ob_get_contents();
ob_end_clean();

if($_GET['notpl']){
    echo $content;
}else{
    include "template.php";
}
?>
Puis j'ai rajouté dans mon lien (?notpl=aide):

Code : Tout sélectionner

<a href="<?php echo WEBROOT;?>article/aide?notpl=aide" target="wclose" onclick="window.open('aide','wclose','width=380,height=350,toolbar=no,status=no,left=20,top=30')"></a>
Si vous avez un solution plus propre car je trouve ça bizarre mais sa marche sans changer ma réécriture d'url?