Code php non comprit

Résolu/Fermé
anthony - 30 oct. 2008 à 19:05
 anthony - 31 oct. 2008 à 00:19
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 :)
?>
A voir également:

19 réponses

okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 oct. 2008 à 19:34
Qu'est ce que tu n'a pas compris exactement?
0
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
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 oct. 2008 à 19:55
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
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

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

Posez votre question
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 oct. 2008 à 20:16
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
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
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 oct. 2008 à 20:30
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
ah ok ben merci de m'avoir aider
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
30 oct. 2008 à 21:40
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
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
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
30 oct. 2008 à 23:23
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
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
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
30 oct. 2008 à 23:34
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
ah donc on peut marquer ?> ou <?php ou en veut on faite sa veut pa dire <?php debut ?>fin sa pas d'ordre
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 oct. 2008 à 23:50
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
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
eu je veut dire je termine par ?> ou par <?php
0
euh ecxuse moi je vient de comprendre
0
ah oui sayer maintenant j'ai tout comprit c'est clair dans ma tete
0