Page 1 sur 1

PROBLEME D'INSERTION PHP/MYSQL

Posté : 08 janv. 2014, 12:55
par anguetone
Bonjour les amis MEILLEURS VŒUX A TOUS,

Et bien mon année commence par une erreur mais je compte sur votre aide pour m'aider à le résoudre
je dois enregistrer des plaintes de certains plaignants dans un commissariat et lorsque je les enregistres il y a cette
erreur: Cannot add or update a child row: a foreign key constraint fails;

voici ma page php

<?php

if(isset($_POST['Enregistrer']))
{
//connexion:
    include '../connexion/connexion.php';
    
//choix des variables:
    
    $idplaignant=addslashes($_POST['idplaingnant']);
    $nom=addslashes($_POST['accuse']);
    $date= date("Y-m-d");
    $nature=addslashes($_POST['nature_plt']);
    $idagent=addslashes($_POST['idagent']);
    $idbrigarde=$_SESSION['idbrigarde'];
    
//preparation de la requete:
    $sql='INSERT INTO plainte VALUES("", "'.$nom.'", "'.$date.'", "'.$nature.'", "'.$idagent.'", "'.$idplaignant.'", "'.$idbrigarde.'")';
    
//preparation de la requete:
    $requete=mysql_query($sql) or die(mysql_error());
//confirmation
    
    if($requete)
    {
       echo "<script type='text/javascript'>
                                    alert('La plainte a été enregistrée!');window.location='enreg_plainte.php';
                            </script>"; 
    }
    
 else {
        echo "<script type='text/javascript'>
                                    alert('La plainte n'a pas être enregistrée!');window.location='enreg_plainte.php';
                            </script>";
    }   
}
?>
<html>
    <head>
        <title>enregistrement des Plaintes</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="../style/css.css">
    </head>
    <body>
        <div id="header">
            <div class="menu_header">
                <ul> 
                    <a href="../accueil.php"><li>ACCUEIL</li></a>
                    <a href="enreg_agent.php"><li>AGENTS</li></a> 
                    <a href="enreg_plaignant.php"><li>PLAINGNANTS</li></a>
                     <a href="enreg_plainte.php"><li>PLAINTE</li></a>
                      <a href="rapport.php"><li>RAPPORT</li></a>
                
                
                </ul>   
            </div>
        </div>  
        <div id="menu-gauche">
            <p>bienvenue a la</p><?php  echo htmlentities(trim($_SESSION['nom']));echo '<br>';
                                         echo htmlentities(trim($_SESSION['type']));?><br/>
            <a href='../deconnexion.php'> deconnexion</a>
        </div>
        
<!--        <div id="menu-droit">
            
            droit
        </div>        -->
        <center><div id="corps">
                <div class="bouton">
                    <ul> 
                        <a href="enreg_plainte.php"><li class="puce1"> ENREGISTRER</li></a>
                         <a href="../modification/modif_plainte.php"><li class="puce2"> MODIFIER</li></a>
                         <a href="#"><li class="puce3"> RECHERCHER </li></a>
                         <a href="#"><li class="puce4"> SUPPRIMER</li></a>   
                 </ul> 
                </div>                
                <p>&nbsp;</p>
                <center><div class="contenu">
                        <form method="post" action="enreg_plainte.php"><fieldset><legend>ENREGISTREMENT DES PLAINTES</legend>
                                <p><label> NOM ET PRENOMS DU PLAIGNANT </label><?php
//connexion
include '../connexion/connexion.php';
$query=@mysql_query("select * from plaingnant order by nom asc") or die (mysql_error());
				if ($query) 
				{
				echo"<select name=\idplaingnant\">";
				while($array=@mysql_fetch_array($query))
				{
				 if($choix==$array['idplaingnant'])
				 {
				 echo"<option value=\"".$array["idplaingnant"]."\">".utf8_encode($array["nom"])." ".utf8_encode($array["pren"])."</option>";
				 }
				 else
				 {
				 echo"<option value=\"".$array["idplaingnant"]."\"> ".utf8_encode($array["nom"])." ".utf8_encode($array["pren"])."</option>";
				 }
							
				}
				echo"</select>";
				mysql_free_result($query);
				
                }?></p>
                               <p> <label> NOM ET PRENOMS DE L'ACCUSE</label><input type="text" name='accuse'  required /></p>
                                <p><label>NATURE DE LA PLAINTE </label><textarea name="nature_plt" rows="10" cols="30">   </textarea></p>
                                <p><label>NOM ET PRENOMS DE L'AGENT</label>
                                    <?php
//connexion
include '../connexion/connexion.php';
$query=@mysql_query("select * from agent order by nom_agt asc") or die (mysql_error());
				if ($query) 
				{
				echo"<select name=\idagent\">";
				while($array=@mysql_fetch_array($query))
				{
				 if($choix==$array['idagent'])
				 {
				 echo"<option value=\"".$array["idagent"]."\">".utf8_encode($array["nom_agt"])." ".utf8_encode($array["pren_agt"])."</option>";
				 }
				 else
				 {
				 echo"<option value=\"".$array["idagent"]."\"> ".utf8_encode($array["nom_agt"])." ".utf8_encode($array["pren_agt"])."</option>";
				 }
							
				}
				echo"</select>";
				mysql_free_result($query);
				
                }?></p>      
                                
                                <p><input type='submit' name='Enregistrer' value='Enregistrer' ><input type='reset' name='Annuler' value='Annuler' ></p>
                               
                            </fieldset>   
                        </form>
                </div></center>
           
                
        </div></center>
        <div id="footer">pieds de page</div>
        
        
    </body>
</html>

Re: PROBLEME D'INSERTION PHP/MYSQL

Posté : 08 janv. 2014, 13:00
par sirakawa
Bonjour et BA,
Il serait intéressant de voir la structure de la table où sont enregistrées les plaintes; il doit y avoir une histoire avec l'idbrigade (au fait drôle de nom idbrigarde)

Re: PROBLEME D'INSERTION PHP/MYSQL

Posté : 11 janv. 2014, 18:42
par anguetone
le problème se trouvait au niveau name dans la balise
select

Re: PROBLEME D'INSERTION PHP/MYSQL

Posté : 11 janv. 2014, 22:06
par moogli
Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.