Problemes avec les pseudo-frames [Résolu]

Signaler
Messages postés
9
Date d'inscription
dimanche 27 juillet 2003
Statut
Membre
Dernière intervention
10 juin 2006
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Guardian01

Bonjour

Mon fichier index.php commence comme ca...

<?
if(!isset($nb)){$nb=1;};

$nb=$_GET['nb'];

Le probleme,
la première fois que j'arrive il ni a pas de varriable et m'affiche une erreur
Les autre fois tous vas bien

Merci d'avance pour la réponse
à bientôt.

Guardian Claude

4 réponses

Messages postés
432
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

essaye

$nb = (isset($_GET['nb'])) ? $_GET['nb'] : 1 ;

a la place de tout ça =)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

tss tss...;-)
On balance des opérateurs ternaires à un débutant, et on ne lui explique pas pourquoi ce qu'il a fait ne fonctionnait po. C'est po très didactique tout ça, Mono! (ça te dérange pas si je 'appelle Mono, lol?)

Guardian =>

cette syntaxe donnée par monoceros s'appelle un opérateur ternaire.
Cela en revient exactement à ça (mais c'est plus court lol):

if (!isset ($_GET['nb'])) {
$nb = 1;
}
else {
$nb = $_GET['nb'];
}

tes erreurs :
- tu vérifies si $nb existe...alors que, vu que tu passes une variable nb par l'url, tu dois vérifier l'existence de cette variable passée dans ton url, grâce -comme tu l'avais compris - au tableau $_GET
donc c'est if (!isset ($_GET['nb'])) et non pas if (!isset ($nb))

- tu ne respectes pas ta condition... ;-) Etant donné que tu ne mets pas de else, ce qui se passe avec ton code c'est que : si $nb n'existe pas, tu lui assignes 1. Puis, quoi qu'il se passe, tu lui assignes la valeur de $_GET['nb']. Bref tu fais les deux, ce qui ne sert évidemment à rien.

Ton but :
- vérifier que tu as bien passé nb en paramètre dans ton url.
- si ce n'est pas le cas, tu assignes 1 à une variable $nb, et tu poursuis ton code.
- si c'est le cas, tu assignes ce $_GET['nb'] existant à une variable $nb, et tu poursuis ton code.
Messages postés
432
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Rhooo mais je fais confiance à la curiosité du débutant qui aura le vif réflexe d'aller voir dans la documentation pour comprendre bien évidemment :p
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ouais mais toi t'as bon fond...po mouah ;-)