Petit soucis pour mettre une variable au propre [Résolu]

Signaler
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
-
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
-
bonjour a tous
je suis occuppe a remettre mes pages en ordre de mon site
me voici arrive dans le dernier chapitre
la gestion des commentaires

avant de poser ma question
je souhaiterais mettre mes pages aux normes

mais je ne comprends pas comment je peux faire avec
$_POST['images']

et
$_POST['submit']


peut être comme ceci

$_POST['images'] = !empty($_POST['images']) ? $_POST['images']: NULL;  AND
$_POST['submit']= !empty($_POST['submit']) ? $_POST['submit']: NULL;



mon code actuel
if(isset($_POST['submit']) AND !empty($_POST['images'])){
//$nom_img = $_POST['images'];
$nom_img = !empty($_POST['images']) ? $_POST['images']: NULL;

9 réponses

Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
$images = !empty($_POST['images']) ? $_POST['images']: NULL;  
$submit= isset($_POST['submit']) ? $_POST['submit']: NULL;


if($submit AND $images){


Cordialement,
Jordane
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
merci jordane pour la réponse
encore une chose ou j ai dur et pourtant cela est simple quand on voit la reponse

pour le poste avec l upload de l image
il y avait ceci
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

if(isset($_GET['pseudo'], $_GET['id'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
}


que tu me disais que cela était pareil

peux tu m expliquer le cheminement pour avoir réussi a éviter le if
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
Écriture ternaire..
Tu m'avais pourtant dit que tu avais compris...
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
oui jordane mais en même temps dans le post je t avais dit que je reviendrais dessus car j étais pas sur d avoir compris

as tu un lien qui explique cela de façon très débutant
afin de ne pas aller lire n importe quoi

merci de l aide
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
j ai trouve ceci

5.6.5.1 L'opérateur ternaire
Un autre opérateur conditionnel est l'opérateur ternaire (":?").
Assignement d'une valeur par défaut
<?php
 // Exemple d'utilisation pour l'opérateur ternaire
 $action = (empty($_POST['action'])) ? 'défaut' : $_POST['action'];

 // La ligne ci-dessus est identique à la condition suivante :
 if (empty($_POST['action'])) {
     $action = 'défaut';
 } else {
     $action = $_POST['action'];
 }

 ?>


L'expression (expr1) ? (expr2) : (expr3) est évaluée à expr2 si expr1 est évalué à TRUE , et expr3 si expr1 est évalué à FALSE .
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
oui.
comme la dernière fois ...

Ce qui revient à dire, dans un français un peu plus compréhensible
$variable = ( condition )  ? valeur si vraie : valeur si faux ;

Si la condition est vraie, on stocke dans la variable la (valeur si vraie) sinon on y met la (valeur si faux)
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
en effet jordane
mais bon je peux pas me contenter de faire du copier coller

je comprends bien la mise au propre d une variable de cette facon

$nom = !empty($_POST['nom']) ? $_POST['nom'] : NULL;

si ma variable au départ était

$nom=$_POST['nom']


de ce cote c est bon ...c est facile ..

donc si je reprends le code ici plus haut

je comprends parfaitement

$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

if(isset($_GET['pseudo'], $_GET['id'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
}


je comprends parfaitement

que
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];

deviennent
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;


par contre ce que j ai du mal c est avec cette partie

if(isset($_GET['pseudo'], $_GET['id'])){


car !empty vérifie qu une variable est vide
et isset vérifie qu une variable existe

donc cette ligne de code
if(isset($_GET['pseudo'], $_GET['id'])){

vérifie que mes deux variable existe
mais j aurais pu mettre aussi que les deux variables ne sont pas vide

if(!empty ($_GET['pseudo'], $_GET['id'])){
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
car !empty vérifie qu une variable est vide
et isset vérifie qu une variable existe


!empty vérifie qu'une variable existe ET n'est pas vide . c'est pour ça que j'utilise principalement ça.

Mais si tu te moques de savoir si la variable est vide ( ou null ou false ou égale à zéro ), tu peux faire que tu isset
$pseudo = isset($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = isset($_GET['id']) ? $_GET['id']: NULL;
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
un grand merci pour l explication

si je resume

cela
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

if(isset($_GET['pseudo'], $_GET['id'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
}

pouvait devenir ceci

$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

if(!empty($_GET['pseudo'], $_GET['id'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
}

et donc du coup je comprends mieux

que
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;


soit la même chose que

if(isset($_GET['pseudo'], $_GET['id'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
}


du coup je comprends mieux ceci
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

if(!$id || !$pseudo ){
  header('Location:../login-obligatoire-peche-perle.php');
  exit;
}


es ce bien cela ?
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;

remplace
if(!empty($_GET['pseudo'], $_GET['id'])){ 
  $pseudo = $_GET['pseudo'];
  $id = $_GET['id'];
}else{
  $pseudo=NULL;
  $id = NULL;
}


et donc, on ne garde que
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
merci jordane , cela a son importance que je comprenne parfaitement cela
merci de ta patience
oui cela je l avais compris avec l exemple

lorsque j ai ceci
session_start();
if(isset($_GET['pseudo'], $_GET['id'], $_GET['nom_img'])){
$pseudo = $_GET['pseudo'];
$id = $_GET['id'];
$nom_img = $_GET['nom_img'];
}else{
header('Location:../login-obligatoire-peche-perle.php');
die();
}


je pourrais donc faire

$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;
$nom_img= !empty($_GET['nom_img']) ? $_GET['nom_img': NULL;


jusque la je suis d accord mais après pour le else comment je m y prends
de cette façon

if(!$id || !$pseudo || $nom_img ){
  header('Location:../login-obligatoire-peche-perle.php');
  exit;
}
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
Oui
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
merci jordane
je laisse encore ouvert le post
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
3 557
pour quelle raison ?
Messages postés
2905
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
12 juin 2021
138
oui c est vrai il n y a plus aucune raison

encore merci pour ta patience et surtout ta gentillesse a m avoir sorti du pétrin par moment