Le code php d'insertion ne marche pas

Résolu
Bonjour,

J'ai un petit souci sur la requête d'insertion. Les données saisies sur le formulaire ne sont pas envoyées dans la base de données. voici le code :

if(isset($_POST['Ajout'])){ 

$requete= "INSERT INTO locationch SET  IdClient='".$_POST['IdClient']."', IdEmpl='".$_POST['IdEmpl']."', IdChambre='".$_POST['IdChambre']."', datdebLoc='".$_POST['datdebLoc']."', datfinLoc='".$_POST['datfinLoc']."', montAvaLoc='".$_POST['montAvaLoc']."', lieuProv='".$_POST['lieuProv']."', PosteEntr='".$_POST['PosteEntr']."', motifSjr='".$_POST['motifSjr']."'"; 

$resultat = mysql_query($requete);


Si vous voulez bien, voici tout le formulaire et toutes les requêtes:

<?php include("header.php");
include("calendrier.php");?>

<?php

require_once("connectionMYSQL.inc.php");

if(isset($_POST['Ajout'])){

$requete= "INSERT INTO locationch SET IdClient='".$_POST['IdClient']."', IdEmpl='".$_POST['IdEmpl']."', IdChambre='".$_POST['IdChambre']."', datdebLoc='".$_POST['datdebLoc']."', datfinLoc='".$_POST['datfinLoc']."', montAvaLoc='".$_POST['montAvaLoc']."', lieuProv='".$_POST['lieuProv']."', PosteEntr='".$_POST['PosteEntr']."', motifSjr='".$_POST['motifSjr']."'";

$resultat = mysql_query($requete);
}
if (isset($_GET['IdClient'])){
$requete4= "SELECT * FROM client WHERE IdClient = '".$_GET['IdClient']."' ";
$resultat4 = mysql_query($requete4);
$client = mysql_fetch_array($resultat4);
}
$requete2= "SELECT * FROM employe ";
$resultat2 = mysql_query($requete2);

$requete3= "SELECT * FROM chambre ";
$resultat3 = mysql_query($requete3);

$message=" Choisissez un client";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Gestion Restaurant de Mombassa Hotel</title>
</head>
<body>
<br></br>
<h2 align=center> ENREGISTREMENT DES LOCATIONS DE CHAMBRES</h2>
<FIELDSET width=300 STYLE="background: #bbb;" >
<legend align= center> Nouvelle Location</legend>
<table border = "4" cellpadding=10>
<form id="form1" name= "form1" action="LocationInsert.php" method="POST">
<table align=center border = "0" cellpadding=5>
<tr>
<td>Nom du Client:</td>
<td><input type="text" name="IdClient" value="<?php if(($_GET['IdClient'])) echo $client['IdClient'].$client['nomCl'].$client['prenom'];?>"/> <?php if(($_GET['IdClient'])) echo "<a href=\"ClienLocSearch..php\"> <img src=\"images/add.gif\" >"; else { echo $message." " ;?> <a href="ClienLocSearch.php">
<img src="images/add.gif" alt = "supprimer" border = '0px'> <?php }?></td>
</tr>

<tr>
<td>Nom de l'employe:</td>
<td><select name="IdEmpl" id="IdEmpl">
<?php while($employe= mysql_fetch_array($resultat2)) { ?>
<option value="<?php echo $employe['IdEmpl'];?>" > <?php echo $employe['nomEmpl'];?> </option>
<?php } ?>
</select >
</tr>

<tr>
<td>Numero Chambre:</td>
<td><select name="IdChambre" id="IdChambre">
<?php while($chambre= mysql_fetch_array($resultat3)) { ?>
<option value="<?php echo $chambre['IdChambre'];?>" > <?php echo $chambre['IdChambre'];?> </option>
<?php } ?>
</select >
</tr>

<tr>
<td> Date Debut:</td>
<td> <input type="text" name="datdebLoc" class="calendrier">
</tr>

<tr>
<td> Date Fin:</td>
<td> <input type="text" name="datfinLoc" class="calendrier">
</tr>
<tr>
<td>Montant Avancé:</td>
<td><input type="text" name="montAvaLoc"/></td>
</tr>
<tr>
<td>Lieu de Provenance:</td>
<td><input type="text" name="LieuProv"/></td>
</tr>
<tr>
<td>Poste d'Entrée:</td>
<td><input type="text" name="PosteEntr"/></td>
</tr>
<tr>
<td>Motif de Sejour:</td>
<td>Affaire<input type="radio" name="motifSjr" value="Affaire"/>Tourisme<input type="radio" name="motifSjr" value="Tourisme" />Autres<input type="radio" name="motifSjr" value="Autres"</td>
</tr>

<tr>
<td align="center" colspan="4">
<input type="submit" name="Ajout" value="Envoyer">
<input type="reset" name="Annuler" value="Annuler">
</td>
</tr>
</table>
</form>
</fieldset>

<?php include("footer.php")?>
</body>
</html>


Merci d'avance.

2 réponses

  1. Bonjour

    Je n'ai pas regardé en détail, mais déjà pour diagnostiquer :

    print_r($_POST); au début pour voir si tu reçois bien ce que tu crois de ton formulaire
    echo $requete; pour vérifier que la requête d'insertion est bien celle que tu crois
    $resultat = mysql_query($requete) or die (mysql_error()); pour afficher un message d'erreur
    0
    1. Rebonjour le Père,

      Juste pour vous remercier. Finalement ça marche. Le problème était au niveau de l'oubli : l'attribut PosteEntr n'était pas identique que celui de la base de données, donc c'était
      PosteEnt 
      au lieu de
      PosteEntr

      Je viens de le détecter avec, bien sur, le
      print_r
      que vous m'avez suggéré.

      Grand merci.
      0
      1. De rien : )
        0