Php if pas pris en compte
Résolu
jupiter
-
jupiter -
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>
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>
A voir également:
- Php if pas pris en compte
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Créer un compte instagram sur google - Guide
2 réponses
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.
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.