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

Signaler
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011
-
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011
-
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

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

peux tu nous montrer ton code ...

Bonne programmation !
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011

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,

  
 
 
Messages postés
41
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
13 décembre 2012

As tu une balise form?

<form method="post" action="url_de_ta_page_php">
TON CODE HTML POUR TON FORMULAIRE
</form>
Messages postés
50
Date d'inscription
dimanche 6 mai 2007
Statut
Membre
Dernière intervention
14 novembre 2011

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.

@('(°)_(°) )@
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011

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
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011

Parse error: parse error in C:\wamp\www\exemple.php on line 9
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
5
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
30 septembre 2011

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?