Bonjour je fais une page d'inscription mais j' ai probleme avec mon insert in to
une fois soumis me fais un message de ce genre
Cannot add or update a child row: a foreign key constraint fails (`projet_bah`.`membres`, CONSTRAINT `fk_membres_statut1` FOREIGN KEY (`statut_id1`) REFERENCES `statut` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
voici mon code s'achant que mon ma table membe a une clé etrangère
voici mon code
<h3>Page incription</h3>
<!-- traitement du formulaire-->
<?php
// je me connecte sur la base de données
$host= 'localhost';
$base= 'projet_bah';
$user= 'root';
$password = "";
mysql_connect($host,$user,$password) OR DIE('Vous avez un problème de connexion') ;
mysql_select_db($base) OR DIE ('la base de données h\'existe pas');
// function insert_membre($nom, $prenom,$naissance,$adresse,$telephone,$mail,$MDP,$confirmeMDP)
// {
if (isset($_POST['valider']))
{
// je stocke les valeurs dans des variables tout en prevoyant les injections Sql
$nom = htmlspecialchars(htmlentities($_POST['nom']));
$prenom = htmlspecialchars(htmlentities($_POST['prenom']));
$naissance = htmlspecialchars(htmlentities($_POST['naissance']));
$adresse = htmlspecialchars(htmlentities($_POST['adresse']));
$telephone = htmlspecialchars(htmlentities($_POST['telephone']));
$mail = htmlspecialchars(htmlentities($_POST['mail']));
$mdp = htmlspecialchars(htmlentities($_POST['mdp']));
$conf_mdp = htmlspecialchars(htmlentities($_POST['conf_mdp']));
if(!empty($_POST['nom'])
&& !empty($_POST['prenom'])
&& !empty($_POST['naissance'])
&& !empty($_POST['adresse'])
&& !empty($_POST['telephone'])
&& !empty($_POST['mail'])
&& !empty($_POST['mdp'])
&& !empty($_POST['conf_mdp']))
{
// controle de l'e-mail
$point = strpos($_POST['mail'],'.');
$arobase = strpos($_POST['mail'],'@');
if(($point === false) || ($arobase === false))
{
$message_erreur = " Votre adresse mail contient une erreur! veillez la corriger!";
echo $message_erreur;
}else{// tout va bien
// Je fais ma requete.
$sql = "INSERT INTO membres(membres_id,nom, prenom, naissance,adresse,telephone,mail,mdp,confirme_mdp,piece_jointe,langue)
VALUES('','$nom', '$prenom','$naissance','$adresse','$telephone','$mail','$mdp','$conf_mdp','toto','toto')";
mysql_query($sql)
or die ("Erreur SQL :".mysql_error());
echo "Vous etes inscrits avec succès!";
}
}else
{
echo "l'un des champs est vide!";
}
}
<!-------------- mon formulaire----------------------->
<form method="POST" action="inscription.php">
NOM: <input type ="text" name="nom" value=""/> <br/>
Prenom:<input type ="text" name="prenom" value=""/> <br/>
Date de naissance:<input type ="text" name="naissance" value=""/><br/>
adresse:<input type ="text" name="adresse" value=""/><br/>
Téléphone:<input type ="text" name="telephone" value=""/><br/>
E-mail:<input type ="text" name="mail" value=""/><br/>
Mot de passe:<input type ="password" name="mdp" value=""/><br/>
confirmer votre mot de passe:<input type ="password" name="conf_mdp" value=""/><br/>
<span><strong> joindre une pièce:</strong></span><br /><br/>
<input type="hidden" value="3000000" /><br/>
<input name="userfile" type="file" /><br/>
<input type="reset" name="effacer" value="effacer">
<input type="submit" name="valider" value="valider">
</form>
une fois soumis me fais un message de ce genre
Cannot add or update a child row: a foreign key constraint fails (`projet_bah`.`membres`, CONSTRAINT `fk_membres_statut1` FOREIGN KEY (`statut_id1`) REFERENCES `statut` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
voici mon code s'achant que mon ma table membe a une clé etrangère
voici mon code
<h3>Page incription</h3>
<!-- traitement du formulaire-->
<?php
// je me connecte sur la base de données
$host= 'localhost';
$base= 'projet_bah';
$user= 'root';
$password = "";
mysql_connect($host,$user,$password) OR DIE('Vous avez un problème de connexion') ;
mysql_select_db($base) OR DIE ('la base de données h\'existe pas');
// function insert_membre($nom, $prenom,$naissance,$adresse,$telephone,$mail,$MDP,$confirmeMDP)
// {
if (isset($_POST['valider']))
{
// je stocke les valeurs dans des variables tout en prevoyant les injections Sql
$nom = htmlspecialchars(htmlentities($_POST['nom']));
$prenom = htmlspecialchars(htmlentities($_POST['prenom']));
$naissance = htmlspecialchars(htmlentities($_POST['naissance']));
$adresse = htmlspecialchars(htmlentities($_POST['adresse']));
$telephone = htmlspecialchars(htmlentities($_POST['telephone']));
$mail = htmlspecialchars(htmlentities($_POST['mail']));
$mdp = htmlspecialchars(htmlentities($_POST['mdp']));
$conf_mdp = htmlspecialchars(htmlentities($_POST['conf_mdp']));
if(!empty($_POST['nom'])
&& !empty($_POST['prenom'])
&& !empty($_POST['naissance'])
&& !empty($_POST['adresse'])
&& !empty($_POST['telephone'])
&& !empty($_POST['mail'])
&& !empty($_POST['mdp'])
&& !empty($_POST['conf_mdp']))
{
// controle de l'e-mail
$point = strpos($_POST['mail'],'.');
$arobase = strpos($_POST['mail'],'@');
if(($point === false) || ($arobase === false))
{
$message_erreur = " Votre adresse mail contient une erreur! veillez la corriger!";
echo $message_erreur;
}else{// tout va bien
// Je fais ma requete.
$sql = "INSERT INTO membres(membres_id,nom, prenom, naissance,adresse,telephone,mail,mdp,confirme_mdp,piece_jointe,langue)
VALUES('','$nom', '$prenom','$naissance','$adresse','$telephone','$mail','$mdp','$conf_mdp','toto','toto')";
mysql_query($sql)
or die ("Erreur SQL :".mysql_error());
echo "Vous etes inscrits avec succès!";
}
}else
{
echo "l'un des champs est vide!";
}
}
<!-------------- mon formulaire----------------------->
<form method="POST" action="inscription.php">
NOM: <input type ="text" name="nom" value=""/> <br/>
Prenom:<input type ="text" name="prenom" value=""/> <br/>
Date de naissance:<input type ="text" name="naissance" value=""/><br/>
adresse:<input type ="text" name="adresse" value=""/><br/>
Téléphone:<input type ="text" name="telephone" value=""/><br/>
E-mail:<input type ="text" name="mail" value=""/><br/>
Mot de passe:<input type ="password" name="mdp" value=""/><br/>
confirmer votre mot de passe:<input type ="password" name="conf_mdp" value=""/><br/>
<span><strong> joindre une pièce:</strong></span><br /><br/>
<input type="hidden" value="3000000" /><br/>
<input name="userfile" type="file" /><br/>
<input type="reset" name="effacer" value="effacer">
<input type="submit" name="valider" value="valider">
</form>