honey87
Messages postés119Date d'inscriptionjeudi 2 avril 2009StatutMembreDernière intervention 9 novembre 2013
-
29 juin 2011 à 10:39
pmtjnden
Messages postés14Date d'inscriptionlundi 28 mars 2005StatutMembreDernière intervention 4 juillet 2011
-
4 juil. 2011 à 13:22
bonjour tout le monde,
j'ai créé une page contact pour stocker ses données dans une base de données mysql.. quand je saisie les données dans les champs de texte les données passent mais quand je vais à la base de données voir ce que j'ai saisi, je vois que les places vides,(ont voit que le num de id et les autres champs sont vides).. voilà ce que j'ai fais:
rellik12
Messages postés4Date d'inscriptionlundi 28 février 2011StatutMembreDernière intervention 1 juillet 2011 30 juin 2011 à 06:43
commencon par le commencement:
as tu tester tes variables ?
normalement avec cette ligne a rajouter avant ton insert
echo "<script type='text/javascript'>alert('".ma variable."');</script>"; //affiche ma variable
testes toutes tes variables si la box est vide c est que ca passe pas donc tu as une erreur de code
test toutes tes variables tu vas dejas voir si elles passent bien;
perso je passe par une methode PDO un peut differents mais :
tu ne verifies rien au depart (genre tel champs pas vide), ton str_replace tu peux l associer a ton $_post
verifies la forme de tes variables dans ton insert.
les fonction ou commande doivent toujours etre mise en majuscule; si tu trouve pas il me faudrait un sql de ta bdd juste pour import des tables que je fasse des tests.
voici mon exemple
$bdd = new PDO('mysql:host='.$host.';dbname='.$dbname.'', $identifiantBDD, $motdepasseBDD);//connection ma bdd
if (isset($_POST['titre']) AND $_POST['titre'] != "")// si champs vide et differents de null dans ce cas la on fait
{
$titre = strtoupper(str_replace("'", "'",($_POST['titre'])));//mise en majuscule remplacement caracter de $post
$texte = str_replace("'", "'",($_POST['texte']));//mise en majuscule remplacement caracter de $post
$date = $_POST['date'];
// Enregistrement.
$bdd->exec("INSERT INTO news(titre, date, texte_news) VALUES('" . $titre . "', now(), '" . $texte . "')");
}
pmtjnden
Messages postés14Date d'inscriptionlundi 28 mars 2005StatutMembreDernière intervention 4 juillet 2011 4 juil. 2011 à 13:22
Tu devras essayer de mettre le nom des champs entre deux [altGr]+[7] `` ... il faut se méfier d'un champs qui utilise un mot clé ... comme "date", le mieux est de mettre quelque chose avec comme "date_debut" ...
pour ta requête SQL, fais un copier/coller de celle-là et tu diras si c'est mieux :
$sql="INSERT INTO reservation_stand(`raison_sociale`,`adresse`,`nom_responsable`,`email`,`fix`,`gsm`,`num_stand`) VALUES('".$raison_sociale."','".$adresse."','".$nom_responsable."','".$email."','".$fix."','".$gsm."','".$num_stand."');";
Attention aux deux ; ... le premier termine la requête, l'autre termine l'instruction PHP.
:) Phil
---------------------
Et si avant de poster, vous regardiez votre orthographe, ce serait plus simple à relire