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

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

idem84
Nouveau WRInaute
 
Messages: 1
Inscription: Jeu Sep 11, 2008 15:07

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

Message le Jeu Sep 11, 2008 15:10

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...


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Sep 11, 2008 15:30

il est important d'utiliser la fonction mysql_real_escape_string pour protéger les paramètres :
Code: Tout sélectionner
...
$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');";
...

silef
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 228
Inscription: Ven Jan 13, 2006 14:53

Message le Jeu Sep 11, 2008 16:38

ou un addslashes() c'est moins propre mais ça marche


raljx
WRInaute accro
WRInaute accro
 
Messages: 2253
Inscription: Lun Juil 10, 2006 16:46

Message le Jeu Sep 11, 2008 17:14

une des solutions pour voir ou l'erreur se situe est de faire un :

Code: Tout sélectionner

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

echo 'probleme sur : '.$query;

}


ca m'a sorti de la me**de plusieurs fois ;)


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

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

Message le Jeu Sep 11, 2008 18:13

idem84 a écrit: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 écrit: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)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: prod4ngel et 1 invité