Enregistrement des données

Bonjour,
j'ai ma page php , dans la quelle j'ai des valeurs à saisir , le problème ce que le serveur il n'affiche aucune erreur , et il n'ajoute pas les valeurs à la base des données :( , quelqu'un peut m'aider d'avoir ou se trouve l'erreur merci .
voilà le code php

<?php
require_once('header.php');
require_once('dbconnect.php');
require_once('record_stat.php');
?>
<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">
</head>
<body>
<p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
<?php
//On verifie que le formulaire a été envoye
if(isset($_POST['Percipitation'], $_POST['Evap_eau'], $_POST['Annee'], $_POST['Mois']))
{
//On échape les variables pour pouvoir les mettre dans une requette SQL
$Percipitation = $_POST['Percipitation'];
$Evap_eau = $_POST['Evap_eau'];
$Annee = $_POST['Annee'];
$Mois = $_POST['Mois'];
$sql='insert into parametres_de_bases(Percipitation, Evap_eau, Annee, Mois) values ("'.$Percipitation.'", "'.$Evap_eau.'", "'.$Annee.'", "'.$Mois.'")';
$requete = $db->query($sql) ;
?>
<form action="parametre.php" method="post" name="formulaire" >
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr>
<td width="40">Percipitation </td>
<td width="144"><input name="Percipitation" type="text" id="Percipitation"></td>
</tr>
<tr>
<td width="40">Evapo avec eau </td>
<td width="144"><input name="Evap_eau" type="text" id="Evap_eau"></td>
</tr>
<td width="40">Mois </td>
<td width="144"><input name="Mois" type="text" id="Mois"></td>
</tr>
<td width="40">Année </td>
<td width="144"><input name="Annee" type="text" id="Annee"></td>
</tr>
<tr>
<td height="50" colspan="2"><div align="center">
<input type="submit" name="envoi" value="Envoyer">
</td>
</tr>
</table>
</form>
</body>
</html>

16 réponses

  1. Re salut,
    <?php
    require_once('header.php');
    require_once('dbconnect.php');
    require_once('record_stat.php');
    ?>
    <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">
    </head>
    <body>
    <p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
    <?php
    //On verifie que le formulaire a été envoye
    //le test avec plusieurs conditions ne se fait pas ainsi en séparant par des virgules mais comme ça
    
    //if(isset($_POST['Percipitation'], $_POST['Evap_eau'], $_POST['Annee'], $_POST['Mois']))
    if(isset($_POST['Percipitation']) && isset($_POST['Evap_eau']) && isset($_POST['Annee']) && isset( $_POST['Mois']))
    {
    	//On échape les variables pour pouvoir les mettre dans une requette SQL ///Ha bon et je ne vois pas ça dans ton code ??
    	$Percipitation = mysql_real_esacape_string($_POST['Percipitation']);
    	$Evap_eau =  mysql_real_esacape_string($_POST['Evap_eau']);
    	$Annee =  mysql_real_esacape_string($_POST['Annee']);
    	$Mois =  mysql_real_esacape_string($_POST['Mois']);
    	$sql='INSERT INTO parametres_de_bases(Percipitation, Evap_eau, Annee, Mois) VALUES ("'.$Percipitation.'","'.$Evap_eau.'","'.$Annee.'","'.$Mois.'")';
    	$requete = $db->query($sql) ;
    } //il te manquait en plus cette } fermante du if(isset(....
    else{.
    	 echo 'Veuillez remplir tous les chamsp !';
    }
    ?>
    <form action="parametre.php" method="post" name="formulaire" >
    <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
    <tr>
    <td width="40">Percipitation </td>
    <td width="144"><input name="Percipitation" type="text" id="Percipitation"></td>
    </tr>
    <tr>
    <td width="40">Evapo avec eau </td>
    <td width="144"><input name="Evap_eau" type="text" id="Evap_eau"></td>
    </tr>
    <td width="40">Mois </td>
    <td width="144"><input name="Mois" type="text" id="Mois"></td>
    </tr>
    <td width="40">Année </td>
    <td width="144"><input name="Annee" type="text" id="Annee"></td>
    </tr>
    <tr>
    <td height="50" colspan="2"><div align="center">
    <input type="submit" name="envoi" value="Envoyer">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    0
    1. je te remercie infiniment pour ton aide et tous tes réponse bonne journée :)
      0
      1. j'ai toujours même problème il n'affiche aucune erreur et il n'ajout pas les valeurs à la base :(((((
        0
        1. tu as peut etre un pb dans dbconnect.php
          0
          1. mais les autres page marche normal :( , si il y a un pb dans la page dbconnect normalement il affiche l'erreur non ??
            0
            1. après la ligne:
              if(isset($_POST['Percipitation']) && isset($_POST['Evap_eau']) && isset($_POST['Annee']) && isset( $_POST['Mois']))
              {


              mets un test:
              echo '<pre>';
              print_r($_POST);
              echo '</pre>';


              et dis moi ce qui s'affiche
              0
              1. il m'affiche ça
                Array
                (
                [Percipitation] =>
                [Evap_eau] =>
                [Mois] =>
                [Annee] =>
                [envoi] => Envoyer
                )
                avec le formulaire
                0
                1. donc tu vois bien que tu ne reçoit pas de valeurs depuis ton formulaire.

                  tu tapes bien quelque chose dans ton formulaire ?
                  0
                  1. oui j'insère des valeurs mais comme j'ai te dit pas d'erreur et il y a pas d'enregistrements dans la base :(
                    0
                    1. en fait si je remplit les champs et je clique sur le bouton envoyer il m'affiche
                      Array
                      (
                      [Percipitation] =>
                      [Evap_eau] =>
                      [Mois] =>
                      [Annee] =>
                      [envoi] => Envoyer
                      )
                      et au dessus le formulaire vide et qd je consulte ma base des données il y a pas de valeurs de dans
                      0
                      1. bizarre chez moi je reçoit bien les valeurs tapées dans le formulaire

                        essaie comme ça:
                        <?php
                        require_once('header.php');
                        require_once('dbconnect.php');
                        require_once('record_stat.php');
                        
                        ?>
                        <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">
                        </head>
                        <body>
                        <p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
                        <?php
                        //On verifie que le formulaire a été envoye
                        if(isset($_POST['envoi'])){
                        	if(!empty($_POST['Percipitation']) && !empty($_POST['Evap_eau']) && !empty($_POST['Annee']) && !empty($_POST['Mois']))
                        	{
                        		echo '<pre>';
                        		print_r($_POST);
                        		echo '</pre>';
                        		//On échape les variables pour pouvoir les mettre dans une requette SQL ///Ha bon et je ne vois pas ça dans ton code ??
                        		$Percipitation = $_POST['Percipitation'];
                        		$Evap_eau = $_POST['Evap_eau'];
                        		$Annee = $_POST['Annee'];
                        		$Mois = $_POST['Mois'];
                        		
                        		$sql='INSERT INTO parametres_de_bases(Percipitation, Evap_eau, Annee, Mois) VALUES ("'.$Percipitation.'","'.$Evap_eau.'","'.$Annee.'","'.$Mois.'")';
                        		try{
                        			$requete = $db->query($sql) ;
                        		}catch(PDOException $e){
                        			 echo "Message d'erreur: " . $e->getMessage() . "<br />";
                        		}	
                        	} 
                        	else{
                        		 echo '<p style="text-align:center; color:red;">Veuillez remplir tous les champs !</p>';
                        	}
                        }
                        ?>
                        <form action="parametre.php" method="post" name="formulaire" >
                        <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
                        <tr>
                        <td width="40">Percipitation </td>
                        <td width="144"><input name="Percipitation" type="text" id="Percipitation"></td>
                        </tr>
                        <tr>
                        <td width="40">Evapo avec eau </td>
                        <td width="144"><input name="Evap_eau" type="text" id="Evap_eau"></td>
                        </tr>
                        <td width="40">Mois </td>
                        <td width="144"><input name="Mois" type="text" id="Mois"></td>
                        </tr>
                        <td width="40">Année </td>
                        <td width="144"><input name="Annee" type="text" id="Annee"></td>
                        </tr>
                        <tr>
                        <td height="50" colspan="2"><div align="center">
                        <input type="submit" name="envoi" value="Envoyer">
                        </td>
                        </tr>
                        </table>
                        </form>
                        </body>
                        </html>
                        0
                        1. :(((((((((((((((((((( même problème
                          voilà il m'affiche
                          Array
                          (
                          [Percipitation] => 1
                          [Evap_eau] => 1
                          [Mois] => 1
                          [Annee] => 1
                          [envoi] => Envoyer
                          )
                          avec le formulaire et base des données vide
                          je suis bloquée tout la journée je peux pas avancer :(((((((
                          0
                          1. déja ça va un peu mieux, tu reçoit les valeurs 1 que tu as tapé

                            donnes le code de db_connect.php
                            0
                            1. Bonjour , je toujours le même problème excuse moi de te ne pas répondre faute de connexion internet voilà le code sources de ma page dbconnect:
                              <?php

                              // Paramètres de connexion
                              $hostname = "localhost"; // nom ou ip de votre serveur
                              $database = "Valeur"; // nom de votre base de données
                              $username = "root"; // nom d'utilisateur (root par défaut) !!! ATTENTION, en utilisant root, vos visiteurs on tout les droits sur la base
                              $password = ""; // mot de passe (aucun par défaut mais il est fortement recommandé d'en mettre un ... sinon, à quoi bon la sécurité ?)
                              $db=new mysqli("$hostname","$username","","$database");
                              $db->query('SET CHARSET "UTF-8"');
                              $db->query('SET CHARACTER SET UTF8');
                              $db->query("SET NAMES 'utf8'");
                              $db->query('SET collation_connection = utf8_general_ci');
                              ?>
                              0
                              1. bonsoir,

                                Je viens de me créer une base identique à la tienne, et avec le code ci dessous j'ai des enregistrements
                                ATTENTION dans phpmyadmin il faut cliquer sur afficher à chaque fois pour visualiser les nouveaux enregistrements
                                <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">
                                </head>
                                <body>
                                <p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
                                <?php
                                //On verifie que le formulaire a été envoye
                                if(isset($_POST['envoi'])){
                                	if(!empty($_POST['Percipitation']) && !empty($_POST['Evap_eau']) && !empty($_POST['Annee']) && !empty($_POST['Mois']))
                                	{
                                		echo '<pre>';
                                		print_r($_POST);
                                		echo '</pre>';
                                		//On échape les variables pour pouvoir les mettre dans une requette SQL , par mysqli_real_escape_string(...)
                                		$Percipitation = mysqli_real_escape_string($db,$_POST['Percipitation']);
                                		$Evap_eau = mysqli_real_escape_string($db,$_POST['Evap_eau']);
                                		$Annee = mysqli_real_escape_string($db,$_POST['Annee']);
                                		$Mois = mysqli_real_escape_string($db,$_POST['Mois']);
                                		
                                		$sql='INSERT INTO parametres_de_bases(Percipitation, Evap_eau, Annee, Mois) VALUES ("'.$Percipitation.'","'.$Evap_eau.'","'.$Annee.'","'.$Mois.'")';
                                		
                                		if(!$requete = $db->query($sql)){
                                			printf("Erreur : %s\n", $mysqli->error);
                                		}else{
                                			echo "Enregistrement base réussi !";
                                		}
                                	
                                	} 
                                	else{
                                		 echo '<p style="text-align:center; color:red;">Veuillez remplir tous les champs !</p>';
                                	}
                                }
                                ?>
                                0
                                1. merci pour ta réponse et bonne journée :)
                                  0