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
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
20
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
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
20
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
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
20
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