PHP - Valeur d'une variable non déterminée ?
Résolu
Gizmil
Messages postés
706
Date d'inscription
Statut
Membre
Dernière intervention
-
Gizmil Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Gizmil Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Hello !
Une petite question tout simple pour vous qui êtes des as de PHP (si, si, je le sais) ! lol
Bon, voilà, je découvre PHP ! Auparavant, le seul langage de programmation que j'ai eu l'occasion d'utiliser, c'est de l'ActionScript ! Or, en AS, lorsqu'une variable est indéterminée, sa valeur est automatiquement undefined.
Mais en PHP, je constate dans les manuels que cette valeur n'existe pas ! Je pense que NULL remplace celle-ci !
Cependant, je suis en train de construire un script dont les retour me font hésiter. La question que je me pose, c'est : en PHP, lorsqu'une variable n'est pas déterminée, quelle est sa valeur par défaut ? NULL ou false ?
Si je me pose cette question, c'est que i'ai créé une condition qui n'exécute son script interne que si la valeur de la variable mise en condition est false !
Or, le script concerné par cette condition est exécuté, ce qui n'est pas logique... et, là, je ne comprend pas ! ^^
Voilà pourquoi je fais appel à vos lumières !
Je joint mon script, au cas où...
C'est le script d'une galerie d'images en plusieurs pages. Le souci se situe au dessus, dans :
Le echo apparaît sur ma page, ce qui n'est pas logique vu que la valeur de clicOnPrev n'est définie que lorsqu'on appuie sur les boutons PREV ou NEXT!!
Une petite question tout simple pour vous qui êtes des as de PHP (si, si, je le sais) ! lol
Bon, voilà, je découvre PHP ! Auparavant, le seul langage de programmation que j'ai eu l'occasion d'utiliser, c'est de l'ActionScript ! Or, en AS, lorsqu'une variable est indéterminée, sa valeur est automatiquement undefined.
Mais en PHP, je constate dans les manuels que cette valeur n'existe pas ! Je pense que NULL remplace celle-ci !
Cependant, je suis en train de construire un script dont les retour me font hésiter. La question que je me pose, c'est : en PHP, lorsqu'une variable n'est pas déterminée, quelle est sa valeur par défaut ? NULL ou false ?
Si je me pose cette question, c'est que i'ai créé une condition qui n'exécute son script interne que si la valeur de la variable mise en condition est false !
Or, le script concerné par cette condition est exécuté, ce qui n'est pas logique... et, là, je ne comprend pas ! ^^
Voilà pourquoi je fais appel à vos lumières !
Je joint mon script, au cas où...
<?php //VARIABLES A DEFINIR ------------- $nameGallery = 'mariages'; $nbrImages = 179; $nbrImagesPerLines = 5; $nbrLinesPerPage = 5; //VARIABLES PREDEFINIES ----------- $nbrImagesPerPage = $nbrImagesPerLines*$nbrLinesPerPage; $folderGallery = 'galerie_'.$nameGallery; $nbrLines = 0; if(clicOnPrev == true){ echo '$clicOnPrev = true'; $numImageIndex = $numImagePrevPage; }elseif(clicOnPrev == false){ echo '$clicOnPrev = false'; $numImageIndex = $numImageNextPage; } if($numImageIndex == NULL){ echo '$numImageIndex = null'; $numImageIndex = 1; } $numImageNextPage = $numImageIndex += $nbrImagesPerPage; $numImagePrevPage = $numImageIndex -= $nbrImagesPerPage; //FONCTIONS PREDEFINIES ----------- function defineStateNavigation($numImageIndex,$nbrImagesPerPage,$nameGallery,$numImagePrevPage,$numImageNextPage){ if($numImageIndex==1){ $stateNavigation = 'begin'; }elseif($numImageIndex>1 && $numImageIndex<$numImageIndex-$nbrImagesPerPage){ $stateNavigation = 'center'; }elseif($numImageIndex>=$numImageIndex-$nbrImagesPerPage){ $stateNavigation = 'end'; } switch($stateNavigation){ case 'begin': $GLOBALS['titleButtonPrev'] = 'Pas de page précédente'; $GLOBALS['titleButtonNext'] = 'Voir la page suivante'; $GLOBALS['classButtonPrev'] = 'butPrevGrey'; $GLOBALS['classButtonNext'] = 'butNext'; $GLOBALS['wayGalleryPrev'] = '#'; $GLOBALS['wayGalleryNext'] = 'index.php?contenu=visio&type='.$nameGallery.'&numImageIndex='.$numImageNextPage.'&clicOnPrev=false&clicOnNext=true'; break; case 'center': $GLOBALS['titleButtonPrev'] = 'Voir la page précédente'; $GLOBALS['titleButtonNext'] = 'Voir la page suivante'; $GLOBALS['classButtonPrev'] = 'butPrev'; $GLOBALS['classButtonNext'] = 'butNext'; $GLOBALS['wayGalleryPrev'] = 'index.php?contenu=visio&type='.$nameGallery.'&numImageIndex='.$numImagePrevPage.'&clicOnPrev=true&clicOnNext=false'; $GLOBALS['wayGalleryNext'] = 'index.php?contenu=visio&type='.$nameGallery.'&numImageIndex='.$numImageNextPage.'&clicOnPrev=false&clicOnNext=true'; break; case 'end': $GLOBALS['titleButtonPrev'] = 'Voir la page précédente'; $GLOBALS['titleButtonNext'] = 'Pas de page suivante'; $GLOBALS['classButtonPrev'] = 'butPrev'; $GLOBALS['classButtonNext'] = 'butNextGrey'; $GLOBALS['wayGalleryPrev'] = 'index.php?contenu=visio&type='.$nameGallery.'&numImageIndex='.$numImagePrevPage.'&clicOnPrev=true&clicOnNext=false'; $GLOBALS['wayGalleryNext'] = '#'; break; } } function displayImages($numImageIndex,$nbrImagesPerPage,$nbrImagesPerLines,$folderGallery){ $endImage = $numImageIndex+$nbrImagesPerPage; for($numImage = $numImageIndex; $numImage < $endImage; $numImage++){ ?> <a class="lightbox" href="pages/<?php echo $folderGallery ?>/images/creapix_image_<?php printf('%03d',$numImage) ?>.jpg"><img class="miniature_galerie" src="pages/<?php echo $folderGallery ?>/miniatures/creapix_image_<?php printf('%03d',$numImage) ?>_miniature.jpg" /></a> <?php if(is_int($numImage/$nbrImagesPerLines)){ echo '<hr>'; } } } function displayGalleryButtons($wayGalleryPrev,$wayGalleryNext,$classButtonPrev,$classButtonNext,$titleButtonPrev,$titleButtonNext){ ?> <div class="buttonsText"> <a href="<?php echo $wayGalleryNext ?>" class="<?php echo $classButtonNext ?>" title="<?php echo $titleButtonNext ?>"></a> <a href="<?php echo $wayGalleryPrev ?>" class="<?php echo $classButtonPrev ?>" title="<?php echo $titleButtonPrev ?>"></a> </div> <?php } //EVENEMENTS --------------------- defineStateNavigation($numImageIndex,$nbrImagesPerPage,$nameGallery,$numImagePrevPage,$numImageNextPage); displayImages($numImageIndex,$nbrImagesPerPage,$nbrLinesPerPage,$folderGallery); displayGalleryButtons($wayGalleryPrev,$wayGalleryNext,$classButtonPrev,$classButtonNext,$titleButtonPrev,$titleButtonNext); ?>
C'est le script d'une galerie d'images en plusieurs pages. Le souci se situe au dessus, dans :
elseif(clicOnPrev == false){ echo '$clicOnPrev = false'; $numImageIndex = $numImageNextPage; }
Le echo apparaît sur ma page, ce qui n'est pas logique vu que la valeur de clicOnPrev n'est définie que lorsqu'on appuie sur les boutons PREV ou NEXT!!
A voir également:
- PHP - Valeur d'une variable non déterminée ?
- Easy php - Télécharger - Divers Web & Internet
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Expert php pinterest - Télécharger - Langages
10 réponses
si une variable n'est pas défini, du style $a; echo $a;
tu auras une jolie erreur : Undefined variable a;
Juste pour info le php n'est pas l'idéal pour faire une galerie
EDIT: puis c'est mieux si tu met
if($cliOnPrev == false)
Sans le dollar sa veut dire que c'est une constante.
tu auras une jolie erreur : Undefined variable a;
Juste pour info le php n'est pas l'idéal pour faire une galerie
EDIT: puis c'est mieux si tu met
if($cliOnPrev == false)
Sans le dollar sa veut dire que c'est une constante.
Je n'aurais pas "null", plutôt ??
Cela dit, moi et ma tête de linotte, on vient de réaliser que si je pose clicOnPrev sans le "$" devant, ça va pas le faire non plus ! :-s
Cela dit, moi et ma tête de linotte, on vient de réaliser que si je pose clicOnPrev sans le "$" devant, ça va pas le faire non plus ! :-s
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinon pour répondre a ta question, ( oui je suis un gros feignant je n'ai pas lu ton code Oo ) pour tester si une variable existe tu peux toujours faire un isset genre pour une variable POST par exemple
if (isset($_POST['mavariable'])) $mavariable = $_POST['mavariable']; else $mavariable = "NotExisted";
Ow, ok ! Merci, Skymax ! (-;
C'est la seule méthode qui existe, j'imagine ?
Ca me fait bizarre que ce ne soit pas la valeur null qui s'installe par défaut (comme undefined en ActionScript, le seul langage que je connaisse XD) !
C'est la seule méthode qui existe, j'imagine ?
Ca me fait bizarre que ce ne soit pas la valeur null qui s'installe par défaut (comme undefined en ActionScript, le seul langage que je connaisse XD) !
C'est la seule que je connais mais une variable qui tu a déclarer mais pas initialisée renvoi null, maisune variable de type POST ou GET ou GLOBAL ou autre de même style n'existe pas de base.
pour tester une variable en php, il existe plusieurs moyen
tester si la variable existe
if(isset($var))
tester ce que la variable retourne quelque chose
if($var)
tester si la variable retourne true ou false
if($var === true)
if($var === false)
avec trois =
tester si la variable est vide
if(empty($var))
tester si la variable existe
if(isset($var))
tester ce que la variable retourne quelque chose
if($var)
tester si la variable retourne true ou false
if($var === true)
if($var === false)
avec trois =
tester si la variable est vide
if(empty($var))