Petite question sur le PHP

qmapdsldj -  
arthezius Messages postés 3756 Statut Membre -
Bonjour, j'aimerai savoir quel est la différence avec = et == (if($variable1 == 'blabla1' && $variable2 = 'blabla2')) et également pour le &&, si on mais seulement juste un & quel est la différence ?

<?php
$variable1 = $_POST['1'];
$variable2 = $_POST['2'];
if($variable1 == 'blabla1' && $variable2 = 'blabla2')
{
echo 'Mon texte caché.';
}
?>


Merci d'avance.
A voir également:

7 réponses

Harricote Messages postés 424 Statut Membre 41
 
$variable1 == 'blabla1' => sert à savoir si $variable1 correspond à 'blabla1'
$variable2 = 'blabla2' => donne à $variable2 la valeur 'blabla2'
0
qmapdsldj
 
D'accord merci beaucoup, et pour le && et & ?
0
Harricote Messages postés 424 Statut Membre 41
 
Bah ca marche pas si tu mets juste & !! mais voilà !! pour expliquer, je ne sais pas !! ^^
0
arthezius Messages postés 3756 Statut Membre 475
 
= est utilisé pour déclarer une variable.
Autrement dit, tu annonces que la variable porte tel ou tel valeur.

== est utilisé pour vérifier une égalité.
Exemple, tu veux vérifier qu'une variable pour tel ou tel valeur.
if($var=='ok')
     {
     echo 'yes';
     }

Si $var est égal à ok, on écrit 'yes'.

&& est utilisé un ajouter une deuxième condition à une égalité.
Tu veux faire une double vérification en même temps.
if($var=='ok' && $date=='18-01-2010')
     {
     echo 'yes';
     }

Si $var est égal à ok et $date est égal à '18-01-2010', on écrit 'yes'.

& peut être utiliser pour passer une variable dans l'url.
index.php?page=accueil&id=5

ou
index.php?page=accueil&&id=5

Les deux fonctionnent...
0

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

Posez votre question
qmapdsldj
 
Ah d'accord, sur mon serveur avec seulement un & cela fonctionne lol.

Enfin bref...

Donc si je veux faire une page protégé par mot de passe il faut utiliser cela ? Est ce que c'est bien fiable aussi ? Pas de hack possible (or avec un brute force biensur).

<?php
$variable1 = htmlentities(stripslashes($_POST['1']));
$variable2 = htmlentities(stripslashes($_POST['2']));
if($variable1 == 'blabla1' && $variable2 == 'blabla2')
{
echo 'Mon texte protégé par mot de passe.';
}
?>
0
qmapdsldj
 
J'ai pas trop compris ce que donne avec juste un =, un exemple est t-il possible ?
0
arthezius Messages postés 3756 Statut Membre 475
 
$nombre1= 4;
$nombre2= 8;

$calc= $nombre1*$nombre2;

echo $calc;
0
qmapdsldj
 
Donc c'est 2 code donne le même résultat ?

$nombre1 = 4;
$nombre2 = 8;

$calc = $nombre1*$nombre2;

echo $calc;

0
arthezius Messages postés 3756 Statut Membre 475
 
Dans ce cas, seulement si variable1 est égal à blabla1 et variable2 est égal à blabla2 le texte sera affiché.
Tu as défini ton code comme permettant d'afficher le texte dans ce seul cas donc oui on peut dire que c'est fiable.

Je rajouterai juste une chose.
Dans ton formulaire, tu as un bouton:
<input type="submit" value="Envoyer" />

Je sais pas si tu as mis un name="" dessus mais dans le cas contraire rajoute le.
<input type="submit" name="envoi" value="Envoyer" />


Ensuite:
<?php
if(isset($_POST['envoi']) && $_POST['envoi']=='Envoyer')
{
     $variable1 = htmlentities(stripslashes($_POST['1']));
     $variable2 = htmlentities(stripslashes($_POST['2']));
     if($variable1 == 'blabla1' && $variable2 == 'blabla2')
          {
          echo 'Mon texte protégé par mot de passe.';
          }
}
?>

Tu vérifi ainsi que le formulaire a bien été envoyé avant d'exécuter le code.
0