Hum.
Je vous invite à faire un petit tour sur : http://fr.php.net/manual/fr/language.ope...arison.php
Donc, reprennons :
- == est une comparaison d'égalité. Effectivement, comparer un int avec un string amène à la conversion du string en int (cf : http://fr.php.net/manual/fr/language.typ...conversion)
Donc, en cas de test avec un double égal, la conversion a lieu. La chaine est alors convertie : ici, elle donne 0 (pas de chiffres dans le mot), donc elle est égale, donc le test marche.
- === : identique.
Donc comme indiqué plus haut, cela vérifie le type. Quelques exemples :
Je vous invite à faire un petit tour sur : http://fr.php.net/manual/fr/language.ope...arison.php
Donc, reprennons :
- == est une comparaison d'égalité. Effectivement, comparer un int avec un string amène à la conversion du string en int (cf : http://fr.php.net/manual/fr/language.typ...conversion)
Citation :La valeur est fournie par la portion initiale de la chaîne de caractères. Si la chaîne de caractères commence par un caractère numérique valide, ce sera la valeur utilisée. Sinon, la valeur sera de 0 (zéro).
Donc, en cas de test avec un double égal, la conversion a lieu. La chaine est alors convertie : ici, elle donne 0 (pas de chiffres dans le mot), donc elle est égale, donc le test marche.
- === : identique.
Citation :TRUE si $a est égal à $b et qu'ils sont de même type
Donc comme indiqué plus haut, cela vérifie le type. Quelques exemples :
Code PHP :
<?php
var_dump(0 == ''); // Affichera TRUE
var_dump(0 === ''); // Affichera FALSE
var_dump(1 == '1test'); // Affichera TRUE
var_dump(1 === '1test'); // Affichera FALSE
Donc voila, pour un test entre deux types, faites un triple égal. Sinon, vous aurez toujours 0.
Corrolaire :
admin.php
Code PHP :
<?php
$mdp = $_GET['mdp']
if($mdp == 'mon_mot_de_passe_admin')
{
connecter_administrateur();
}
?>