Php if pas pris en compte [Résolu/Fermé]

Signaler
-
 jupiter -
Bonjour,

voila j ai un formulaire qui fonctionnetres bien mai j ai mon if en fin de script qui est censé vérifier si l'insertion dans la base s'execute bien mais mon message de prise en compte s'affiche tout le temps.

Pouvez-vous m'aider ?

Merci

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html Xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>formulaire</title>
<link href="formulaire.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="header">
<div id="header-logo">
<img src="images/logo2.png">
</div>
<div id="header-slogan">
<img src="images/slogan.png">
</div>
</div>
<div id="globalcont">
<h3>Créer un client :</h3>
<form method="POST" action="client.php" value="client">
<table class="table">
<tr><td><p>Nom :</p></td><td><input type="text" name="nom" size="30" /></td></tr>
<tr><td><p>Prénom :</p></td><td><input type="text" name="prenom" size="30" /></p></td></tr>
<tr><td><p>Date de naissance :</p></td><td><input type="text" name="naissance" size="30" /></p></td></tr>
<tr><td><p>Numéro client :</p></td><td><input type="text" name="ss" size="30" /></p></td></tr>


</table>
<br /><center><input type="submit" name="envoyer" value="Valider"/></center>
</form>

<?php

include 'config.php';
include 'connexion.php';


$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
{

foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}

$sql = "INSERT INTO clients VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
$res = mysql_query($sql);

if ($res) {
?>
<h3> <?php echo $msg_ok;?></h3>
<?php
} else { echo mysql_error();}
}
?>
</div>

</body>
</html>

2 réponses

Messages postés
76
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
18 août 2010
30
en fait tu insère à chaque fois ! au final, comme tu ne fais pas de test pour savoir si le formulaire a été rempli (rempli, meme avec du vide, vérifier les informations c'est une autre question), tu insère certainement des lignes vides dans ta base. il suffirait d'un petit " if (isset($_POST['un de mes champs'])) " qui entoure ton bloc qui insère en base, et il faudrait avoir fait un submit sur le formulaire pour que l'insertion se passe.

a moins que je sois bête et que tu avais bien 2 fichiers différents dans ton code ci-dessus?


sinon je ne comprends pas pourquoi tu as :

$message = $msg_erreur;
{ (pourquoi l'accolade ?)

pareil pour l'accolade de fin.
effecttivement des lignes vides s'insérait aussi j ai mis le if isset ou il faut t ca marche nickel merci mille fois