IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Utilisation de IF


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Utilisation de IF
    Bonjour,

    J'apprends à programmer en PHP. Vous le constaterez dans les lignes ci dessous, le code est simple toutefois je ne sais pas pourquoi le IF n'est pas reconnu. Pourriez vous m'aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>SECRET</title>
    	</head>
    	<body>
    	<?php
    		if (isset($_['MDP_secret']) AND $_POST['MDP_secret'] =='KANGOUROU')
    			{
    	?>
    				<h3>Vous venez d'entrer dans le fichier secret</h3>
    			<p>Bien joué!!!</p>
    			}
    	<?php
    		else
    			{
    			echo <p>Mot de passe incorrect</p>
    			}
    	?>	
     
    	</body>
    </html>
    Merci!

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2020
    Messages : 34
    Points : 115
    Points
    115
    Par défaut
    Bonjour,
    As-tu trouvé une solution à ton problème?
    Sinon, dans ton isset tu fais appel à $_ au lieu de $_POST.
    Par ailleurs, l'accolade fermante de ton if est en dehors du tag PHP.

  3. #3
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonsoir,

    Ceci est bien entendu un principe très basique parmi tant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>SECRET</title>
    	</head>
    	<body>
     
    		<form method='post' name='myForm' id='myForm'>	
    			<label>Attention : différence entre minuscules et majuscules ! </label><br />
    			<input name='MDP' id='MDP' type='text' placeholder='Mot de passe' required='required' value='<? echo $_POST["MDP"]; ?>' /> 
    			<input name='confirmation' id='confirmation' type='text' placeholder='Confirmation' required='required' value='<? echo $_POST["confirmation"]; ?>' /><br /> 
    			<input type="submit" name="submit" value="Validez" /> 
    		</form>
     
    	<?php
     
    		$MDP_secret = 'KANGOUROU'; // Attention TOUT en MAJUSCULES !!!
     
     
    		if ($_POST['MDP'] == $_POST['confirmation']) 
    		{
    			if ($_POST['MDP'] == $MDP_secret)
    			{
    				echo '<h3>Vous venez d\'entrer dans le fichier secret</h3><br />Bien joué !!!';	
    			}	
    			else  echo '<p> Mot de passe incorrect </p>';
    		} 
    		else echo '<p> Mot de passe incorrect : saisie différente </p>';
     
     
    	?>	
     
    	</body>
    </html>
    DS7

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour @ tous,

    merci pour vos réponses, je viens de trouver la première explication à mon problème, je n'avais pas enregistré le fichier en PHP (mauvaise utilisation de sublim text...)
    Pour tout vous dire, mon essai repose sur 2 pages, la première avec le formulaire (action vers la seconde page) et la seconde en PHP avec le traitement de l'envoi.
    J'ai toutefois une dernière erreur, une parse error, SYNTAX error lié au ELSE, je ne comprends pas pourquoi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    !DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>SECRET</title>
        </head>
        <body>
        <?php
            if (isset($_['MDP_secret']) AND $_POST['MDP_secret'] =='KANGOUROU')
                {
        ?>
                    <h3>Vous venez d'entrer dans le fichier secret</h3>
                <p>Bien joué!!!</p>
                }
        <?php
            else
                {
                echo <p>Mot de passe incorrect</p>
                }
        ?>    
     
        </body>
    </html>

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 067
    Points : 17 152
    Points
    17 152
    Par défaut
    Salut

    Peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<?php
    	if (isset($_POST['MDP_secret']) and $_POST['MDP_secret'] =='KANGOUROU')
    		{
    		echo '<h3>Vous venez d\'entrer dans le fichier secret</h3><p>Bien joué!!!</p>';
    		}else{
    		echo '<p>Mot de passe incorrect</p>';
    		}
    	?>
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonjour,

    Hé oui, puisque tu apprends le PHP, pourquoi dès le début te compliquer les choses en sortant de PHP au plein milieu de ta condition et ensuite d'y rentrer ?

    DS7

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    DS7, en effet, j ne faisait que suivre un exemple, mais en effet c'est plus simple.
    Pour finir, j'essaie de faire apparaitre sur la première page "mot de passe incorrect" si il est comme tel dans la seconde. Je peux peux être tout mettre sur la même page à condition que l'on ne puisse pas lire le mot de passe en lisant le code. J'ai essayé de faire retourner via l'URL le fait que le code ne soit pas le bon. Il y a surement un moyen plus rapide et plus simple??

    Merci

    Première page formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <!doctype html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Formulaire d'accès</title>
     
     
    	</head>
    	<body>
    		<h3>Accès au fichier secret</h3>
    			<p>Veuillez saisir le mot de passe</p>
    			<form action= 'secret.php' method="post">
    				<P>
    				<input type='password' name='MDP_secret' required minlength="5" maxlength="10"/>
    				<input type='submit' value= Valider/>
    				</P>
    				<?php
    				if (isset($_GET['mdp'] and $_GET['mdp']==non)
    				{
    					echo '<p>Mot de passe incorrect</p>';
    				}
    				else
    					{echo '<p>bienvenue';
    				}
    				?>
    			</form>
    	</body>
    </html>
    Seconde page traitant le mot de passe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>SECRET</title>
    	</head>
    	<body>
    	<?php
    	if (isset($_POST['MDP_secret']) and $_POST['MDP_secret'] =='KANGOUROU')
    		{
    		echo '<h3>Vous venez d\'entrer dans le fichier secret</h3><p>Bien joué!!!</p>';
    		}else{
    		echo '<p>Mot de passe incorrect</p>';
    		header('Location: formulaire.php?mdp=non');
    		}
    	?>
     
    	</body>
    </html>

  8. #8
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Je peux peux être tout mettre sur la même page à condition que l'on ne puisse pas lire le mot de passe en lisant le code
    Tiens, pourquoi donc ?

    Une extension PHP, ce n'est pas du HTML !

    Ton code PHP est compilé et traité sur le server et c'est donc du dynamique.

    Cela signifie aussi qu'il est rigoureusement IMPOSSIBLE de lire le code PHP dans son intégralité !

    Après compilation oui... Mais ce sera limité en équivalent HTML après traitement.

    Bref, tu pourras lire le code source traité, mais PAS ton MDP.

    Autrement dit, si tu trouves quelque part un super code réalisant des prodiges d'inventivités ; tu ne pourras jamais obtenir ce code source via ton navigateur.

    Si tout ça était le cas ; un gros morceau du Net n'existerait pas.

    Si tu aimes te baser sur deux pages pour ton formulaire, libre à toi, mais c'est plus simple de réaliser ça sur une seule page.

    Observe aussi la mémorisation PHP des 2 inputs au niveau du "value=".

    DS7

  9. #9
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 750
    Points : 2 973
    Points
    2 973
    Par défaut
    Citation Envoyé par Droïde Système7 Voir le message
    Ton code PHP est compilé et traité sur le server et c'est donc du dynamique.

    Cela signifie aussi qu'il est rigoureusement IMPOSSIBLE de lire le code PHP dans son intégralité !
    Attention aux erreurs de configuration de ton serveur !

    Je vois au moins deux possibilités :

    1. Ton serveur est mal configuré et ne connaît pas le format PHP => il y a un risque que le fichier soit soit téléchargé soit affiché (comme si ton fichier avait l'extension .txt)
    2. Tu aurais mis un fichier .htaccess à la racine de ton site avec p.ex. AddHandler application/x-httpd-php9 .php càd une version de php inconnue ou, à tout le moins, non installée sur le serveur => ici aussi, ton serveur web ne saura pas quoi faire et risque de proposer le fichier php en téléchargement / en affichage.

    Il ne faut donc pas partir de la certitude qu'un fichier PHP ne sera jamais affiché à l'écran; dans certains cas (résultant d'erreurs de configuration du serveur/site), il le sera.

    Bonne soirée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  10. #10
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Christophe,

    Attention aux erreurs de configuration de ton serveur !
    Oui je sais, et je pense à ça à chaque fois que par exemple un intervenant conseille d'installer PHPMailer au lieu d'utiliser la fonction mail()

    Oui mais bon, c'est aussi valable pour bien des choses : les BdD, etc.

    Seulement de nos jours le niveau de compétences régresse dans bien des domaines.

    Avec les évènements actuels ; ça (sa ) ne va pas arranger les choses.

    DS7

    Nota : la prochaine fois que je dirais .../ rigoureusement IMPOSSIBLE .../.. j'ajourerais sauf si...

Discussions similaires

  1. [FTP] problème openclick dans php
    Par Skeud007 dans le forum Langage
    Réponses: 18
    Dernier message: 04/07/2006, 20h36
  2. [PHP-JS] Problème accents dans script PHP
    Par zigor dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2006, 19h45
  3. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 15h40
  4. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 23h17
  5. problème debodybackground dans une page php
    Par bertrand_declerck dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/02/2005, 23h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo