Petit soucis pour mettre une variable au propre

Résolu/Fermé
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 - Modifié le 2 juin 2021 à 23:53
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 - 4 juin 2021 à 00:21
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

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié le 3 juin 2021 à 04:55
$images = !empty($_POST['images']) ? $_POST['images']: NULL;  
$submit= isset($_POST['submit']) ? $_POST['submit']: NULL;


if($submit AND $images){


0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 07:48
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
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 juin 2021 à 08:04
Écriture ternaire..
Tu m'avais pourtant dit que tu avais compris...
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 08:18
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
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 08:19
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 .
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié le 3 juin 2021 à 08:25
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 08:44
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'])){
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 juin 2021 à 08:48
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;
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 09:03
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 ?
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié le 3 juin 2021 à 10:33
$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;
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 18:55
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;
}
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 juin 2021 à 19:17
Oui
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
3 juin 2021 à 23:47
merci jordane
je laisse encore ouvert le post
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
4 juin 2021 à 00:17
pour quelle raison ?
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
4 juin 2021 à 00:21
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
0