Erreur en php [Résolu]

Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
- - Dernière réponse : Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
- 16 avril 2015 à 15:00
Bonjour,
J'ai rencontré une erreur lors de la création du fichier modifier_employer.php l'erreur ou le worning qui s'affiche avec le formulaire est "( ! ) Notice: Undefined index: Id_emp in C:\wamp\www\Gestion_des_Employes\modifier_employer.php on line 54 Call Stack #TimeMemoryFunctionLocation 10.0467399056{main}( )..\modifier_employer.php:0 " method="POST">"
le code est la :

<?php
if(isset($_POST['mode']) && $_POST['mode']=='Modifier'){
$a=mysql_connect("localhost","root","");
$b=mysql_select_db("gestion_personnel",$a);
$Id_emp=$_GET['Id_emp'];
$matricule=$_POST['matricule'];
$nom_prenom=$_POST['nom_prenom'];
$adresse=$_POST['adresse'];
$fonction=$_POST['fonction'];
$direction=$_POST['direction'];
$service=$_POST['service'];
$division=$_POST['division'];
$date_naissance=$_POST['date_naissance'];
$date_recrutement=$_POST['date_recrutement'];
$sexe=$_POST['sexe'];
$carte_Identite=$_POST['carte_Identite'];
$caisse=$_POST['caisse'];
$grade=$_POST['grade'];
$age=$_POST['age'];
$sql="update employer set matricule='$matricule', nom_prenom='$nom_prenom',adresse='$adresse',fonction='$fonction',direction='$direction',service='$service',division='$division',date_naissance='$date_naissance',date_recrutement='$date_recrutement',sexe='$sexe',carte_Identite='$carte_Identite',caisse='$caisse',grade='$grade',age='$grade' where Id_emp='$Id_emp';";
mysql_query($sql) or die("eurreur");
mysql_close();
header('location:afficher employer.php');
exit();
echo "<script>alert('la modification a ete effectuer');</script>";

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Gestion_Employe</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="author" content="Moctar ould Mohamed" />
<link rel="stylesheet" href="design.css" type="text/css" />
</head>
<body>

<div id="left">
<img src="logo.jpg" WIDTH='200%' HEIGHT='150'/>
</div>
<div id="haut">
<div id="right">

<img src="logo.jpg" WIDTH='200%' HEIGHT='150'/>
</div>
</div>

</div>
<div id="content2"><h2><font size="+1"><u><font size="+1">Gestion des Employer</font></u></pre></h2><br><br><br>
<fieldset style="background-color:#FFF;-webkit-border-radius:.9em;-moz-border-radius:.9em;">
<legend><h3>Modifier Employer</h3></legend>
<form action="modifier_employer.php?Id_emp=<?php echo $_GET['Id_emp']; ?>" method="POST">
<table border="4" bordercolor="kader" width="100%">
<tr><td>Matricule</td><td><input type="text" name="matricule" value=<?php echo $_GET['matricule']; ?> ></td></tr>
<tr><td>Nom_Prenom</td><td><input type="text" name="nom_prenom" value=<?php echo $_GET['nom_prenom']; ?> ></td></tr>
<tr><td>Adresse</td><td><input type="text" name="adresse" value=<?php echo $_GET['adresse']; ?> ></td></tr>
<tr><td>Fonction</td><td><select name="fonction"><option></option><option value="1">Planton</option><option value="2">Cadre</option></select></td></tr>
<tr><td>Direction</td><td><input type="text" name="direction" value=<?php echo $_GET['direction']; ?> ></td></tr>
<tr><td>Service</td><td><input type="text" name="service" value=<?php echo $_GET['service']; ?> ></td></tr>
<tr><td>Division</td><td><input type="text" name="division" value=<?php echo $_GET['division']; ?> ></td></tr>
<tr><td>Date_Naissance</td><td><input type="text" name="date_naissance" value=<?php echo $_GET['date_naissance']; ?> ></td></tr>
<tr><td>Date_Recrutement</td><td><input type="text" name="date_recrutement" value=<?php echo $_GET['date_recrutement']; ?> ></td></tr>
<tr><td>Sexe</td><td><select name="sexe"><option></option><option value="1">Homme</option><option value="2">Femme</option></select></td></tr>
<tr><td>Carte_Identite</td><td><input type="text" name="carte_identite" value=<?php echo $_GET['carte_identite']; ?> ></td></tr>
<tr><td>Caisse</td><td><input type="text" name="caisse" value=<?php echo $_GET['caisse']; ?> ></td></tr>
<tr><td>Grade</td><td><input type="text" name="grade" value=<?php echo $_GET['grade']; ?> ></td></tr>
<tr><td>Age</td><td><input type="text" name="age" value=<?php echo $_GET['age']; ?> ></td></tr>
<tr><td>Departement</td><td> <select name="direction" >


<?php $test=$_GET['direction'];
$idcon=mysql_connect("localhost","root","");
mysql_select_db("gestion_personnel",$idcon);
$reqet=mysql_query("select nomab from departement") or die(''.mysql_error());
?><?php
while($result=mysql_fetch_array($reqet)){
if($result['nomab']==$test){
?>
<option value="<?php echo $result['nomab'];?>" selected><?php echo $result['nomab'];?></option>
<?php
}
else
{
?>
<option value="<?php echo $result['nomab'];?>" ><?php echo $result['nomab'];?></option>
<?php
}
}
?>
</select></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="mode" value="Modifier"><input type="reset" value="Annulez"></td></tr>
</fieldset></form></table>
</div><!-- end content -->
</div><!-- end inner -->
</div><!-- end outer -->
<div id="footer"></div>
</div><!-- end container -->
</body></html>

Merci d'avance
Afficher la suite 

Votre réponse

1 réponse

Messages postés
25029
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mars 2019
364
0
Merci
Bonjour,

Undefined index: Id_emp

Signifie que ... Id_emp n'existe pas...
donc :
<?php echo $_GET['Id_emp']; ?
n'est pas possible si la variable Id_emp n'est pas présente dans ton url (variable GET).
Pour éviter cela... il est préférable de tester avec ISSET les variables AVANT de les utiliser (c'est valable aussi pour les variables POST / COOKIE /SESSION...)

Tu peux donc faire :
<?php

// Connexion à la BDD à placer dans un fichier que tu 
// n'auras qu'à inclure dans tes pages...
//--------------------------------------------------------//

$a=mysql_connect("localhost","root","");
$b=mysql_select_db("gestion_personnel",$a);

//--------------------------------------------------------//
// Fonction à placer dans un fichier commun que tu 
// n'auras qu'à inclure dans tes pages...
//--------------------------------------------------------//
function getPOST($varname,$default=''){
 return isset($_POST[$varname])?$_POST[$varname]:$default;
}

function getGET($varname,$default=''){
 return isset($_GET[$varname])?$_GET[$varname]:$default;
}
//--------------------------------------------------------//

// Récupération des variables (à mettre avant le if isset($_POST...)

$Id_emp=getGET('Id_emp');
$matricule=getPOST('matricule');
$nom_prenom=getPOST('nom_prenom');
$adresse=getPOST('adresse');
//... etc.. le reste de tes variables

// Traitement du Submit
if(isset($_POST['mode']) && $_POST['mode']=='Modifier'){

$sql="UPDATE employer 
          SET matricule='$matricule'
             ,nom_prenom='$nom_prenom'
             ,adresse='$adresse'
             ,fonction='$fonction'
             ,direction='$direction'
             ,service='$service'
             ,division='$division'
             ,date_naissance='$date_naissance'
             ,date_recrutement='$date_recrutement'
             ,sexe='$sexe'
             ,carte_Identite='$carte_Identite'
             ,caisse='$caisse'
             ,grade='$grade'
             ,age='$grade' 
        WHERE Id_emp='$Id_emp'";
mysql_query($sql) or die("eurreur");
mysql_close();
header('location:afficher employer.php');
exit();
echo "<script>alert('la modification a ete effectuer');</script>";
   
}

   
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Gestion_Employe</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="author" content="Moctar ould Mohamed" />
 <link rel="stylesheet" href="design.css" type="text/css" />
  </head>
  <body>
   
<div id="left">
<img src="logo.jpg" WIDTH='200%' HEIGHT='150'/>
</div>
<div id="haut">
<div id="right">

<img src="logo.jpg" WIDTH='200%' HEIGHT='150'/>
</div> 
</div>

  </div>
     <div id="content2"><h2><font size="+1"><u><font size="+1">Gestion des Employer</font></u></pre></h2><br><br><br>
 <fieldset style="background-color:#FFF;-webkit-border-radius:.9em;-moz-border-radius:.9em;">
 <legend><h3>Modifier Employer</h3></legend>
 <form action="modifier_employer.php?Id_emp=<?php echo $Id_emp; ?>" method="POST">
 <table border="4" bordercolor="kader" width="100%">




PS1 : Comme tu peux le voir.. je t'ai positionné ton code différemment et ai mis quelques commentaires. Essaye d'en tenir compte.

PS2 : Je t'avais également parlé de l'extension mysql_ obsolète.... tu n'en as pas tenu compte.
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

.




Cordialement,
Jordane
Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
-
Merciiiiiiiii Jordane l'erreur est partie mais un autre apparait c'est que dans chaque champs il m'affiche un tableau ou est ecrit
"(!)Notice:Undefined index matricule in C:\wamp\www\Gestion_des_Employes\modifier_employer.php on line 98" et la suite des autres variables et la balise <br> la ou on insere les donnees
Est ce que vous avez une idee?
Merci d'avance
jordane45
Messages postés
25029
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mars 2019
364 > Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
-
Tu as quoi à la ligne 98 du fichier modifier_employer.php ?? ( ligne donnée par le message d'erreur !)
Sachant que c'est ENCORE un souci d'index inconnu (comme précédemment..)*
Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
> jordane45
Messages postés
25029
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mars 2019
-
dans la ligne 98 et les lignes suivantes

<tr><td>Matricule</td><td><input type="text" name="matricule" value=<?php echo $_GET['matricule']; ?> ></td></tr>  <tr><td>Nom_Prenom</td><td><input type="text" name="nom_prenom" value=<?php echo $_GET['nom_prenom']; ?> ></td></tr>  <tr><td>Adresse</td><td><input type="text" name="adresse" value=<?php echo $_GET['adresse']; ?> ></td></tr>  <tr><td>Fonction</td><td><select name="fonction"><option></option><option value="1">Planton</option><option value="2">Cadre</option></select></td></tr>  <tr><td>Direction</td><td><input type="text" name="direction" value=<?php echo $_GET['direction']; ?> ></td></tr>  <tr><td>Service</td><td><input type="text" name="service" value=<?php echo $_GET['service']; ?> ></td></tr>  <tr><td>Division</td><td><input type="text" name="division" value=<?php echo $_GET['division']; ?> ></td></tr>  <tr><td>Date_Naissance</td><td><input type="text" name="date_naissance" value=<?php echo $_GET['date_naissance']; ?> ></td></tr>  <tr><td>Date_Recrutement</td><td><input type="text" name="date_recrutement" value=<?php echo $_GET['date_recrutement']; ?> ></td></tr>  <tr><td>Sexe</td><td><select name="sexe"><option></option><option value="1">Homme</option><option value="2">Femme</option></select></td></tr>       <tr><td>Carte_Identite</td><td><input type="text" name="carte_identite" value=<?php echo $_GET['carte_identite']; ?> ></td></tr>    <tr><td>Caisse</td><td><input type="text" name="caisse" value=<?php echo $_GET['caisse']; ?> ></td></tr>    <tr><td>Grade</td><td><input type="text" name="grade" value=<?php echo $_GET['grade']; ?> ></td></tr>       <tr><td>Age</td><td><input type="text" name="age" value=<?php echo $_GET['age']; ?> ></td></tr> 
Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
> Tar06
Messages postés
118
Date d'inscription
vendredi 27 mars 2015
Dernière intervention
11 mars 2019
-
Merciiiiiiiiiiiii J'ai trouvé le souci j'ai remplacé au lieu $_GET getGet et les parentheses au lieu du [ ]
Merciiiiiiiiiiiiiiiiiiii Mon frere Jordane Infiniment
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.