Erreur en php [Résolu]

Signaler
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 2019
-
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 2019
-
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

1 réponse

Messages postés
31438
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2021
344
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
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 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
Messages postés
31438
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2021
344 >
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 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..)*
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 2019
>
Messages postés
31438
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2021

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> 
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 2019
>
Messages postés
119
Date d'inscription
vendredi 27 mars 2015
Statut
Membre
Dernière intervention
2 avril 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