Code php non comprit

Résolu
anthony -  
 anthony -
Bonjour,
voila en faite je suis entrun d'apprendre le php mais je n'ai pas comprit tout a fait le code c'est encore flou pourriez me l'expliquer:
<?php
// J'ai choisi le mot de passe "kangourou"
if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}

if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Codes d'accès au serveur central de la NASA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Voici les codes d'accès :</h2>
<h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>

<hr />

<p>
Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
La NASA vous remercie de votre visite.
</p>
</body>
</html>
<?php
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Page protégée par mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
<form action="protection.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
</body>
</html>
<?php
} // Fin du else
// Fin du code :)
?>
Configuration: Windows XP
Firefox 3.0.3

19 réponses

  1. okuni Messages postés 1325 Statut Membre 126
     
    Qu'est ce que tu n'a pas compris exactement?
    0
  2. anthony
     
    ben en faite c'est le début que j'ai pas trop comprit il dise dans le tuto que isset veut dire qu'elle verifie si elle est vraie ou fausse mais il mes un commentaire que si la variable existe alors que normalement il verifie si c'est juste vraie ou faux la variable et aussi il dise que dans la fonction il y a une variable $mot_de_passe qui récupere les mot de passe du visiteur (dite moi si jusqua la j'ai faux) et aussi pourquoi il mette cette fonction j'ai pas comprit ca
    mais après il mette:

    else // La variable n'existe pas encore
    {
    $mot_de_passe = ""; // On crée une variable $mot_de_passe vide
    }

    if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
    {

    qu'est ce que c'est que ca

    et aussi dans le code il mette ca:

    if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
    {
    // On affiche la page cachée.
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Codes d'accès au serveur central de la NASA</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <h2>Voici les codes d'accès :</h2>
    <h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>

    <hr />

    <p>
    Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
    La NASA vous remercie de votre visite.
    </p>
    </body>
    </html>
    <?php
    } mes pourquoi il mette {} en dehor de <?php ?> normalement sa se met dans le php et pas dans le html mes la il dise que le php s'arrete à ?> mes apres il mette {} je ne comprent pas sa aussi
    0
  3. okuni Messages postés 1325 Statut Membre 126
     
    Le isset vérifie si la variable existe (qu'elle soit remplie ou vide)
    exemple :
    <?php
    	//La variable n'existe pas
    	if (isset($variable))
    	{
    		echo 'La variable existe.';
    	}
    	else
    	{
    		echo 'la variable n\'existe pas.'; // il va afficher ceci
    	}
    	
    	//ici elle existe mais elle est vide.
    	$variable = '';
    	if (isset($variable))
    	{
    		echo 'La variable existe.'; // il va afficher ceci
    	}
    	else
    	{
    		echo 'la variable n\'existe pas.';
    	}
    ?>

    voila ce que c'est le isset.

    juste pour être sur, ce n'est pas $mot_de_passe qui contient le mot de passe que le visiteur entre, c'est $_POST['mot_de_passe']
    c'est seulement plus tard que tu créera la variable $mot_de_passe

    si tu ne comprend pas, tu peux transformer le code en "français"
    si je reprend mon exemple cela donnera :
    si $variable existe alors j'écrit : "la variable existe"
    sinon j'écris : "la variable n'existe pas."
    0
  4. anthony
     
    oui est aussi d'après ce que j'ai compris dans cette apprentissage de php on doit {} que pour les fonctions et aussi on doit le mettre dans du php mes la dans ce code il ont mit hors du php :

    if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
    {
    // On affiche la page cachée.
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Codes d'accès au serveur central de la NASA</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <h2>Voici les codes d'accès :</h2>
    <h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>

    <hr />

    <p>
    Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
    La NASA vous remercie de votre visite.
    </p>
    </body>
    </html>
    <?php
    }

    apres la variable qui vaut kangourou il ont mit { puis ?> sa veut dire qu'il affiche la fonction les pourquoi il on mit ?>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. okuni Messages postés 1325 Statut Membre 126
     
    Non tu peux tout mélanger
    je peux très bien écrire ceci si je veux :
    <?php
    	if (isset($variable))
    	{?>
    	
    		<p>La variable existe.</p>
    	<?php
    	}
    	else
    	{
    	?>
    		<p>la variable n'existe pas.</p>
    	<?php
    	}
    	?>
    0
  7. anthony
     
    oui mes après on s'embrouille on s'est plus ou s'arete la fonction et on s'est plus ou s'arrete le php
    0
  8. okuni Messages postés 1325 Statut Membre 126
     
    Tu ne t'embrouille pas si tu met bien des tabulation ou il faut comme expliquer dans les annexes du site du zéro et aussi si tu utilise un bon programme comme notepad++
    et c'est aussi une question d'habitude, tu verra, plus tard, tu pourra pas faire sans cette astuce :p
    0
  9. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonsoir ,juste une petite précison que j'apporte aux réponses fort bien expliquée de okuni

    le <? indique un debut de code en php

    l'idéal est d'utiliser la syntaxe "académique" <?PHP pour débuter un code en php et tu la ferme avec ?>

    Pour reprendre l'exemple de okuni tu peut également melanger tu html avec du php
    <?php
    	if (isset($variable))
           {	
    	echo'<p>La variable existe'.$variable.'</p>';	
    	}
    	else
    	{	
           echo'<p>la variable n'existe pas.'</p>';	
    	}
    ?>
    


    C'etait juste une petite précision
    bonne soirée
    0
  10. anthony
     
    salut lewis je voulait te dire que je savait que on pouvait mélanger du html et du php mes le probléme c'est pas ca
    en faite quand j'ai apprit les fonction pour moi "{"signifie le début de la fonction et "}" signifie la fin de la fonction mais dans ton exemple et meme dans le tuto du site progrmme zero il mette { } n'importe ou enfun pas n'importe ou mes des fois il les mette la ou il ne devrait pas y etre alors si je me trempe peut tu m'éxpliquer
    merci d'avance
    0
  11. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    les { peuvent servir à 2 choses

    soit a definir une fonction
    exemple
    function(truc)
    {
    
    // la tu met ton code
    
    
    } // fin de la fonction
    


    ou alors un debut de condition ou de boucle
    if($machin==1)
    {
    
    //alors...
    
    }
    else
    {
    // sinon
    }
    


    quand tu ouvre une { il faut obligatoirement la fermer d'ou l'interet de bien intender ton code (l'aligner) pour t'y retrouver

    tu les utilise pour les if,les while les for.

    les [ servent quand a eux pour les array (les tableaux)

    dans tous les cas si tu oublie de fermer une { ou un [ cela te plante
    0
  12. anthony
     
    ah oui est aussi je voulait savoir <?php signifie bien le debut d'un code php et sa ?> sgnifie bien la fin du code php en fun peut etre je me trompe mes si c'est sa pourquoi alors dans le code du début de la conversation il ont pas respecter sa ?? ah moin que je me trompe ??
    0
  13. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    les 2 syntaxes sont bonnes <? et <?PHP

    seulement c'est plus clean et moins "pénible" pour le serveur de marquer <?PHP ,c'est comme les ' et les "

    idem par exemple quand tu fait un echo dans un input ,il vaut mieux marquer

    <input type="text" value="<?PHP echo $ma_variable; ?> /> que

    <input type="text" value="<? echo $ma_variable ?> />

    la différence c'est le ; à la fin de $ma_variable

    ce sont des habitudes à prendre

    dans le 1er post ils on bien mis <?php pour debuter et bien mis aussi ?> pour finir
    0
  14. anthony
     
    ah donc on peut marquer ?> ou <?php ou en veut on faite sa veut pa dire <?php debut ?>fin sa pas d'ordre
    0
  15. okuni Messages postés 1325 Statut Membre 126
     
    si sa a un ordre comme tu l'a di.
    dès que tu écris du php, tu commence par écrire
    <?php
    ensuite des que tu repasse au html, tu écris
    ?>
    0
  16. anthony
     
    attend je croit que j'ai pas tout a fait compris en va dire si j'ecris que du php donc je commence par <?php et je termine par ?> ou je termine par ?> ???
    0
  17. anthony
     
    eu je veut dire je termine par ?> ou par <?php
    0
  18. anthony
     
    ah oui sayer maintenant j'ai tout comprit c'est clair dans ma tete
    0