par
Arkonara » 09 mars 2009, 12:06
Merci Yaug t'as solution est la bonne et merci a toi oci furiouslol de m'avoir accorder un interet..
mais desormais j'ai un autre probleme, car l'enregistrement du contenu du formulaire ne s'effectue plus
il me met le message suivant
Code : Tout sélectionner
Cannot add or update a child row: a foreign key constraint fails (`incidents_editiques/incidents`, CONSTRAINT `fk_Employer` FOREIGN KEY (`NumEmploye`) REFERENCES `employer` (`NumEmploye`))
Voici mon code qui doit me permettre l'enregistrement
<?php
require_once('../connexion.php');
if ($db)
{
if(isset($_POST['enregistrer']))
{
//allocation des variables
//$numFiche="";
$LienFiche="";
$dateicdt=$_POST['AnotherDate'];
$date = preg_replace('/^(.{2})\/(.{2})\/(.{4})$/','$3-$2-$1', $dateicdt);
$heuricdt=$_POST['heure_icdt'];
$desicdt=$_POST['descrip_icdt'];
$desresol="";
$dateresol="";
$heuresol="";
$inter="";
$observ=$_POST['observation'];
$motifreouv="";
$teamtrack="";
$remarqueresp="";
$majeur1=$_POST['choix'];
if ($majeur1=="true")
{
$majeur="1";
}
elseif ($majeur1=="false")
{
$majeur="0";
}
$impactsocietaire=$_POST['choix2'];
$matereiel=$_POST['lstmateriel'];
$secteur=$_POST['lstSecteur'];
$staticdt="OUV";
$statuprod=$_POST['lstStatutProd'];
$declarant=$_POST['declarant'];
echo $_POST['declarant'];
//Execution de la requete, cela me renvoi une ressource
$query="SELECT NumEmploye FROM employer WHERE Nom='".$declarant."';";
$rsc = mysql_query($query);
//Transformation de la ressource en résultat
$result = mysql_fetch_assoc($rsc);
//Exploitation du résultat
$numemployer = $result['NumEmploye'];
$prestataire=$_POST['lstPrestataire'];
$query="INSERT INTO incidents (`num_fiche`,`lien_fiche`,`date_icdt`,`heure_icdt`,`descrip_icdt`,`descrip_resol`,`date_resol`,`heure_resol`,`Intervenant`,`observation`,`motif_r_icdt`,`num_teamtrack`,`remarque_resp`,`icdt_majeur`, `ImpactSocietaire`,`CodeMateriel`,`CodeSecteur`,`CodeStatutIncident`,`CodeStatutProd`,`NumEmploye`,`CodePrestataire`)
VALUES('','$LienFiche','$date','$heuricdt','$desicdt','$desresol','$dateresol','$heuresol','$inter','$observ','$motifreouv','$teamtrack','$remarqueresp','$majeur','$impactsocietaire','$matereiel', '$secteur','$staticdt','$statuprod','$numemployer','$prestataire')";
$result= mysql_query($query) or die(mysql_error());
include("IncidentsEnregistrer.html");
}
else
{
echo 'Aucunes données n\'est transmises au formulaire';
}
}
else
{
'Problème à la connexion';
}
?>
ok je viens de trouver le probleme, il venait du disabled
Code : Tout sélectionner
<td style="width: 33%"><font face="arial" color='#01796F'><center><b>Déclarant de l'incident :</b>
<?php
$declarant=$_SESSION['num_employe'];
$sql = "SELECT Nom FROM employer WHERE NumEmploye='$declarant'";
$res = mysql_query($sql);
$resultat = mysql_fetch_assoc($res);
?>
<input type="text" name="declarant" style="width: 150px;" value="<?php echo $resultat['Nom'];?>" disabled></td>
donc maintenant l'enregistrement s'effectue bien mais comment faire pour que l'utilisateur ne puisse pas modifier ce champs sans utiliser le disabled?
Merci Yaug t'as solution est la bonne et merci a toi oci furiouslol de m'avoir accorder un interet..
mais desormais j'ai un autre probleme, car l'enregistrement du contenu du formulaire ne s'effectue plus
il me met le message suivant
[code]Cannot add or update a child row: a foreign key constraint fails (`incidents_editiques/incidents`, CONSTRAINT `fk_Employer` FOREIGN KEY (`NumEmploye`) REFERENCES `employer` (`NumEmploye`))[/code]
Voici mon code qui doit me permettre l'enregistrement
[php]<?php
require_once('../connexion.php');
if ($db)
{
if(isset($_POST['enregistrer']))
{
//allocation des variables
//$numFiche="";
$LienFiche="";
$dateicdt=$_POST['AnotherDate'];
$date = preg_replace('/^(.{2})\/(.{2})\/(.{4})$/','$3-$2-$1', $dateicdt);
$heuricdt=$_POST['heure_icdt'];
$desicdt=$_POST['descrip_icdt'];
$desresol="";
$dateresol="";
$heuresol="";
$inter="";
$observ=$_POST['observation'];
$motifreouv="";
$teamtrack="";
$remarqueresp="";
$majeur1=$_POST['choix'];
if ($majeur1=="true")
{
$majeur="1";
}
elseif ($majeur1=="false")
{
$majeur="0";
}
$impactsocietaire=$_POST['choix2'];
$matereiel=$_POST['lstmateriel'];
$secteur=$_POST['lstSecteur'];
$staticdt="OUV";
$statuprod=$_POST['lstStatutProd'];
$declarant=$_POST['declarant'];
echo $_POST['declarant'];
//Execution de la requete, cela me renvoi une ressource
$query="SELECT NumEmploye FROM employer WHERE Nom='".$declarant."';";
$rsc = mysql_query($query);
//Transformation de la ressource en résultat
$result = mysql_fetch_assoc($rsc);
//Exploitation du résultat
$numemployer = $result['NumEmploye'];
$prestataire=$_POST['lstPrestataire'];
$query="INSERT INTO incidents (`num_fiche`,`lien_fiche`,`date_icdt`,`heure_icdt`,`descrip_icdt`,`descrip_resol`,`date_resol`,`heure_resol`,`Intervenant`,`observation`,`motif_r_icdt`,`num_teamtrack`,`remarque_resp`,`icdt_majeur`, `ImpactSocietaire`,`CodeMateriel`,`CodeSecteur`,`CodeStatutIncident`,`CodeStatutProd`,`NumEmploye`,`CodePrestataire`)
VALUES('','$LienFiche','$date','$heuricdt','$desicdt','$desresol','$dateresol','$heuresol','$inter','$observ','$motifreouv','$teamtrack','$remarqueresp','$majeur','$impactsocietaire','$matereiel', '$secteur','$staticdt','$statuprod','$numemployer','$prestataire')";
$result= mysql_query($query) or die(mysql_error());
include("IncidentsEnregistrer.html");
}
else
{
echo 'Aucunes données n\'est transmises au formulaire';
}
}
else
{
'Problème à la connexion';
}
?>
[/php]
ok je viens de trouver le probleme, il venait du disabled
[code]<td style="width: 33%"><font face="arial" color='#01796F'><center><b>Déclarant de l'incident :</b>
<?php
$declarant=$_SESSION['num_employe'];
$sql = "SELECT Nom FROM employer WHERE NumEmploye='$declarant'";
$res = mysql_query($sql);
$resultat = mysql_fetch_assoc($res);
?>
<input type="text" name="declarant" style="width: 150px;" value="<?php echo $resultat['Nom'];?>" disabled></td>[/code]
donc maintenant l'enregistrement s'effectue bien mais comment faire pour que l'utilisateur ne puisse pas modifier ce champs sans utiliser le disabled?