Probleme de if else
Résolu
jojojami
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
jojojami Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
jojojami Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
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']) )