Que contient la variable $NUMUTILISATEUR ?
Si elle n'est pas renseignée ou mal renseignée il se peux que ça ne fonctionne pas. Essaye d'afficher la requête avant de l'exécuter et montre nous ce que ça donne.
NUMUTILISATEURS doit corresponde au numero de l'utilisateur de la table utilisateurs c'est pour cela que cela qu'il fallait une clé étrangère.
Voici le code complet de ma page PHP qui injecte les données.
<?php
// Fonction pour parser les variables vers FLASH
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}
$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];
$departement=$_POST['departement'];
$region=$_POST['region'];
$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$TELEPHONE=$_POST['TELEPHONE'];
//Fontion "decoder" (facultative)
function decoder($texte){
$texte = utf8_decode($texte);
/*$texte = stripslashes($texte);
$texte = trim($texte);
$texte = htmlentities($texte, ENT_QUOTES);
$texte = strip_tags($texte);
$texte = nl2br($texte);
$texte = str_replace(">", ">", $texte);
$texte = str_replace("<", "<", $texte);*/
$texte = str_replace("%","%25",$texte);
$texte = str_replace("!","%21",$texte);
$texte = str_replace("\"","%22",$texte);
$texte = str_replace("#","%23",$texte);
$texte = str_replace("\$","%24",$texte);
$texte = str_replace("&","%26",$texte);
$texte = str_replace("'","%27",$texte);
$texte = str_replace("(","%28",$texte);
$texte = str_replace(")","%29",$texte);
$texte = str_replace("*","%2A",$texte);
$texte = str_replace("+","%2B",$texte);
$texte = str_replace("<","%3C",$texte);
$texte = str_replace("=","%3D",$texte);
$texte = str_replace(">","%3E",$texte);
$texte = str_replace("?","%3F",$texte);
$texte = str_replace("[","%5B",$texte);
$texte = str_replace("]","%5D",$texte);
$texte = str_replace("^","%5E",$texte);
$texte = str_replace("`","%60",$texte);
$texte = str_replace("{","%7B",$texte);
$texte = str_replace("|","%7C",$texte);
$texte = str_replace("}","%7D",$texte);
$texte = str_replace("~","%7E",$texte);
$texte = str_replace("¢","%A2",$texte);
$texte = str_replace("£","%A3",$texte);
$texte = str_replace("¥","%A5",$texte);
$texte = str_replace("|","%A6",$texte);
$texte = str_replace("§","%A7",$texte);
$texte = str_replace("«","%AB",$texte);
$texte = str_replace("¬","%AC",$texte);
$texte = str_replace("¯","%AD",$texte);
$texte = str_replace("º","%B0",$texte);
$texte = str_replace("±","%B1",$texte);
$texte = str_replace("ª","%B2",$texte);
$texte = str_replace("µ","%B5",$texte);
$texte = str_replace("»","%BB",$texte);
$texte = str_replace("¼","%BC",$texte);
$texte = str_replace("½","%BD",$texte);
$texte = str_replace("¿","%BF",$texte);
return $texte;
}
$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);
$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$TELEPHONE = decoder($TELEPHONE);
//ici on commence avec les requêtes MySQL pour vérifier dans la table
include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.
$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login"
$req = mysql_query($sql)or die(mysql_error());
$result = mysql_numrows($req);// on compte le nombre de résultats
if($result!=0) // le login existe déjà
{
Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
}
else //sinon le login n'existe pas
{
$sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur
mysql_query ($sql);
$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
$req = mysql_query($sql2)or die(mysql_error());
Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
}
?>