Page 1 sur 1

insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:20
par horrion
Bonjour,

Je souhaiterai que a partir de mon formulaire que les données qui sont misent dedans vont directement dans ma base de données.Pour cela j'ai crée une page "User_add.php".
<?php

 //connection au serveur:  
 $connexion = mysql_connect('localhost','test','test') ;  
  
  // Selection de la table
 $table="users";
 
  // Création des variables
  
$Utilisateurs=""; if(!empty($_POST["Utilisateurs"]))
  $Utilisateurs=$_POST["Utilisateurs"];
   
$Mot_de_passe=""; if(!empty($_POST["Mot_de_passe"]))
  $Mot_de_passe=$_POST["Mot_de_passe"];
   
$Service=""; if(!empty($_POST["Service"]))
  $Service=$_POST["Service"];
   
$Agence=""; if(!empty($_POST["Agence"]))
  $Agence=$_POST["Agence"];

 
 //Ajoute la nouvelle fiche


$sql= "INSERT INTO ".$table."(Utilisateurs, Mot_de_passe, Service, Agence) VALUES('".$Utilisateurs."','".$Mot_de_passe."','".$Service."','".$Agence."')";

 // execution SQL  
  
$interrogation=mysql_query($sql,$connexion);  

 // on ferme la connexion à la base  
 mysql_close(); 
    
  
    
 if($interrogation)  
 {  
 echo 'Création réussi';  
}  
  
 else {  
 echo 'Les variables du formulaire ne sont pas déclarées';  
 }  
?>
page du formulaire :
<FORM ACTION="structure/user_add.php">
		<br>
		<center><br><b><u>Ajouter un utilisateur :</u></b></center>
		<br>
		<br>
		<br>
		<br>
<center>
		<b>Login :</b> <input id="login" type="text" name="Utilisateurs" maxlength="50" size="25" value="">
<br>
<br>	
		<b>Mot de passe :</b> <input id="mot_de_passe" type="text" name="Mot_de_passe" maxlength="50" size="20" value="">
<br>
<br>
		<b>Service :</b> <input id="Service" type="text" name="Service" maxlength="50" size="25" value="">
<br>
<br>		
		<b>Agence :</b> <input id="Agence" type="text" name="Agence" maxlength="50" size="25" value="">
<br>
<br>
<input type="submit" class="envoyer" value="Envoyer">
</form>
Quand je valide le formulaire,je tombe sur une page avec une erreur du type comme quoi : Le site Web rencontre des problèmes.
Dans ma base de données,il y a une nouvelle ligne qui s'est crée par contre il y a rien dans les champs :-(

Merci d'avance pour votre aide

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:23
par stealth35
t'as oublié un quote apres test
$connexion = mysql_connect('localhost','test,'test') ;
$connexion = mysql_connect('localhost','test','test') ;  
(la coloration syntaxique c'est pratique)

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:25
par horrion
Merci pour ta réponse,mais le problème ne ce situer pas ici :D j'ai supprimer par accident la quote quand j'ai voulu poster sur le fourm 8-|

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:36
par macgawel
Quand je valide le formulaire,je tombe sur une page avec une erreur du type comme quoi : Le site Web rencontre des problèmes.
Dans ma base de données,il y a une nouvelle ligne qui s'est crée par contre il y a rien dans les champs :-(
Bonjour.

- On peut avoir le "vrai" message d'erreur ?

- Dans ton script User_add.php, affiche le contenu de $_POST (avec print_r($_POST) ) pour voir s'il y a bien les données envoyées.

- Affiche le contenu de ta requête echo $sql et passe-la via ton interface (phpMyAdmin par exemple).

- Pense à mettre des OR DIE après chaque instruction mysql pendant la phase de débogage uniquement :
$interrogation=mysql_query($sql,$connexion) or die ('Erreur de requête : '/ mysql_error() );

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:52
par horrion
J'ai ajouter ton code :
$interrogation=mysql_query($sql,$connexion) or die  ('Erreur de requête : '/ mysql_error() ); 
J'ai ceci en erreur :
Warning: Division by zero in C:\wamp\www\Admin\structure\user_add.php on line 32


Voici un screen de la vrai erreur(sans l'ajout du bout de code que tu m'as donné) :
>>http://www.hiboox.fr/go/images/informat ... 0.jpg.html
Je remarque aussi au niveau du lien de la page web que les variables passent bien quand je valide le formulaire : http://localhost/admin/structure/user_a ... gence=test[/b]

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:53
par stealth35
ligne 32 y'a quoi ? ta changer ton code ?

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:55
par horrion
Ligne 32:
$interrogation=mysql_query($sql,$connexion) or die   ('Erreur de requête : '/ mysql_error() );

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:57
par stealth35
enlève le / et met un .

EDIT : t'as quelle version de PHP

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 16:59
par horrion
Erreur ligne 32:
Parse error: parse error in C:\wamp\www\Admin\structure\user_add.php on line 32

Code ligne 32:
$interrogation=mysql_query($sql,$connexion) or die ('Erreur de requête : ' mysql_error() ); 
Edit:
Version 5.3.0(j'utilise WAMP en serveur)

Re: insérée donnée d'un formulaire dans une base de données

Posté : 06 mai 2010, 17:01
par stealth35
met le .
et met la connexion en parametre de mysql_close
mysql_close($connexion);

Re: insérée donnée d'un formulaire dans une base de données

Posté : 07 mai 2010, 08:30
par horrion
Re salut !

Alors j'ai fais de petite correction sur la page user_add.php:
<?php

 //connection au serveur:  
 $connexion = mysql_connect('localhost','test','test') ; 

// Selection de la base
mysql_select_db('base'); 
  
  // Création des variables
  
$Utilisateurs=""; if(!empty($_POST["Utilisateurs"]))
  $Utilisateurs=$_POST["Utilisateurs"];
   
$Mot_de_passe=""; if(!empty($_POST["Mot_de_passe"]))
  $Mot_de_passe=$_POST["Mot_de_passe"];
   
$Service=""; if(!empty($_POST["Service"]))
  $Service=$_POST["Service"];
   
$Agence=""; if(!empty($_POST["Agence"]))
  $Agence=$_POST["Agence"];

 
 //Ajoute la nouvelle fiche

$sql= "INSERT INTO users(Utilisateurs, Mot_de_passe, Service, Agence) VALUES('".$Utilisateurs."','".$Mot_de_passe."','".$Service."','".$Agence."')";

 // execution SQL  
  
$interrogation=mysql_query($sql,$connexion) or die('Connexion impossible : ' . mysql_error()); 

 // on ferme la connexion à la base  
mysql_close($connexion);
    
  
    
 if($interrogation)  
 {  
 echo 'Création réussi';  
}  
  
 else {  
 echo 'Les variables du formulaire ne sont pas déclarées';  
 }  
?>

 
J'ai en message maintenant:
Création réussi
Une nouvelle ligne dans la base de données s'est crée par contre rien dans les champs :-(