Enregistrement des données
MS2I
Messages postés
55
Statut
Membre
-
MS2I Messages postés 55 Statut Membre -
MS2I Messages postés 55 Statut Membre -
Bonjour,
Dans mon code j'ai des valeurs à rentrer , je rentre les valeurs mais le serveur ne les enregistres pas dans la bases de données je sais pas ou se trouve l'erreur , quelqu'un peut m'aider ,
voilà le code :
<html>
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
<!-- j'avait fait deux c...ies ci dessous une dans <script... et l'autre dans if(champ_annee.-->
<script type="text/javascript" >
//fonction qui permet de verifier que l'année a bien été sélectionnée
function verif_champs(){
var champ_annee = document.getElementById('annee');
if(champ_annee.value ==""){
alert("Vous devez choisir une année");
return false; //empeche l'envoi du formulaire
}
}
</script>
<style type="text/css">
.input_mois {
background-color:#A9AEAD;
text-align:center;
}
</style>
</head>
<body>
<p align="center" class="titre"><strong>- : : : Les paramètres du bases : : : -</strong></p>
<br>
<?php
//initialisation de l'array des mois
$array_list_mois=array("1"=>"Janvier","2"=>"Février","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet","8"=>"Aout","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Décembre");
//On verifie que le formulaire a été envoye
if(isset( $_POST['envoi']))
{
//connexion BDD, il suffit de le faire à ce moment là
require_once('dbconnect.php');
//recup des valeurs postées
$annee = $_POST['annee'];
$arrayMois = $_POST['Mois'];
$arrayP1 = $_POST['P1'];
$arrayP2 = $_POST['P2'];
//il faut faire autant de requette INSERT que de lignes remplies
//on parcours l'array $arrayMois
foreach($arrayMois as $mois=>$value){
//$mois = l'index qui va aussi servir dans les autres array
// ex: P1[5] contient la valeur saisie dasn P1 du mois 5
if(!empty($arrayP1[$mois]) && !empty($arrayP2[$mois] )){
//si les deux champs P1 et P2 ont été remplis pour le mois considéré on enregistre dans la BDD
//ta table se nomme parmetres ou parametres ??
$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$mois.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//si tu veux enregistrer le nom du mois au lieu du numéro remplaces $sql par:
//$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$value.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//echo "<br />".$sql;
$requete = $db->query($sql) ;
}
}
}
?>
<!-- ci dessous avec onsubmit="return verif_champs();" on vrifie en javascript que l'année a bien été sélectionnée, sinon le formulaire ne part pas -->
<form action="parametre.php" method="post" name="formulaire" onsubmit="return verif_champs();" >
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr><th>Année</th><th>Mois</th><th>P1</th><th>P2</th></tr>
<?php
//on va faire une boucle pour afficher tous les mois d'un coup
//et pour l'année dans la première colonne sur une seule ligne grace au rowspan="12"
for($n=1;$n<=12;$n++){
echo '<tr>';
//première colonne (année)
if($n==1){
//si première ligne on met la liste déroulante année dans la colonne 1
echo '<td rowspan="12">'; //colonne qui fait les 12 lignes
$annee=date("Y");
echo '<select name="annee" id="annee" >';
echo '<option value="">Choisir une année...</option>';
for($i=2010;$i<=$annee ;$i++){
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select>';
echo '</td>';
}
//suite des colonnes
echo '<td>';
//ci dessous en metant name= sous la forme xxxxx[] on va recevoir les valeurs des input dans un array $_POST['xxxx']
//le mois est déja rempli, on met readonly =>il ne peut pas être modifié,
// si pas de valeur pour le mois P1 P2 les champs seront laissés vides, donc pas d'enr dans la BDD pour le mois
echo '<input type="text" name="Mois['.$n.']" value="'.$array_list_mois[$n].'" class="input_mois" readonly />';
echo '</td>';
echo '<td>'; //colonne P1
echo '<input type="text" name="P1['.$n.']" value="" />';
echo '</td>';
echo '<td>'; //colonne P2
echo '<input type="text" name="P2['.$n.']" value="" />';
echo '</td>';
echo '</tr>';
}
?>
<tr>
<td height="50" colspan="4" align="center">
<input type="submit" name="envoi" value="Envoyer">
</td>
</tr>
</table>
</form>
<div class="foot"><a href="accueil.php">Retour à l'accueil</a></div>
</body>
</html>
Dans mon code j'ai des valeurs à rentrer , je rentre les valeurs mais le serveur ne les enregistres pas dans la bases de données je sais pas ou se trouve l'erreur , quelqu'un peut m'aider ,
voilà le code :
<html>
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
<!-- j'avait fait deux c...ies ci dessous une dans <script... et l'autre dans if(champ_annee.-->
<script type="text/javascript" >
//fonction qui permet de verifier que l'année a bien été sélectionnée
function verif_champs(){
var champ_annee = document.getElementById('annee');
if(champ_annee.value ==""){
alert("Vous devez choisir une année");
return false; //empeche l'envoi du formulaire
}
}
</script>
<style type="text/css">
.input_mois {
background-color:#A9AEAD;
text-align:center;
}
</style>
</head>
<body>
<p align="center" class="titre"><strong>- : : : Les paramètres du bases : : : -</strong></p>
<br>
<?php
//initialisation de l'array des mois
$array_list_mois=array("1"=>"Janvier","2"=>"Février","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet","8"=>"Aout","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Décembre");
//On verifie que le formulaire a été envoye
if(isset( $_POST['envoi']))
{
//connexion BDD, il suffit de le faire à ce moment là
require_once('dbconnect.php');
//recup des valeurs postées
$annee = $_POST['annee'];
$arrayMois = $_POST['Mois'];
$arrayP1 = $_POST['P1'];
$arrayP2 = $_POST['P2'];
//il faut faire autant de requette INSERT que de lignes remplies
//on parcours l'array $arrayMois
foreach($arrayMois as $mois=>$value){
//$mois = l'index qui va aussi servir dans les autres array
// ex: P1[5] contient la valeur saisie dasn P1 du mois 5
if(!empty($arrayP1[$mois]) && !empty($arrayP2[$mois] )){
//si les deux champs P1 et P2 ont été remplis pour le mois considéré on enregistre dans la BDD
//ta table se nomme parmetres ou parametres ??
$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$mois.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//si tu veux enregistrer le nom du mois au lieu du numéro remplaces $sql par:
//$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$value.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//echo "<br />".$sql;
$requete = $db->query($sql) ;
}
}
}
?>
<!-- ci dessous avec onsubmit="return verif_champs();" on vrifie en javascript que l'année a bien été sélectionnée, sinon le formulaire ne part pas -->
<form action="parametre.php" method="post" name="formulaire" onsubmit="return verif_champs();" >
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr><th>Année</th><th>Mois</th><th>P1</th><th>P2</th></tr>
<?php
//on va faire une boucle pour afficher tous les mois d'un coup
//et pour l'année dans la première colonne sur une seule ligne grace au rowspan="12"
for($n=1;$n<=12;$n++){
echo '<tr>';
//première colonne (année)
if($n==1){
//si première ligne on met la liste déroulante année dans la colonne 1
echo '<td rowspan="12">'; //colonne qui fait les 12 lignes
$annee=date("Y");
echo '<select name="annee" id="annee" >';
echo '<option value="">Choisir une année...</option>';
for($i=2010;$i<=$annee ;$i++){
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select>';
echo '</td>';
}
//suite des colonnes
echo '<td>';
//ci dessous en metant name= sous la forme xxxxx[] on va recevoir les valeurs des input dans un array $_POST['xxxx']
//le mois est déja rempli, on met readonly =>il ne peut pas être modifié,
// si pas de valeur pour le mois P1 P2 les champs seront laissés vides, donc pas d'enr dans la BDD pour le mois
echo '<input type="text" name="Mois['.$n.']" value="'.$array_list_mois[$n].'" class="input_mois" readonly />';
echo '</td>';
echo '<td>'; //colonne P1
echo '<input type="text" name="P1['.$n.']" value="" />';
echo '</td>';
echo '<td>'; //colonne P2
echo '<input type="text" name="P2['.$n.']" value="" />';
echo '</td>';
echo '</tr>';
}
?>
<tr>
<td height="50" colspan="4" align="center">
<input type="submit" name="envoi" value="Envoyer">
</td>
</tr>
</table>
</form>
<div class="foot"><a href="accueil.php">Retour à l'accueil</a></div>
</body>
</html>
A voir également:
- Enregistrement des données
- Fuite données maif - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Supprimer les données de navigation - Guide
3 réponses
je faisais echo $sql et il m'a afficher ça
INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "1", "1","1")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "2", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "3", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "4", "3","3")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "5", "4","4")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "6", "5","5")INSERT INTO parametres( annee, Mois, P1,P2 ) VALUES ("2002", "7", "7","7")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "8", "8","8")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "9", "9","9")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "10", "10","10")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "11", "11","11")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "12", "12","12")
alors pourquoi il l'enregistre pas dans la base de données
INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "1", "1","1")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "2", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "3", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "4", "3","3")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "5", "4","4")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "6", "5","5")INSERT INTO parametres( annee, Mois, P1,P2 ) VALUES ("2002", "7", "7","7")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "8", "8","8")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "9", "9","9")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "10", "10","10")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "11", "11","11")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "12", "12","12")
alors pourquoi il l'enregistre pas dans la base de données