erreur PHP

kdidot
Invité n'ayant pas de compte PHPfrance

30 août 2012, 14:24

Bonjour,

Je cherche a assigner une couleur à mes liens quand ils sont actif. Lorsque j'utilise le navigateur pour visualiser, il me retourne des erreurs:

Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 61
>accueil
Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 62

Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 62

Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 62
>FONDATION
Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 74

Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 74

Notice: Undefined index: page in C:\wamp\www\Pierre_Eugene\index.php on line 74


Voici le code que j'ai inséré dans ma page php:

<li><a href="/Pierre_Eugene/?page=accueil" <?php if($_GET['page'] == "accueil"){ echo ' class="hover"'; } ?>>accueil</a></li>
<li><a href="/Pierre_Eugene/?page=buts" <?php if($_GET['page'] == "buts" or $_GET['page'] == "conseil" or $_GET['page'] == "historique"){ echo 'class="hover"'; } ?>>FONDATION</a>


Est-il possible de m'aider à trouver le petit problème dans mes lignes?

Meilleures salutations

Kévin

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

30 août 2012, 14:28

salut,


$_GET['page'] n'existe pas (donc pas de page=xx dans l'url).

Utilise la fonction isset ou empty pour éviter ce message d'erreur



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

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

30 août 2012, 14:28

Le problème, c'est tout simplement que tu utilises la variables $_GET['page'] sans te poser la question de savoir si elle existait réellement. En l'occurrence, si dans ton url il n'y a pas de paramètre "page" (genre à la première ouverture), alors php va t'avertir que tu fais appel à un index de tableau ($_GET) qui n'est pas défini.

Tu peux facilement tester si ta variable existe avec isSet(). Tu pourrais même avec un if() lui donner une valeur par défaut quand elle n'est pas définie :)

Edit : damned, grillé ! tou mé lé payéra mouguili ! ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

kdidot
Invité n'ayant pas de compte PHPfrance

30 août 2012, 14:32

Merci pour votre réponse rapide. Je suis assez débutant en PHP. Et je suis entrain de créer un site. Un ami est venu m'aider hier soir.
Le isset ou empty tout seul me dit pas grand chose :oops: .
Est-il possible de me donner la ligne a écrire? Ou m'expliquer un peu plus en détail?

Merci beaucoup

ViPHP
xTG
ViPHP | 7331 Messages

30 août 2012, 14:41

if( isSet($maVar) ){
  echo '$maVar existe.';
}
if( empty($maVar) ){
  echo '$maVar existe mais est vide';
}
;)

kdidot
Invité n'ayant pas de compte PHPfrance

30 août 2012, 14:44

Merci beaucoup!

A bientot ;)

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

30 août 2012, 14:46

j'aurais du mettre le lien en plus gros, :/ (c'est pas comme si y il avait des exemple :d)
Edit : damned, grillé ! tou mé lé payéra mouguili !
pas fait exprès j'te jure, c'est aps ma faute, c'est le forum il a mis mon post avant le tiens :mrgreen: :mrgreen:
Il en faut peu pour être heureux ......

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

30 août 2012, 15:28

Petite précision concernant le empty, il test également l'existence de la variable... donc en gros :
if( empty($maVar) ){
  echo '$maVar n\'existe pas OU $maVar existe mais est vide (ou égale à 0, ou false, ou null, ...)';
}
@Moogli : satané forum ! Il me fait régulièrement le coup ! ... ça doit être un pote à albat... :wink:
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 2577 Messages

30 août 2012, 15:35

Modère son post :lol: