isset, !isset, empty

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : isset, !isset, empty

par caledonien » 09 sept. 2005, 00:09

Ou alors tout simplement

session_start();
if (!$_SESSION['nom'] && !$_SESSION['prenom']) {
            {
       $_SESSION = array();        
       session_destroy();
       echo "Pas de hacking";
       exit();
            }
j'espère que ca ne ta pas embrouiller :)

par Truc » 08 sept. 2005, 19:02

Voila tu as compris le principe :wink:

par gesualda » 08 sept. 2005, 18:59

Merci truc de répondre:

Donc j'en reviens à mon problème de départ.
Il serait plus judicieux de faire:
session_start();
if (!isset($_SESSION['nom']) || !isset($_SESSION['prenom']))
            {
       $_SESSION = array();        
       session_destroy();
       echo "Pas de hacking";
       exit();
            }
Que
session_start();
if (empty($_SESSION['nom']) || empty($_SESSION['prenom']))
            {
       $_SESSION = array();        
       session_destroy();
       echo "Pas de hacking";
       exit();
            }
Je pense que ca devrait coller. Merci

Encore une fois, j'essaye de comprendre plutot que d'applicater et faire betement des copiers-collers

Merci :o

par Truc » 08 sept. 2005, 18:30

Comme tu le dis: isset($var) controle si $var existe.

parcontre le " ! " est la négation d'un condition

Donc !isset($var) => si $var n'existe pas.

par gesualda » 08 sept. 2005, 18:25

Bonjour Cyrano

Dépasser par le temps et mes obligations pro, je suis obligé de revenir au coup par coup.

J'ai bien saisi la différence, mais alors que signifie le ' ! ' que l'on retrouve dans certain script?
Cela ne signifie t-il pas "différent de" ?
Comme tu me disais: isset($var) signifie controle si existe.
Donc !isset($var) = si différent de .

Désolé, j'ai pas encore le langage courant dans mon expression régulière et j'espère que j'ai réussi à me faire comprendre.

Merci des conseils et explications.

:oops: :oops:

par Cyrano » 07 sept. 2005, 21:05

Salut,
les fonctions isset() et empty() ont deux significations différentes: isset() vérifie l'existence tandis que empty() vérifie qu'une valeur est assignée. Ainsi, une variable peut retourner trus quand on fait isset($var) et true également si on fait empty($var), ce qui signirierait que la variable $var a été initialisée mais ne contient aucune valeur. Si en revanche isset($var) retourne false, faire ensuite empty($var) va retourner une erreur indiquant que la variable $var n'existe pas.

Est-ce que ces explications te conviennent ?

isset, !isset, empty

par gesualda » 07 sept. 2005, 19:58

Bonjour à tous,

J'aimerai juste des explications par rapport à la sécurité des sessions.
J'ai mis ce petit bout de script en haut de mes pages qui doivent etre accessible uniquement en cas de session et j'aimerai juste savoir si cela est correct et s'il vaut mieux utiliser:
- empty($_SESSION
- isset($_SESSION
-!isset ($_SESSION
session_start();
if (empty($_SESSION['nom']) || empty($_SESSION['prenom']))
			{
       $_SESSION = array();		
       session_destroy();
       echo "Pas de hacking";
       exit();
			}
Merci pour vos explications.
:oops: