Probleme de if else
Résolu
jojojami
Messages postés
33
Statut
Membre
-
jojojami Messages postés 33 Statut Membre -
jojojami Messages postés 33 Statut Membre -
Bonjour,
svp veuillez m'aider j'ai un probleme dans ce script , ca m'affiche directement "veuillez remplir les champs " alors qu'ils sont tous remplis
<?php
if(isset($_POST['id_article'])) $id_article=$_POST['id_article'];
else $id_article="";
if(isset($_POST['libelle'])) $libelle=$_POST['libelle'];
else $libellé="";
if(isset($_POST['quantite'])) $quantite=$_POST['quantite'];
else $quantite="";
if(isset($_POST['marque'])) $marque=$_POST['marque'];
else $marque="";
if(isset($_POST['date'])) $date=$_POST['date'];
else $date="";
//verification si un champ est vide
if(empty($id_article) OR empty($libelle) OR empty($quantite) OR empty($marque) )
{
echo '<font color="red">veuillez remplir les champs</font>';
}
// Aucun champ n'est vide, enregistrement
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gestion de stock',$db) or die('Erreur de selection '.mysql_error());
// requête sql
$sql = "INSERT INTO article (id_article, libelle , quantite, marque, date)
VALUES ('$id_article','$libelle',$quantite,'$marque','$date' )";
// insertion dans la bd
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo ' l article a été ajouté.'; // affichage
echo "<form method='' action='ajouter.php'>
<input type='submit' name='ajout' style='width:140px' class='button' value='ajouter un nouvel article '><br>
</form>";
mysql_close(); //fermeture de la connexion
}
?>
svp veuillez m'aider j'ai un probleme dans ce script , ca m'affiche directement "veuillez remplir les champs " alors qu'ils sont tous remplis
<?php
if(isset($_POST['id_article'])) $id_article=$_POST['id_article'];
else $id_article="";
if(isset($_POST['libelle'])) $libelle=$_POST['libelle'];
else $libellé="";
if(isset($_POST['quantite'])) $quantite=$_POST['quantite'];
else $quantite="";
if(isset($_POST['marque'])) $marque=$_POST['marque'];
else $marque="";
if(isset($_POST['date'])) $date=$_POST['date'];
else $date="";
//verification si un champ est vide
if(empty($id_article) OR empty($libelle) OR empty($quantite) OR empty($marque) )
{
echo '<font color="red">veuillez remplir les champs</font>';
}
// Aucun champ n'est vide, enregistrement
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gestion de stock',$db) or die('Erreur de selection '.mysql_error());
// requête sql
$sql = "INSERT INTO article (id_article, libelle , quantite, marque, date)
VALUES ('$id_article','$libelle',$quantite,'$marque','$date' )";
// insertion dans la bd
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo ' l article a été ajouté.'; // affichage
echo "<form method='' action='ajouter.php'>
<input type='submit' name='ajout' style='width:140px' class='button' value='ajouter un nouvel article '><br>
</form>";
mysql_close(); //fermeture de la connexion
}
?>
7 réponses
Bonjour
Ajoute
Le problème vient peut-être du formulaire (erreur d'orthographe dans un nom de champ, méthode post pas demandée...). Il faudrait aussi le code du formulaire.
Ajoute
var_dump($_POST);au début du script pour voir quelles sont les données reçues
Le problème vient peut-être du formulaire (erreur d'orthographe dans un nom de champ, méthode post pas demandée...). Il faudrait aussi le code du formulaire.
Ben même réponse, essaye de changer les variables de
par leur homologue $_POST
if(empty($id_intervenant) OR empty($nom_intervenant ) OR empty($tel_intervenant) OR empty($e_mail_intervenant) OR empty ($pwd_intervenant) )
par leur homologue $_POST
J'ai une préférence pour cette disposition :
Pour ce code, il faut ajouter un name="ajouter" au bouton "submit".
Ps: L'utilisation d'un mysql_escape_string() ne serait pas du luxe sur l'insertion des données en BD.
<?php
if(isset($_POST['ajouter'])){
$id_intervanant=$_POST['id_intervenant'];
$nom_intervenant=$_POST['nom_intervenant'];
$tel_intervenant=$_POST['tel_intervenant'];
$e_mail_intervenant=$_POST['e_mail_intervenant'];
$pwd_intervenant=$_POST['pwd_intervenant'];
if(empty($id_intervenant)){
echo 'Champ id user vide';
}
elseif(empty($nom_intervenant)){
echo 'Champ nom vide';
}
elseif(empty($tel_intervenant)){
echo 'Champ téléphone vide';
}
elseif(empty($e_mail_intervenant)){
echo 'Champ email vide';
}
elseif(empty($pwd_intervenant)){
echo 'Champ mot de passe vide';
}
else{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gestion de stock',$db) or die('Erreur de selection '.mysql_error());
//création de la requête SQL:
$sql = "INSERT INTO intervenant (id_intervenant, nom_intervenant, tel_intervenant, e_mail_intervenant, pwd_intervenant)
VALUES ('$id_intervenant','$nom_intervenant',$tel_intervenant,'$e_mail_intervenant','$pwd_intervenant' )";
// insertion dans la bd
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'L insertion a été correctement effectuée.';
echo "<form method='' action='mise_a_jr_users.php'>
<input type='submit' name='ajout' value='ajouter un nouvel utilistateur '><br>
</form>";
mysql_close(); //fermeture de la connexion
}
}
?>
Pour ce code, il faut ajouter un name="ajouter" au bouton "submit".
Ps: L'utilisation d'un mysql_escape_string() ne serait pas du luxe sur l'insertion des données en BD.
Ton script était presque bon
$id_intervanant=$_POST['id_intervenant'];
intervenant, pas intervanant.
Et tryan44 a raison pour l'utilisation de mysql_real_escape_string (plutôt que mysql_escape_string qui est dépréciée)
$id_intervanant=$_POST['id_intervenant'];
intervenant, pas intervanant.
Et tryan44 a raison pour l'utilisation de mysql_real_escape_string (plutôt que mysql_escape_string qui est dépréciée)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilise la balise code :)
Sinon ton problème vient probablement de ton
Essaye de remplacer toutes les variables que tu vérifie par leur homologue $_POST qui est une variable globale et donc non réinitialisée quand on recharge la page.
En espérant t'avoir aidé :)
Sinon ton problème vient probablement de ton
if(empty($id_article) OR empty($libelle) OR empty($quantite) OR empty($marque) )
Essaye de remplacer toutes les variables que tu vérifie par leur homologue $_POST qui est une variable globale et donc non réinitialisée quand on recharge la page.
En espérant t'avoir aidé :)
Il n'y a aucune raison de remplacer ces variables par leur homologue $_POST
$_POST .. est une variable globale et donc non réinitialisée quand on recharge la page. Aucun rapport... $_POST n'est pas $_SESSION. Ce n'est pas parce qu'une variable est globale qu'elle est conservée d'une page sur l'autre
$_POST .. est une variable globale et donc non réinitialisée quand on recharge la page. Aucun rapport... $_POST n'est pas $_SESSION. Ce n'est pas parce qu'une variable est globale qu'elle est conservée d'une page sur l'autre
mr je suis vraiment desolée je suis trompée de script :/ voilà :
<?php
var_dump($_POST);
if(isset($_POST['id_intervenant'])) $id_intervanant=$_POST['id_intervenant'];
else $id_intervenant="";
if(isset ($_POST['nom_intervenant'])) $nom_intervenant=$_POST['nom_intervenant'];
else $nom_intervenant="";
if(isset ($_POST['tel_intervenant'])) $tel_intervenant=$_POST['tel_intervenant'];
else $tel_intervenant="";
if(isset ($_POST['e_mail_intervenant'])) $e_mail_intervenant=$_POST['e_mail_intervenant'];
else $e_mail_intervenant="";
if(isset ($_POST['pwd_intervenant'])) $pwd_intervenant=$_POST['pwd_intervenant'];
else $pwd_intervenant="";
//verification des champs vides
if(empty($id_intervenant) OR empty($nom_intervenant ) OR empty($tel_intervenant) OR empty($e_mail_intervenant) OR empty ($pwd_intervenant) )
{
echo '<font color="red">veuillez remplir les champs</font>';
}
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gestion de stock',$db) or die('Erreur de selection '.mysql_error());
//création de la requête SQL:
$sql = "INSERT INTO intervenant (id_intervenant, nom_intervenant, tel_intervenant, e_mail_intervenant, pwd_intervenant)
VALUES ('$id_intervenant','$nom_intervenant',$tel_intervenant,'$e_mail_intervenant','$pwd_intervenant' )";
// insertion dans la bd
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'L insertion a été correctement effectuée.';
echo "<form method='' action='mise_a_jr_users.php'>
<input type='submit' name='ajout' value='ajouter un nouvel utilistateur '><br>
</form>";
mysql_close(); //fermeture de la connexion
}
?>
et voilà le formulaire:
<form name="ajouter_user" action="ajouter_user.php" method="POST" >
<table border="0" align="center" cellspacing="2" >
<tr align="left">
<td >id user:</td >
<td ><input type="text" name="id_intervenant"></td >
</tr >
<tr align="left">
<td >nom:</td >
<td ><input type="text" name="nom_intervenant"></td >
</tr >
<tr align="left">
<td >nº de telephone:</td >
<td ><input type="text" name="tel_intervenant"></td >
</tr >
<tr align="left">
<td >e_mail:</td >
<td ><input type="text" name="e_mail_intervenant"></td >
</tr >
<tr align="left">
<td >mot de passe:</td >
<td ><input type="text" name="pwd_intervenant"></td >
</tr >
<tr align="left">
<td colspan="2"><input class="button" type="submit" value="ajouter"></td >
</tr >
</table >
</form>
<?php
var_dump($_POST);
if(isset($_POST['id_intervenant'])) $id_intervanant=$_POST['id_intervenant'];
else $id_intervenant="";
if(isset ($_POST['nom_intervenant'])) $nom_intervenant=$_POST['nom_intervenant'];
else $nom_intervenant="";
if(isset ($_POST['tel_intervenant'])) $tel_intervenant=$_POST['tel_intervenant'];
else $tel_intervenant="";
if(isset ($_POST['e_mail_intervenant'])) $e_mail_intervenant=$_POST['e_mail_intervenant'];
else $e_mail_intervenant="";
if(isset ($_POST['pwd_intervenant'])) $pwd_intervenant=$_POST['pwd_intervenant'];
else $pwd_intervenant="";
//verification des champs vides
if(empty($id_intervenant) OR empty($nom_intervenant ) OR empty($tel_intervenant) OR empty($e_mail_intervenant) OR empty ($pwd_intervenant) )
{
echo '<font color="red">veuillez remplir les champs</font>';
}
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gestion de stock',$db) or die('Erreur de selection '.mysql_error());
//création de la requête SQL:
$sql = "INSERT INTO intervenant (id_intervenant, nom_intervenant, tel_intervenant, e_mail_intervenant, pwd_intervenant)
VALUES ('$id_intervenant','$nom_intervenant',$tel_intervenant,'$e_mail_intervenant','$pwd_intervenant' )";
// insertion dans la bd
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'L insertion a été correctement effectuée.';
echo "<form method='' action='mise_a_jr_users.php'>
<input type='submit' name='ajout' value='ajouter un nouvel utilistateur '><br>
</form>";
mysql_close(); //fermeture de la connexion
}
?>
et voilà le formulaire:
<form name="ajouter_user" action="ajouter_user.php" method="POST" >
<table border="0" align="center" cellspacing="2" >
<tr align="left">
<td >id user:</td >
<td ><input type="text" name="id_intervenant"></td >
</tr >
<tr align="left">
<td >nom:</td >
<td ><input type="text" name="nom_intervenant"></td >
</tr >
<tr align="left">
<td >nº de telephone:</td >
<td ><input type="text" name="tel_intervenant"></td >
</tr >
<tr align="left">
<td >e_mail:</td >
<td ><input type="text" name="e_mail_intervenant"></td >
</tr >
<tr align="left">
<td >mot de passe:</td >
<td ><input type="text" name="pwd_intervenant"></td >
</tr >
<tr align="left">
<td colspan="2"><input class="button" type="submit" value="ajouter"></td >
</tr >
</table >
</form>
meme probleme :( voilà j'ai remplacé :
if(empty($id_intervenant) OR empty($nom_intervenant ) OR empty($tel_intervenant) OR empty($e_mail_intervenant) OR empty ($pwd_intervenant) )
par:
if(empty($_POST['id_intervenant']) OR empty($_POST['$nom_intervenant']) OR empty($_POST['tel_intervenant']) OR empty($_POST['e_mail_intervenant']) OR empty ($_POST['pwd_intervenant']) )
if(empty($id_intervenant) OR empty($nom_intervenant ) OR empty($tel_intervenant) OR empty($e_mail_intervenant) OR empty ($pwd_intervenant) )
par:
if(empty($_POST['id_intervenant']) OR empty($_POST['$nom_intervenant']) OR empty($_POST['tel_intervenant']) OR empty($_POST['e_mail_intervenant']) OR empty ($_POST['pwd_intervenant']) )