Page 1 sur 2
empty ou isset ?
Posté : 18 mai 2022, 10:51
par wisefun77
Bonjour,
Je n'arrive toujours pas à faire plusieurs conditions avec les balises vides ou pleines.
Dans ce code, cela ne passe jamais dans le 3ième elseIf.
Code : Tout sélectionner
<?php
// Conditions de traitement des balises reçues
// Si la variable new-asset est pleine et si la variable old-asset est vide.
if (!empty($_POST["new-asset"])&& !!!empty($_POST['old-asset']))
{// Set session variables
echo 'IF new-asset seul';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
elseIF(!empty($_POST['old-asset']))
{// Set session variables
echo 'ElseIF old-asset seul';
}
// Si les deux variables new-asset et old-asset sont pleines.
elseIF(!empty($_POST['new-asset']) && !empty($_POST['old-asset']))
{// Set session variables
echo 'ElseIF old-asset and new-asset';
}
// Function suite clique sur le bouton précédent.
elseif(isset($_SESSION['Balises2'])){
$page='5';
precedent();
}
?>
Quelle est mon erreur?
Merci.
Re: empty ou isset ?
Posté : 18 mai 2022, 11:11
par or 1
$var1 = "r";
$var2 = "";
if(!empty($var1))
echo "1";
if(!empty($var2))
echo "2";
if(!!empty($var1))
echo "3";
if(!!empty($var2))
echo "4";
if(!!!empty($var1))
echo "5";
if(!!!empty($var2))
echo "6";
avant d'éxécuter ce code, demandez-vous ce que cela doit afficher, et ensuite comparez avec le résultat.
Re: empty ou isset ?
Posté : 18 mai 2022, 11:25
par wisefun77
Bonjour or1,
J'étudie de suite.
Merci.
Re: empty ou isset ?
Posté : 18 mai 2022, 11:46
par wisefun77
Bonjour or1
voilà ce que j'ai compris.
Code : Tout sélectionner
<?PHP
$var1 = "r";
$var2 = "";
if(!empty($var1))
echo "1"; // SI $var1 n'est pas vide
if(!empty($var2))
echo "2"; // SI $var2 n'est pas vide
if(!!empty($var1))
echo "3"; // SI $var1 est vide
if(!!empty($var2))
echo "4"; // SI $var2 est vide
if(!!!empty($var1))
echo "5"; // SI $var1 est plein ou True
if(!!!empty($var2))
echo "6"; // SI $var2 est plein ou True
?>
cela affiche 1 4 5
Merci
Re: empty ou isset ?
Posté : 18 mai 2022, 14:47
par or 1
cela affiche 1 4 5
c'est ce à quoi vous vous attendiez ?
Re: empty ou isset ?
Posté : 18 mai 2022, 15:54
par wisefun77
En lisant votre code OUI.
Mais en l'adaptant à mon code, cela ne fonctionne pas.
Code : Tout sélectionner
<?php
// Conditions de traitement des balises reçues
if(isset($_POST["balise"]))
{
// Si la variable new-asset n'est pas vide et si la variable old-asset est vide.
if (!empty($_POST['new-asset'])&& !!empty($_POST['old-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
echo $newasset. 'Premier IF new-asset seul';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
if(!!!empty($_POST['old-asset']) && !!empty($_POST['new-asset']))
{// Set session variables
$oldasset= $_POST['old-asset'];
echo $oldasset.'2 // ElseIF old-asset seul';
}
// Si les deux variables new-asset et old-asset sont pleines.
if(!empty($_POST['new-asset']) && !!!empty($_POST['old-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
$oldasset= $_POST['old-asset'];
echo $newasset.$oldasset.'3// ElseIF old-asset and new-asset';
}
}// fin IF principal.
// Function suite clique sur le bouton précédent.
elseif(isset($_SESSION['Balises2'])){
$page='5';
precedent();
}
?>
Ne passe jamais dans le Deuxième elseif, ni le dernier.
Merci
Re: empty ou isset ?
Posté : 18 mai 2022, 15:59
par or 1
echo "1"; // SI $var1 n'est pas vide
echo "5"; // SI $var1 est plein ou True
quelle est la différence entre tester si une variable n'est pas vide et tester si une variable est pleine ?
Re: empty ou isset ?
Posté : 18 mai 2022, 16:04
par wisefun77
Pour ce code.
Code : Tout sélectionner
<?php
// Conditions de traitement des balises reçues
if(isset($_POST["balise"]) && !empty($_POST['new-asset']) )
{
// Si la variable new-asset n'est pas vide et si la variable old-asset est vide.
$newasset =$_POST['new-asset'];
echo $newasset. 'Premier IF new-asset seul';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
elseif(isset($_POST["balise"]) && !empty($_POST['old-asset']))
{// Set session variables
$oldasset= $_POST['old-asset'];
echo $oldasset.'2 // ElseIF old-asset seul';
}
// Si les deux variables new-asset et old-asset ne sont pas vides.
elseif(isset($_POST["balise"]))
{// Set session variables
$newasset =$_POST['new-asset'];
$oldasset= $_POST['old-asset'];
echo $newasset.$oldasset.'3// ElseIF old-asset and new-asset';
}
// Function suite clique sur le bouton précédent.
elseif(isset($_SESSION['Balises2'])){
$page='5';
precedent();
}
?>
Passe bien dans le IF et dans le deuxième ElseIF, mais pas dans le dernier ELSEIF "elseif(isset($_POST["balise"]))"
Re: empty ou isset ?
Posté : 18 mai 2022, 16:06
par wisefun77
echo "1"; // SI $var1 n'est pas vide
echo "5"; // SI $var1 est plein ou True
quelle est la différence entre tester si une variable n'est pas vide et tester si une variable est pleine ?
Franchement pour moi c'est identique.
Re: empty ou isset ?
Posté : 18 mai 2022, 16:10
par or 1
Franchement pour moi c'est identique.
c'est le cas.
donc
if(!empty($var1))
et
if(!!!empty($var1))
c'est pareil.
pour ne pas se compliquer la vie, il ne devrait être utiliser que 2 écritures :
if(!empty($var1)) // est-ce que c'est plein
if(empty($var1)) // est-ce que c'est vide
pas de !! ni de !!! nécessaire ici.
Re: empty ou isset ?
Posté : 18 mai 2022, 16:19
par wisefun77
pour ne pas se compliquer la vie, il ne devrait être utiliser que 2 écritures :
if(!empty($var1)) // est-ce que c'est plein
if(empty($var1)) // est-ce que c'est vide
pas de !! ni de !!! nécessaire ici.
J'adooorre ne pas me compliquer la vie.
Merci je vais modifier mon code.
Re: empty ou isset ?
Posté : 18 mai 2022, 16:22
par wisefun77
ce code
Code : Tout sélectionner
// Conditions de traitement des balises reçues
if(isset($_POST["balise"]) && !empty($_POST['new-asset']) && empty($_POST['old-asset']))
{
// Si la variable new-asset n'est pas vide et si la variable old-asset est vide.
$newasset =$_POST['new-asset'];
echo $newasset. 'Premier IF new-asset seul';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
elseif(isset($_POST["balise"]) && !empty($_POST['old-asset']) && empty($_POST['new-asset']))
{// Set session variables
$oldasset= $_POST['old-asset'];
echo $oldasset.'2 // ElseIF old-asset seul';
}
// Si les deux variables new-asset et old-asset ne sont pas vides.
elseif(isset($_POST["balise"]) && !empty($_POST['new-asset']) && !empty($_POST['old-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
$oldasset= $_POST['old-asset'];
echo $newasset.$oldasset.'3// ElseIF old-asset and new-asset';
}
M'envoie directement dans le dernier elseIF>>>> XXX 3// ElseIF old-asset and new-asset

Re: empty ou isset ?
Posté : 18 mai 2022, 16:25
par wisefun77
Ce code m'envoie dans le 1 et 2 et 1
Code : Tout sélectionner
// Conditions de traitement des balises reçues
if(isset($_POST["balise"]) && !empty($_POST['new-asset']))
{
// Si la variable new-asset n'est pas vide et si la variable old-asset est vide.
$newasset =$_POST['new-asset'];
echo $newasset. 'Premier IF new-asset seul';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
elseif(isset($_POST["balise"]) && !empty($_POST['old-asset']))
{// Set session variables
$oldasset= $_POST['old-asset'];
echo $oldasset.'2 // ElseIF old-asset seul';
}
// Si les deux variables new-asset et old-asset ne sont pas vides.
elseif(isset($_POST["balise"]) && !empty($_POST['new-asset']) && !empty($_POST['old-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
$oldasset= $_POST['old-asset'];
echo $newasset.$oldasset.'3// ElseIF old-asset and new-asset';
}
// Function suite clique sur le bouton précédent.
elseif(isset($_SESSION['Balises2'])){
$page='5';
precedent();
}
XXXPremier IF new-asset seul

Re: empty ou isset ?
Posté : 18 mai 2022, 16:26
par Spols
Commence par afficher le contenu de tes 3 variables, et le résultat de empty($variable) et tire tes conclusions
Re: empty ou isset ?
Posté : 18 mai 2022, 16:33
par wisefun77
Ce code m'envoie continuellement dans le premier IF
Code : Tout sélectionner
// Conditions de traitement des balises reçues
// Si les deux variables new-asset et old-asset ne sont pas vides.
if(isset($_POST["balise"]) && isset($_POST['new-asset']) && isset($_POST['old-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
$oldasset= $_POST['old-asset'];
echo $newasset.$oldasset.'3// ElseIF old-asset and new-asset';
}
// Si la variable old-asset est pleine et si la variable new-asset est vide.
elseif(isset($_POST["balise"]) && !empty($_POST['old-asset']))
{// Set session variables
$oldasset= $_POST['old-asset'];
echo $oldasset.'2 // ElseIF old-asset seul';
}
// Si la variable new-asset n'est pas vide et si la variable old-asset est vide
elseif(isset($_POST["balise"]) && !empty($_POST['new-asset']))
{// Set session variables
$newasset =$_POST['new-asset'];
echo $newasset. 'Premier IF new-asset seul';
}
XXX3// ElseIF old-asset and new-asset
