Message d'erreur PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Message d'erreur PHP

Re: Message d'erreur PHP

par Spols » 21 mai 2012, 11:01

Ton message d'erreur t'indique que l'index 'var' n'existe pas à la ligne 2.
Sur cette ligne, on voit que tu assigne à la variable $var la valeur du tableaux _GET à l'index var. Seulement, si tu accède à ta page sans spécifier de valeur dans ce tableaux (sans une fin d'url du type ?var=valeur) celui ci est vide.

Le mieux pour éviter ce type d'erreur, est de systèmatiquement tester la présence d'une valeur ou mieux encore tester la présence de l'index dans ton tableaux. tu peux faire cela avec une condition qui teste avec la fonction isset(). Après tu as le choix entre définir une valeur par défaut ou passer à la suite du code.

Pour une valeur par défaut, tu peux assigner ta variable de cette façon :
$var = (isset($_GET['var'])) ? $_GET['var'] : 'home';
//cette ligne est équivalente aux lignes suivantes
if (isset($_GET['var'])) {
$var = $_GET['var'];
} else {
$var = 'home';
}
La valeur que tu donne par défaut importe peu dans ce cas ci, pour autant que ce ne soit pas une valeur d'un case, tu ira vers ta page acceuil

Si le code qui suit ne dois pas être éxécuté si tu n'a pas de valeur, tu dois mettre tout la suite de ton code dans une condition if (probablement pas le cas ici mais c'est pour être le plus complet possible)

Re: Message d'erreur PHP

par Mazarini » 21 mai 2012, 10:52

Cela signifie que l'index 'var' n'est pas défini dans $_GET.
Tu peux ajouter var_dump($_GET); en debut de script pour voir ce que contient $_GET.
Pour ne pas voir l'erreur, il faut tester l'existence de la variable :
<?PHP
if (isset($_GET['var'])
{
  $var = $_GET['var'];
}
else
{
  $var = ''; // A toi de déterminer cette valeur, la ca doit aller sur l'accueil.
}
?>

Message d'erreur PHP

par massrt » 21 mai 2012, 10:37

Bonjour a tous!

Je voudrais comprendre comment faire pour faire disparaitre le message d'erreur dans mon code ci-dessous. lorsque j'execute la page,on m'affiche un message d'erreur.
Message d'erreur: Notice: Undefined index: var in c:\easyphp\www\site\variable.inc.php on line 2
NB: Je suis débutant donc soyez indulgent SVP!

[php]<?php
$var=$_GET['var'];
switch ($var) {
case "historique" :
$page="historique.inc.php";
break;

case "mission" :
$page="mission.inc.php";
break;

case "mot" :
$page="lemot.inc.php";
break;

case "organe" :
$page="organe.inc.php";
break;

case "attribution" :
$page="attribution.inc.php";
break;

case "structures" :
$page="structures.inc.php";
break;

case "cooperation" :
$page="cooperation.inc.php";
break;

case "admission" :
$page="admission.inc.php";
break;

case "admission2" :
$page="admission2.inc.php";
break;

case "direct" :
$page="direct.inc.php";
break;

case "prof" :
$page="prof.inc.php";
break;

case "etranger" :
$page="etranger.inc.php";
break;

case "resultat" :
$page="resultat.inc.php";
break;

case "inscription" :
$page="inscription.inc.php";
break;

case "f_initiale" :
$page="f_initiale.inc.php";
break;

case "f_continue" :
$page="f_continue.inc.php";
break;

case "contacts" :
$page="contacts.inc.php";
break;

case "ecrire" :
$page="ecrire.inc.php";
break;

case "actualite" :
$page="actualite.inc.php";
break;
default :
$page="accueil.inc.php";

} ?>[/php]