Enregistrer des données dans une base de données a travers nue interface html

Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011 - 28 sept. 2011 à 11:41
Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011 - 30 sept. 2011 à 10:01
slt j'ai du mal a enregistrer mes données dans ma base que j'ai créé. j'ai pu créé ma base avec des tables evidement mais je n'arrive pas a inserer des données que j'enregistre dans mon formulaire. si je remplis le formulaire et je clique sur mon boutton valider ca recharge la page mai si je repart voir dons ma base mes données ne viennent pas. merci de l'aide

9 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
28 sept. 2011 à 13:12
bonjour

peux tu nous montrer ton code ...

Bonne programmation !
0
Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011
28 sept. 2011 à 18:12
ceci est le code PHP


<?php
// On commence par récupérer les champs
if(isset($_POST['conso']))      $nom= $_POST['conso'];
else      $conso="";

if(isset($_POST['typ']))      $prenom=$_POST['typ'];
else      $typ="";

if(isset($_POST['couleur']))      $email=$_POST['couleur'];
else      $couleur="";

if(isset($_POST['qtte']))      $icq=$_POST['qtte'];
else      $qtte="";

if(isset($_POST['descri']))      $titre=$_POST['descri'];
else      $descric="";

if(isset($_POST['autre']))      $url=$_POST['autre'];
else      $autre="";

if(isset($_POST['dat']))       $date=$_POST['dat'];
else $dat="";

// On vérifie si les champs sont vides
if(empty($conso) OR empty($typ) OR empty($couleur) OR empty($qtte) OR empty($descri) OR empty($autre) OR empty($dat))
    {
    echo 'Attention, seul les champs  couleur et autre  peuvent rester vide !';
    }
// Aucun champ n'est vide, on peut enregistrer dans la table
else     
    {
    $db  = mysql_connect('localhost', 'root', '');  // connexion à la base
    mysql_select_db('odi',$db);                  // sélection de la base
    
   
        $sql = "INSERT INTO consomable(conso, typ, couleur, qtte, descri, autre, dat)              
 VALUES('$conso', '$typ', '$couleur', '$qtte', '$descri', '$autre', '$dat')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
        
        // on affiche le résultat pour le visiteur

        echo 'Vos infos on été ajoutées.';
        //}
    mysql_close();  // on ferme la connexion
    }
header("location: enregist.html");  
?> 

maintenant le code de mon interface est le suivant:
ACCESSOIRES,
<select name="consso"/>
<option value="EN">clée usb</option>
<option value="ET"> CD-R</option>
<option value="ET">DVD</option>
<option value="ET"> Bandes de sauvegarde HF</option>
<option value="ET">souris</option>
<option value="ET">Bombe de d"poussiérage</option>
<option value="ET">bombe de nettoyage</option>
<option value="ET">chiffon informatiques</option>
<option value="ET">Toners pour imprimante laser</option>
<option value="ET">Cartouche pour imprimante Deskjet</option>
<option value="ET">Ruban pour imprimante</option>
</select>,

----

TYPE,
,

----

COULEUR,
,

----

QUANTITE,
,

----

DESCRIPTION,
,

----

AUTRE ASPECT,
,

----

DATE D'ENTREE,

  
 
 
0
galled Messages postés 41 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 13 décembre 2012
28 sept. 2011 à 18:34
As tu une balise form?

<form method="post" action="url_de_ta_page_php">
TON CODE HTML POUR TON FORMULAIRE
</form>
0
Zut13 Messages postés 50 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 14 novembre 2011
28 sept. 2011 à 18:40
Salut,

Déjà un conseil pour ton code :

Remplace :

if(isset($_POST['conso']))      $nom=$_POST['conso'];
else      $conso="";

if(isset($_POST['typ']))      $prenom=$_POST['typ'];
else      $typ="";

if(isset($_POST['couleur']))      $email=$_POST['couleur'];
else      $couleur="";

if(isset($_POST['qtte']))      $icq=$_POST['qtte'];
else      $qtte="";

if(isset($_POST['descri']))      $titre=$_POST['descri'];
else      $descric="";

if(isset($_POST['autre']))      $url=$_POST['autre'];
else      $autre="";

if(isset($_POST['dat']))       $date=$_POST['dat'];
else $dat="";


Par :


