erreur avec $_get[id]

Eléphant du PHP | 216 Messages

11 avr. 2006, 20:09

Bonjour :D

Voila j'ai un problème avec ce script et c'est normal j'ai même trouver la source du problème, seul hic je ne sais pas le réparer, un peut d'aide serait la bienvenue :D

Voici le message d'erreur:

Code : Tout sélectionner

Notice: Undefined index: id in c:\program files\easyphp1-8\www\vs.5.0\index.php on line 32
Voici mon code:
<?php
   
  /* On définit le tableau contenant les pages autorisées */
  $page_name = $_GET['id'];  /* c'est ici qu'il m'affiche l'erreur quand il n'y a pas d'id derière l url */
  $page = array('News' => 'news.php',
                  'accueil' => 'accueil.php');

  /* On teste que le paramètre d'url existe et qu'il est bien autorisé */
  if ( (isset($_GET['id'])) && (isset($page[$_GET['id']])) ) {
    echo '<span class="Style4">>> <a href="index.php">Index </a><span class="Style4">>> </span><a href="?id='.$page_name.'" title="Voila page: '.$page_name.'">'.$page_name.'</a>';  /* affiche le nom de la page */
  } else {
    echo '<h2 align="left" id="pageName"></h2> 
      <span class="Style4">>> </span><a href="index.php">Index</a></div>';   /* Page par défaut */
  }

?>
Merci d'avance :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Eléphant du PHP | 135 Messages

11 avr. 2006, 20:17

en faite,

quand tu as cette erreur, tu remarqueras qu'il n'y a pas de ?id= dans l'url

ce que tu peux faire ça serait quelque chose de similaire
if ( isset($_GET['id']) && is_numeric($_GET['id']) ) 
{

 $page_name = $_GET['id'];

} else {

 $page_name = 1;

}
le isset($_GET['id']) vérifie qu'il y ai bien un ?id=X dans l'url

le is_numeric($_GET['id']) c'est pour vérifier que c'est bien un nombre


tu dois toujours vérifier les variables que les utilisateurs vont entrer.

imagine si le gars met ?id=raoul , que va faire ton script? :)
Modifié en dernier par Erazer le 11 avr. 2006, 20:21, modifié 1 fois.

Eléphant du PHP | 216 Messages

11 avr. 2006, 20:21

Ok, merci beaucoups, seul problème mes ?id
ne sont pas égal à des chiffres, il sont plutôt du style index.php?id=news

En tout cas merci pour la rapidité de réponse! je met résolue je vais essayer de bidouiller! on vera si cela marche :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Eléphant du PHP | 135 Messages

11 avr. 2006, 20:22

oups ;)

bonne recherche :)

Eléphant du PHP | 216 Messages

11 avr. 2006, 20:29

Merci, je pense quand remodulant tout ça j'arriverais à quelque choses :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Eléphant du PHP | 216 Messages

11 avr. 2006, 20:49

Des fois je fait n'importe quoi je devrais tourner 7 fois mon clavier avant de poster:
Erreur de débutant ma variable n'était pas au bon endroit:

voila le code qui fonctionne:
<?php
   
  /* On définit le tableau contenant les pages autorisées */
  $page = array('News' => 'news.php',
                  'accueil' => 'accueil.php');

  /* On teste que le paramètre d'url existe et qu'il est bien autorisé */
  if ( (isset($_GET['id'])) && (isset($page[$_GET['id']])) ) {
  $page_name = $_GET['id'];  /* la voici déplacée */

   echo '<span class="Style4">>> <a href="index.php">Index </a><span class="Style4">>> </span><a href="?id='.$page_name.'" title="Voila page: '.$page_name.'">'.$page_name.'</a>';  /* affiche le nom de la page */
  } else {
    echo '<h2 align="left" id="pageName"></h2>
      <span class="Style4">>> </span><a href="index.php">Index</a></div>';   /* Page par défaut */
  }

?>
C'est bon tout fonctionne :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image