Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2008, 16h09   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 8
Points : 3
Points : 3
Par défaut Test d'une variable $_POST

Bonjour,
J'ai remarqué que :
if (!empty($_POST['var'])) { }
ET
if ($_POST['var']) { }
Font la même chose.

Donc je me demandais si c'était mieux de coder avec la fonction empty ou sans.
Point de vue sécuritée c'est pareil ?
C'est une option dans php.ini qui gère ça ?

Merci d'avance pour vos réponses
okkix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 16h41   #2
Membre éprouvé
 
Avatar de SphynXz
 
Développeur Web
Inscription : mars 2008
Messages : 439
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 439
Points : 474
Points : 474
je suis franchement pas sûr de ce que tu affirmes

Code php :
1
2
3
4
5
6
7
8
9
10
 
$ok = 0;
if($ok)
	echo "sans empty : ok!<br/>";
else
	echo "sans empty : pas ok!<br/>";
if(empty($ok))
	echo "avec empty : ok!<br/>";
else
	echo "avec empty : pas ok!<br/>";

__________________
I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
Pour détourner un avion, il faut monter dedans - Frédéric beigbeder
SphynXz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 16h51   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 8
Points : 3
Points : 3
Désolé je me suis trompé :p c'est !empty

Code :
1
2
3
4
5
6
7
8
<?php
if($_GET['var']) {
	echo 'var sans empty';
}
if(!empty($_GET['var'])) {
	echo 'var avec empty';
}
?>
okkix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2008, 08h58   #4
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 51
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 51
Points : 39
Points : 39
Pour ma part je prefere entre les deux méthodes utiliser :
if (!empty($_POST['var'])) { }

Coté sécurité étant donné que c'est dans un IF je ne trouve pas qu'il y a de différence entre les deux.... par contre c'est pas la même chose si tu utilise ton $_POST autre part ( genre dans un select ) auquel cas il faut beaucoup plus filtrer les données fournis...

L'idéal étant de caster les variables à utiliser avec (string) ou (int) etc.. en fonction du type de donnée, et de créer une fonction qui supprime tout le code html, javascript,....

Pour les formulaires pour filtrer les données j'utilise :

Code :
1
2
3
4
5
 function clean_post($str_to_clean)
    {
        $str_clean = htmlspecialchars(stripslashes(strip_tags(trim(preg_replace("/<script.*?<\/script>/i","", $str_to_clean)))));
        return $str_clean;
    }
oOSebOo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h46.


 
 
 
 
Partenaires

Hébergement Web