Le code php d'insertion ne marche pas

Résolu/Fermé
imani_2 - 7 oct. 2013 à 13:08
 Utilisateur anonyme - 7 oct. 2013 à 17:02
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

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
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
Utilisateur anonyme
7 oct. 2013 à 17:02
De rien : )
0