Problème de "if" en PHP
Résolu/Fermé
Shenko90
-
26 mai 2010 à 17:18
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 27 mai 2010 à 12:02
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 27 mai 2010 à 12:02
6 réponses
justoo76
Messages postés
186
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
23 mars 2016
13
27 mai 2010 à 09:33
27 mai 2010 à 09:33
Bonjour,
As-tu bien enregistré ton code en .php et non pas .html ?
car on dira que le php n'est pas interprété..
As-tu bien enregistré ton code en .php et non pas .html ?
car on dira que le php n'est pas interprété..
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
26 mai 2010 à 17:20
26 mai 2010 à 17:20
Bonjour,
Je pense que le problème vient de ta variable $connex... c'est un booléen ? Comment la déclare tu ?
Je pense que le problème vient de ta variable $connex... c'est un booléen ? Comment la déclare tu ?
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
26 mai 2010 à 17:31
26 mai 2010 à 17:31
Poste le formulaire, la partie du code où tu initialise $connex et celle où tu la récupère sur la page de destination.
Essaie de mettre un :
echo $connex;
pour vérifier la valeur que contient la variable.
Essaie de mettre un :
echo $connex;
pour vérifier la valeur que contient la variable.
Bonjour,
j'ai essayé de mettre :
echo $connex;
comme tu me l'a dit mais ça ne changeait rien. J'ai alors essayer d'initialiser $connex juste avant de faire le test, mais là non plus aucune différence.
J'ai l'impression que le php n'est pas pris en compte car même quand je fais :
echo "salut";
ça n'apparait pas.
Shenko90
j'ai essayé de mettre :
echo $connex;
comme tu me l'a dit mais ça ne changeait rien. J'ai alors essayer d'initialiser $connex juste avant de faire le test, mais là non plus aucune différence.
J'ai l'impression que le php n'est pas pris en compte car même quand je fais :
echo "salut";
ça n'apparait pas.
Shenko90
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
27 mai 2010 à 09:52
27 mai 2010 à 09:52
Juste pour info... tu exécute ton script PHP en local ?
Utilises-tu un serveur Apache virtuel avec EasyPHP ou Wamp ?
Utilises-tu un serveur Apache virtuel avec EasyPHP ou Wamp ?
CRBHD
Messages postés
136
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
5 avril 2011
9
26 mai 2010 à 17:22
26 mai 2010 à 17:22
Hello,
Perso, je ne suis pas fan de ce genre de pratique essaye comme ceci :
<?php
if ($connex == true)
{
echo "<a href='deco.php' target=page>déconnexion</a><br />";
echo "<a href='chang_psw.html' target=page>changer le mot de passe</a>";
}
else{
echo "<a href='form_connex.html' target=page>connexion</a>";
}
?>
Question, pourquoi mets-tu "target=page", tu utilise des frames ?
Perso, je ne suis pas fan de ce genre de pratique essaye comme ceci :
<?php
if ($connex == true)
{
echo "<a href='deco.php' target=page>déconnexion</a><br />";
echo "<a href='chang_psw.html' target=page>changer le mot de passe</a>";
}
else{
echo "<a href='form_connex.html' target=page>connexion</a>";
}
?>
Question, pourquoi mets-tu "target=page", tu utilise des frames ?
Bonjour,
J'avais d'abord essayer de coder comme tu me le dit mais j'avais un problème d'affichage. J'ai tout de même réessayer avec ton code, au cas où j'aurai fait une erreur mais voilà le résultat :
déconnexion
"; echo "changer le mot de passe"; } else{ echo "connexion"; } ?>
avec "changer le mot de passe" et "connexion" en liens, mais pas "déconnexion".
Pour répondre à ta question, j'utilise en effet des frames.
Shenko90
J'avais d'abord essayer de coder comme tu me le dit mais j'avais un problème d'affichage. J'ai tout de même réessayer avec ton code, au cas où j'aurai fait une erreur mais voilà le résultat :
déconnexion
"; echo "changer le mot de passe"; } else{ echo "connexion"; } ?>
avec "changer le mot de passe" et "connexion" en liens, mais pas "déconnexion".
Pour répondre à ta question, j'utilise en effet des frames.
Shenko90
CRBHD
Messages postés
136
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
5 avril 2011
9
27 mai 2010 à 09:59
27 mai 2010 à 09:59
Curieux, la syntaxe à l'air correcte ... essaye ça :
<?php
if ($connex == true)
{
echo "<a href='deco.php' target='page'>déconnexion</a><br />";
echo "<a href='chang_psw.html' target='page'>changer le mot de passe</a>";
}
else{
echo "<a href='form_connex.html' target='page'>connexion</a>";
}
?>
<?php
if ($connex == true)
{
echo "<a href='deco.php' target='page'>déconnexion</a><br />";
echo "<a href='chang_psw.html' target='page'>changer le mot de passe</a>";
}
else{
echo "<a href='form_connex.html' target='page'>connexion</a>";
}
?>
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
Modifié par Neliel le 26/05/2010 à 17:25
Modifié par Neliel le 26/05/2010 à 17:25
Non, ce n'est pas ça le problème, je code mes if comme le fait l'auteur du sujet, et jamais aucun soucis...
Je suis sûr que son problème viens de la variable $connex...
"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
Je suis sûr que son problème viens de la variable $connex...
"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
CRBHD
Messages postés
136
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
5 avril 2011
9
27 mai 2010 à 10:01
27 mai 2010 à 10:01
Je n'ai pas dis que la manière de coder n'était pas correct, c'est juste que je ne trouve pas ça lisible, je préfère bien séparé le php et l'html mais ce n'est qu'un avis personnel.
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
27 mai 2010 à 10:06
27 mai 2010 à 10:06
Dans les deux cas, le PHP et le HTML ne sont pas séparés...
Dans ton cas, tu insère du code HTML dans du code PHP en utilisant les chaînes de caractères.
Dans mon cas (et dans le sien), on insère du code PHP dans du code HTML.
Dans ton cas, tu insère du code HTML dans du code PHP en utilisant les chaînes de caractères.
Dans mon cas (et dans le sien), on insère du code PHP dans du code HTML.
CRBHD
Messages postés
136
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
5 avril 2011
9
27 mai 2010 à 10:19
27 mai 2010 à 10:19
Oui, enfin, je me suis compris.
Dans mon cas c'est le PHP qui écrit le HTML... encore une fois par soucis de lisibilité. Les 2 sont tout à fait valable. Je dirais même que beaucoup de professionnel utilise "votre" méthode. Enfin le débat n'est pas là. ^^
Dans mon cas c'est le PHP qui écrit le HTML... encore une fois par soucis de lisibilité. Les 2 sont tout à fait valable. Je dirais même que beaucoup de professionnel utilise "votre" méthode. Enfin le débat n'est pas là. ^^
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 688
27 mai 2010 à 12:02
27 mai 2010 à 12:02
Exact, on s'égare ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CRBHD
Messages postés
136
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
5 avril 2011
9
Modifié par CRBHD le 26/05/2010 à 17:38
Modifié par CRBHD le 26/05/2010 à 17:38
Bah peut-être que ça vient de la variable comme tu dis.
Mais que la condition soit toujours vraie ou toujours fausse d'accord ça c'est un bug plausible. Mais qu'elle soit vrai et fausse, c'est impossible !
Faut dire aussi que je suis crevé, j'ai du mal à réfléchir. ^^
Mais que la condition soit toujours vraie ou toujours fausse d'accord ça c'est un bug plausible. Mais qu'elle soit vrai et fausse, c'est impossible !
Faut dire aussi que je suis crevé, j'ai du mal à réfléchir. ^^
Modifié par fxtaa le 27/05/2010 à 09:45
Ensuite lance ton navigateur et connecte toi à 127.0.0.1/[nom de ta page].php
27 mai 2010 à 10:00
Je croyais qu'on pouvait mettre du php dans une page .html, je me trompe ?
Merci pour tes conseil fxtaa, je vais essayer ça.
Shenko90
27 mai 2010 à 10:04
Deuxieme point: il te faut un serveur (local) comme dit fxtaa pour intérpreter ce code php. Effectivement, Wamp est une très bonne solution.
Modifié par fxtaa le 27/05/2010 à 10:07
Mettre du php dans une page html est mal-dit. Pour que le serveur comprenne et interpretre le php, ta page doit être en .php
Rien ne t'empêche de mettre du html dedans.
Le <?php ?> est interpreté coté serveur, (serveur apache la plupart du temps + module php), et peut exécuter des requêtes sql : wamp = windows apache mysql php.
Donc pour résumer pour que ta page php fonctionne correctement il faut que tu installes wamp pour que ta page php soit bien interprété.
Ensuite tu nommes ta page php index.php et tu la met dans le répertoire "www" de ton install wamp. Tu lances ton navigateur : http://127.0.0.1 et voila