[RESOLU] empty ou isset ?

Eléphant du PHP | 213 Messages

18 mai 2022, 10:51

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.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 2703 Messages

18 mai 2022, 11:11

$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.

Eléphant du PHP | 213 Messages

18 mai 2022, 11:25

Bonjour or1,

J'étudie de suite.
Merci.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Eléphant du PHP | 213 Messages

18 mai 2022, 11:46

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
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 2703 Messages

18 mai 2022, 14:47

cela affiche 1 4 5
c'est ce à quoi vous vous attendiez ?

Eléphant du PHP | 213 Messages

18 mai 2022, 15:54

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
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 2703 Messages

18 mai 2022, 15:59

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 ?

Eléphant du PHP | 213 Messages

18 mai 2022, 16:04

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"]))"
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Eléphant du PHP | 213 Messages

18 mai 2022, 16:06

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.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 2703 Messages

18 mai 2022, 16:10

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.

Eléphant du PHP | 213 Messages

18 mai 2022, 16:19

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.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Eléphant du PHP | 213 Messages

18 mai 2022, 16:22

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 |*()
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Eléphant du PHP | 213 Messages

18 mai 2022, 16:25

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 |*()
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 1967 Messages

18 mai 2022, 16:26

Commence par afficher le contenu de tes 3 variables, et le résultat de empty($variable) et tire tes conclusions
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 213 Messages

18 mai 2022, 16:33

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 |*()
De retour au PHP pour essayer de préserver mon emploi à 59 ans.