Erreur en php

Résolu
Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023 - 16 avril 2015 à 02:36
Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023 - 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

1 réponse

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
Modifié par jordane45 le 16/04/2015 à 15:10
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
0
Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023
Modifié par Tar06 le 16/04/2015 à 13:18
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
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344 > Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023
16 avril 2015 à 14:20
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..)*
0
Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023 > jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024
Modifié par jordane45 le 16/04/2015 à 15:11
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> 
0
Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023 > Tar06 Messages postés 120 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 5 juillet 2023
Modifié par Tar06 le 16/04/2015 à 15:04
Merciiiiiiiiiiiii J'ai trouvé le souci j'ai remplacé au lieu $_GET getGet et les parentheses au lieu du [ ]
Merciiiiiiiiiiiiiiiiiiii Mon frere Jordane Infiniment
0
Rejoignez-nous