Bonsoir, j'ai un très gros souci ..
Quand je remplie mon formulaire, tout ce passe comme prévu, quand j'envoie celui-ci il est bien transmit a ma table dans la BDD, MAIS, quand je me rend dans ma table " utilisateurs " je me rend compte que rien na été enregistré comme il fallait. Sa génère 2 colone au lieu de une, vu que je me suis inscrit qu'une fois.. et sa ne remplie pas les champs comme il faut. ( voir image )
voici le code que j'utilise:
sur le traitement.php:
//fonction qui va inscrire l'utilisateur a la BDD
function inscrire_utilisateurs($id,$user_name,$user_prenom,$user_carte,$user_date,$user_code,$user_adresse)
{
mysql_query("INSERT INTO utilisateurs(id,user_nom,user_prenom,user_carte,user_date,user_code,user_adresse)
VALUES('','$user_nom','$user_prenom','$user_carte','$user_date','$user_code','$user_adresse')
")or die(mysql_error());
}
?>
sur la page du formulaire.php
<?php
include('traitement.php');
if(isset($_POST['submit']))
?>
Une idée ?
Hello,
Pour commencer utilise les balises code ta disposition cela sera plus doux pour nos yeux.
Ensuite, utilise PDO.
Je pense que si tu as deux lignes enregistré lors d'une soumission c'est soit pcq tu as recharger la page avec un F5 ou soit tu fais deux appels à la fonction 'inscrire_utilisateur's.
Et met nous le code ta vue et celui qui appel ta fonction 'inscrire_utilisateurs'.
Voila mon code entier sur la page traitement.php qui traite " normalement " la connexion et gère l'inscription
<?phparound//connexion a la base de donnéaroundmysql_connect('****,'*****',''*****) or die(mysql_error());aroundmysql_select_db('****') or die(mysql_error());aroundmysql_query('SET NAMES utf8');aroundaround//fonction qui va inscrire l'utilisateur a la BDDaroundfunction inscrire_utilisateurs($id,$user_name,$user_prenom,$user_carte,$user_date,$user_code,$user_adresse)around{aroundmysql_query("INSERT INTO utilisateurs(id,user_nom,user_prenom,user_carte,user_date,user_code,user_adresse)aroundVALUES('','$user_nom','$user_prenom','$user_carte','$user_date','$user_code','$user_adresse')around")or die(mysql_error());around}around?>around
Et la le code PHP sur ma page de formulaire ( formulaire.php )
<?phparoundinclude('traitement.php');aroundif(isset($_POST['submit']))around around{around $user_nom = htmlspecialchars(trim($_POST['user_nom']));around $user_prenom = htmlspecialchars(trim($_POST['user_prenom']));around $user_carte = htmlspecialchars(trim($_POST['user_carte']));around $user_date = htmlspecialchars(trim($_POST['user_date']));around $user_code = htmlspecialchars(trim($_POST['user_code']));around if($user_nom&&$user_prenom&&$user_carte&&$user_date&&$user_code&&$user_adresse)around {around around }else echo "Veuillez saisir les champ obligatoire"; around}around?>
voila, ou sont mes erreurs ?
J'ai un peux re-travailler mon code, maintenant sa n'enregistre plus rien dans la table .. ( code ci-dessus )
Bonjour.
Pour commencer, ce serait bien que tu fasse des retours à la ligne, car tout un code sur une seule ligne, c'est illisible, surtout avec les interminables around
.
Ensuite, dans ta fontion inscrire_utilisateurs tu lui défini une variable $id
, mais comme tu ne peux pas la connaitre avant qu'il soit inscrit, comment peux-tu la lui passer ?
Donc, au lieu de mettre :
function inscrire_utilisateurs($id, $user_name, $user_prenom, $user_carte, $user_date, $user_code, $user_adresse)
Tu devrais plutôt mettre :
function inscrire_utilisateurs($user_name, $user_prenom, $user_carte, $user_date, $user_code, $user_adresse)
// Donc sans la variable $id
Merci, maintenant j'ai un autre souci, quand j'enlève " l'id " la page formulaire.php reste blanche, et quand je le remet, elle s'actualise, mais quand je remplie mon formulaire, celle ci ne transmet aucune donnée a ma table .. pourtant je suis bien connecté a ma bdd
sur mon formulaire.php j'ai simplement mit:
<?php include('traitement.php'); ?>
salut Gregory
pour te faire aider généralement il faut mettre le code des fichiers en question pour qu'on puisse avoir une idée,
il serait idéale que tu mette ton fichier 'traitement.php' et le fichier qui l'appel