Petite question sur le PHP

Fermé
qmapdsldj - 18 janv. 2010 à 20:44
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 19 janv. 2010 à 05:49
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 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
18 janv. 2010 à 20:53
$variable1 == 'blabla1' => sert à savoir si $variable1 correspond à 'blabla1'
$variable2 = 'blabla2' => donne à $variable2 la valeur 'blabla2'
0
D'accord merci beaucoup, et pour le && et & ?
0
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
18 janv. 2010 à 20:56
Bah ca marche pas si tu mets juste & !! mais voilà !! pour expliquer, je ne sais pas !! ^^
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
18 janv. 2010 à 20:58
= 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
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
J'ai pas trop compris ce que donne avec juste un =, un exemple est t-il possible ?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
18 janv. 2010 à 21:23
$nombre1= 4;
$nombre2= 8;

$calc= $nombre1*$nombre2;

echo $calc;
0
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 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
19 janv. 2010 à 05:49
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