Petit soucis pour mettre une variable au propre

Résolu
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
$images = !empty($_POST['images']) ? $_POST['images']: NULL;  
$submit= isset($_POST['submit']) ? $_POST['submit']: NULL;


if($submit AND $images){


0
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Écriture ternaire..
Tu m'avais pourtant dit que tu avais compris...
0
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
$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 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Oui
0
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
merci jordane
je laisse encore ouvert le post
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
pour quelle raison ?
0
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 
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