Enregistrement des données

AMARI -  
 AMARI -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  2. AMARI
     
    je te remercie infiniment pour ton aide et tous tes réponse bonne journée :)
    0
  3. AMARI
     
    j'ai toujours même problème il n'affiche aucune erreur et il n'ajout pas les valeurs à la base :(((((
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu as peut etre un pb dans dbconnect.php
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AMARI
     
    mais les autres page marche normal :( , si il y a un pb dans la page dbconnect normalement il affiche l'erreur non ??
    0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  8. AMARI
     
    il m'affiche ça
    Array
    (
    [Percipitation] =>
    [Evap_eau] =>
    [Mois] =>
    [Annee] =>
    [envoi] => Envoyer
    )
    avec le formulaire
    0
  9. Alain_42 Messages postés 5413 Statut Membre 904
     
    donc tu vois bien que tu ne reçoit pas de valeurs depuis ton formulaire.

    tu tapes bien quelque chose dans ton formulaire ?
    0
  10. AMARI
     
    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
  11. AMARI
     
    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
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  13. AMARI
     
    :(((((((((((((((((((( 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
  14. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  15. AMARI
     
    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
  16. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  17. AMARI
     
    merci pour ta réponse et bonne journée :)
    0