Page 1 sur 1

pseudo cadre

Posté : 19 juin 2005, 19:17
par pleko
Bonjours,

J'essaye de refaire mon site avec php et j'essaye de faire des pseudo cadres sauf que ca marche pas et je trouve pas ce qui coince, même si je n'ai pas de retour d'erreurs ça ne fait pas ce que je veux!!! Voici donc le code de ma page index.php...

Code : Tout sélectionner

<html> <title>DFX PHP TEST</title> <head> <LINK href="davidfx.css" rel="stylesheet" type="text/css"> <?php if( ! isset( $n ) ) $n = 0; $page = 'page'.$n.'.php'; if (!file_exists($page)){$page = '404.php';} ?> </head> <body> <table width="75%" border="1" cellpadding="1"> <tr> <td colspan="2" class="TITRE1"><div align="center">DAVID-FX, le deuxieme effet david.</div></td> </tr> <tr> <td width="150"> <a class="TEXT" href="index.php?n=1"><b>page1</b></a><br><br> <a class="TEXT" href="index.php?n=2"><b>page2</b></a><br><br> <a class="TEXT" href="index.php?n=3"><b>page3</b></a></td> <td><?php include($page); echo ($n)?></td> </tr> </table> </body> </html>
Mon probleme est que la variable n garde toujours la valeur 0!?!
Quelqu'un peut me dire pourquoi et comment y remédier?

------
pleko

Posté : 19 juin 2005, 19:21
par angel0
Il faut pas mettre $n, il faut mettre $_GET['n']
t'as qu'à mettre $n = $_GET['n']; en haut

Posté : 19 juin 2005, 19:24
par pleko
Ca Marche, MERCI

Posté : 19 juin 2005, 19:29
par angel0
Pour récupérer ce qu'il y a après le ? tu dois utiliser la superglobales $_GET

exemple :
page.php?n=1
<?php
echo $n;                // n'écrit rien
echo $_GET['n'];    // écrit 1
?>
Si ca ne marche pas ca... il y a un problème.

Posté : 19 juin 2005, 19:30
par angel0
ok ;)

Posté : 19 juin 2005, 20:09
par pleko
En fait ça marche mais... lorsque je tape l'url /index.php
il me retourne ceci :
Notice: Undefined index: n in c:\www\dfx 3.alpha\index.php on line 3
Je comprend qu'il ne trouve pas n dans l'url et que c'est pour cela qu'il geule;
alors comment faire pour qu'il prenne une page par défaut au lieu de sortir une erreur??
$n = $_GET['n'];
if( ! isset( $n ) ) $n = 1;
$page = 'page'.$n.'.php';
if (!file_exists($page)){$page = '404.php';}

Posté : 19 juin 2005, 20:15
par Cyrano
Remplace les deux premières lignes par une seule :
<?php
$n = isset($_GET['n']) ? $_GET['n'] : 1;
$page = 'page'.$n.'.php';
if (!file_exists($page)){$page = '404.php';}
?>

Posté : 19 juin 2005, 20:19
par pleko
Merci à tous cette fois ca marche vraiment.