Problème BD - Certain champs ne s'enregistre pas :(

Nouveau WRInaute
Bonjour,
Cela fin un moment que je galère sur une page:

Cette dernière dois simplement enregistrer les donnée dans une bases de données.

Malheureusement, a chaque fois, un des champs et "sauter". C'est-à-dire qu'il ne s'enregistre pas dans ma bases. Se qui est bizard cé que les autres champs d'enregistre.

Je vous fai par de mon code.

<?php
// Après la mise en forme, on vérifie la validité des champs

if (empty($_POST["nom"])) {
$erreur="REMPLIR LE NOM";
}
elseif (empty($_POST["prenom"])) {
$erreur="REMPLIR LE PRENOM";
}
elseif (empty($_POST["ville"])) {
$erreur="REMPLIR LA VILLE";
}
elseif (empty($_POST["remarque"])) {
$erreur="REMPLIR LA remarque";
}
else {
$etat="ok";
}

// on se connecte a la base de donnee
include ('include/connexion.php');

// on selection le nom dans la base de donnees
$sql = "SELECT nom FROM facture WHERE nom='".$nom."' ";
$test = mysql_query($sql) or die (mysql_error()) ;


//création de la requête SQL:
$sql = "INSERT INTO facture(nom, prenom, ville, date, remarque)
VALUES ('$nom','$prenom','$ville','$date','$remarque');";




//exécution de la requête SQL:
$requete = mysql_query($sql) or die (mysql_error()) ;

echo "<strong>FACTURE AJOUTER</strong>;";


//afficher les enregistrement
echo "<br>";
echo "NOM : $nom<br>";
echo "PRENOM : $prenom<br>";
echo "VILLE : $ville<br>";
echo "DATE : $date<br>";
echo "REMARQUE : $remarque<br>";

//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier = $_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier = $_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["fichier_choisi"]["error"] ;

//chemin qui mène au dossier qui va contenir les fichiers uplaod:
$chemin = "./uploads/" ;

if(copy($nomTemporaire, $chemin.$nomFichier))
echo("<br>l'upload a réussi<a href=\"./liste_facture.html\">Retour</a>") ;
else
echo("<br>l'upload a échoué<a href=\"./ajout_facture.html\">Retour</a>") ;
}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!<br>") ;
echo("<a href=\"./ajout_facture2.html\">Retour</a>") ;
}//fin else
?>



MERCI D'AVANCE... JE NE SAIS PAS SI JE DOI VOUS SIGNALER QUE JE SUIS DéBUTANT...
 
WRInaute passionné
il est important d'utiliser la fonction mysql_real_escape_string pour protéger les paramètres :
Code:
...
$nom2 = mysql_real_escape_string($_POST["nom"]);
$prenom2 = mysql_real_escape_string($_POST["prenom"]);
$ville2 = mysql_real_escape_string($_POST["ville"]);
...
//création de la requête SQL:
$sql = "INSERT INTO facture(nom, prenom, ville, date, remarque)
VALUES ('$nom2','$prenom2','$ville2','$date2','$remarque2');"; 
...
 
WRInaute passionné
une des solutions pour voir ou l'erreur se situe est de faire un :

Code:
if (!$result = mysql_query($query)) {

echo 'probleme sur : '.$query;

}

ca m'a sorti de la me**de plusieurs fois ;)
 
WRInaute passionné
idem84 a dit:
Malheureusement, a chaque fois, un des champs et "sauter". C'est-à-dire qu'il ne s'enregistre pas dans ma bases. Se qui est bizard cé que les autres champs d'enregistre.

Qu'entends-tu par "un des champs et sauter" ?

Tu veux dire que ton champd id (par exemple) est toujours vide ? Dans ce cas c'est peut-être un problème de format de données, tu essaies peut-être de mettre une chaine dans un champ "int"

Ou que pour chaque enregistrement tu as toujours un champs vide mais pas toujours le même ?

idem84 a dit:
MERCI D'AVANCE... JE NE SAIS PAS SI JE DOI VOUS SIGNALER QUE JE SUIS DéBUTANT...

Pas la peine de crier, on avait compris :wink: (Merci de faire un petit effort sur l'orthographe et la ponctuation)
 
Discussions similaires
Haut