if(isset($_POST)){
extract($_POST);


Ensuite enleve mysql_close(); car il me semble qu'il n'est plus nécessaire et en plus peut générer des erreurs selon la version php.

Autre point tu ne peux pas utiliser header("location: enregist.html"); Si du texte a été affiché avant.

@('(°)_(°) )@
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
28 sept. 2011 à 20:09
bonsoir

tu as une erreur consso et conso en recuperation ...
pour commencer sur un fichier
à toi d'essayer

<?php
echo '';
print_r($_POST);
echo '

';
extract($_POST);
// On vérifie si les champs sont vides

if(empty($conso) OR empty($typ) OR empty($couleur) OR empty($qtte) OR empty($descri) OR empty($autre) OR empty($dat)){
echo 'Attention, seul les champs couleur et autre peuvent rester vide !';
}else{
// Aucun champ n'est vide, on peut enregistrer dans la table
$db = mysql_connect('localhost','root','');  // connexion à la base
mysql_select_db('odi',$db);                  // sélection de la base
/*nettoyage*/
foreach($_POST as $k => $v){
$v = mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}
extract($_POST);
$sql = "INSERT INTO consomable(conso, typ, couleur, qtte, descri, autre, dat)              
VALUES('$conso', '$typ', '$couleur', '$qtte', '$descri', '$autre', '$dat')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
//header("location: enregist.html"); 
//}
mysql_close();  // on ferme la connexion
}
 
?> 

<form method="post" action="">
ACCESSOIRES,
<select name="conso"/>
<option value="EN">clé usb</option>
<option value="ET"> CD-R</option>
<option value="ET">DVD</option>
<option value="ET"> Bandes de sauvegarde HF</option>
<option value="ET">souris</option>
<option value="ET">Bombe de d"poussiérage</option>
<option value="ET">bombe de nettoyage</option>
<option value="ET">chiffon informatiques</option>
<option value="ET">Toners pour imprimante laser</option>
<option value="ET">Cartouche pour imprimante Deskjet</option>
<option value="ET">Ruban pour imprimante</option>
</select>,

----

TYPE,
,

----

COULEUR,
,

----

QUANTITE,
,

----

DESCRIPTION,
,

----

AUTRE ASPECT,
,

----

DATE D'ENTREE,

  
 
 
</form>	





Bonne programmation !
0
Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011
29 sept. 2011 à 16:10
le probleme a changé de lieu . il me siga)nale que cette ligne ne va pas du tout:
if(empty($consso) OR empty($typ) OR empty($couleur) OR empty($qtte) OR empty($descri) OR empty($autre) OR empty($dat))

que doit je faire a nouveau? merci
0
Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011
29 sept. 2011 à 16:11
Parse error: parse error in C:\wamp\www\exemple.php on line 9
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 sept. 2011 à 16:28
bonjour ça vient du formulaire
essaie

<?php
echo '';
print_r($_POST);
echo '

';
extract($_POST);
// On vÚrifie si les champs sont vides

if(empty($conso) OR empty($typ) OR empty($couleur) OR empty($qtte) OR empty($descri) OR empty($autre) OR empty($dat)){
echo 'Attention, seul les champs couleur et autre peuvent rester vide !';
}else{
// Aucun champ n'est vide, on peut enregistrer dans la table
$db = mysql_connect('localhost','root','');  // connexion Ó la base
mysql_select_db('odi',$db);                  // sÚlection de la base
/*nettoyage*/
foreach($_POST as $k => $v){
$v = mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}
extract($_POST);
$sql = "INSERT INTO consomable(conso, typ, couleur, qtte, descri, autre, dat)              
VALUES('$conso', '$typ', '$couleur', '$qtte', '$descri', '$autre', '$dat')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
// on affiche le rÚsultat pour le visiteur
echo 'Vos infos on ÚtÚ ajoutÚes.';
//header("location: enregist.html"); 
//}
mysql_close();  // on ferme la connexion
}
 
?> 

<form method="post" action="">
ACCESSOIRES,
<select name="conso"/>
<option value="EN">clÚ usb</option>
<option value="ET"> CD-R</option>
<option value="ET">DVD</option>
<option value="ET"> Bandes de sauvegarde HF</option>
<option value="ET">souris</option>
<option value="ET">Bombe de d"poussiÚrage</option>
<option value="ET">bombe de nettoyage</option>
<option value="ET">chiffon informatiques</option>
<option value="ET">Toners pour imprimante laser</option>
<option value="ET">Cartouche pour imprimante Deskjet</option>
<option value="ET">Ruban pour imprimante</option>
</select>,

----

TYPE,
,

----

COULEUR,
,

----

QUANTITE,
,

----

DESCRIPTION,
,

----

AUTRE ASPECT,
,

----

DATE D'ENTREE,

  
 
 
</form>	


Bonne programmation !
0
Bezopremier Messages postés 5 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 30 septembre 2011
30 sept. 2011 à 10:01
merci pour l'aide que vous m'avez donné j'arrive a enregistrer mes données dans la base. Mais avec mon 'select option value' dans le formulaire que vous pouvez voir dans mon code ci-dessus, a l'enregistrement ce sont les 'ET' et les 'EN' qui s'enregistrent dans la base et non les noms comment dit je gerer ce probleme?
0
Rejoignez-nous