Blocage de mon exercices php code

Fermé
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 - Modifié le 14 avril 2020 à 15:26
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 15 avril 2020 à 16:48
Bonjour,
J'essaye de faire un exercice pour mon cours d'info qui vaut 40% des points de l'examen mais je bloque.
le site ne veut pas marcher alors que j'ai tout fait il me semble.
Pouvez vous m'aidez?
( bien entendu ne pas faire lexercice pour moi mais dire ou est mon erreur dans mon code)
Je dois créer une premier page dont le MDP doit etre mdp la session active une variable et pour le continuer s'ouvre sur une deuxieme page si lacces autorisé me dit vous etes connecte
sinon c refusé j'ai fait cela mais sa ne marhce pas

<?php
 session_start();
?>
<html>
<head>
 <title> Authentification </title>
</head>
<body>

<form name="authentif"
  method="POST"
  action="" >
  
Identifiant : <input type="text" name="id" />
Mdp : <input type="password" name="mdp" />
<input type="submit" value="Se connecter" />
</form>

<?php

 $mdp=isset($_POST["mdp"]); 

 if($mdp=="cava") {
  echo "Vous etes connectes " ; 
  $_SESSION["connexion"]="ok"; 
 } else {
  echo "Mot de passe incorrect "; 
 }


?>

 <a href="ex2.php" > Continuer </a> 


</body>
</html>


et pour la page suivante
<?php
 session_start();
?>
<html>
<head>
 <title> 2eme page </title>
</head>
<body> 


<?php

 if($_SESSION["connexion"]=="ok") {
  echo " Vous etes bien connecte " ; 
 } else {
  echo "Vous n'avez pas acces a cette page" ; 
 }
?>

</body>
</html>


EDIT : Ajout des BALISES DE CODE
A voir également:

4 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
14 avril 2020 à 15:28
Bonjour,

Tu nous dis que ça ne marche pas.... c'est à dire ?
Un message d'erreur ?
Quel est le comportement constaté ? en quoi "ça ne marche pas" ?

NB : Pense à utiliser les balises de code pour poster ton code sur le forum
explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

NB² : Je t'invite également à mettre en place les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
14 avril 2020 à 15:28
Et pour répondre à ton problème....
que fait, selon toi, cette ligne :
$mdp=isset($_POST["mdp"]); 

fais donc un echo de ta variable $mdp ... tu verras où est le souci !
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
Modifié le 14 avril 2020 à 15:36
Excuse moi c'est vrai que je n'ai pas précise le réel problème. Il faut que dans ma premiere page de mon formulaire lorsque l'internaute introduit dans le mot de passe '' cava '' une variable est créé en gros il faut que quand je clique sur le ''continuer'', si l'internaute a introduit le bon mot de passe ici '' cava'' cela renvoit a l'echo de ma deuxieme page qui est '' vous etes bien connecté'' si non, ca met l'autre echo.
Mais ici ca veut pas le faire. Meme quand je met un faux mdp ca me met '' vous etes connecté '' malgré tout...
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
14 avril 2020 à 15:43
J'ai fait un echo pour cette variable en disant que si le mdp etait comparable == cava ben ca me mettait Vous etes connecté. Et que la session etait ok et que pour la deuxieme page si la session etait ok ben ca mettait que vous etes bien connecté mais cela ne fonctionne pas
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
14 avril 2020 à 15:50
Non non...
fais juste un echo de $mdp ... juste après la ligne
$mdp=isset($_POST["mdp"]); 

tu verras que ça ne contient pas ton mot de passe... mais juste une valeur booléenne True ou False ( 1 ou 0 )

Sais tu à quoi sert la fonction isset ? as tu lu la documentation ?

Et si tu regarde le lien que je t'ai donné.. tu verras que ta ligne est incomplète...
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
14 avril 2020 à 16:08
Je vais allé faire ca. Donc tout le soucis vient du isset ? Le isset mon prof me disait que cetait a mettre pour dire si la valeur ''...'' existe ben on excecute la suite. et ici comme ld $mdp existe ben on appllique tout
Donc je supprime le isset et je fais direct un echo apres le $mdp et ca devrait foncitonné ?
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
Modifié le 15 avril 2020 à 13:08
Je narrive toujours pas à le faire... je suis désespéré. Le soucis il faut que le mdp doit avoir obligé comme valeur '' cava'' pour etre connecté cest ce que l'internaute doit mettre pour que sa fonctionne. S'il met autre chose sa doit lui mettre un message derreur et dans la page suivante si l'internaute a mit le bon mdp donc ici '' cava'' alors il recoit un message de bien venu sinon un message d'erreur cest lexercice demandé par le prof. C'est pour cela que j'ai mit
if($mdp=="cava") {
  echo "Vous etes connectes " ; 
  $_SESSION["connexion"]="ok"; 
 } else {
  echo "Mot de passe incorrect "; 
 }


EDIT : Ajout des balises de code ( encore !! )

Pour dire que si le mdp est '' cava'' on puisse se connecté et qu'a la page suivant on est la bienvenu sinon il recoit un message d'erreur. Donc si tu peux me dire comment faire pour que ce code marche.. ( cest avec session start)
Merci a toi
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
15 avril 2020 à 13:10
Sans voir Tout ton code ( modifié suite à nos précédents échanges bien entendu...) IMPOSSIBLE de te répondre !

NB : Pense à utiliser (systématiquement ! ) les BALISES DE CODE pour poster du code sur le forum
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
15 avril 2020 à 15:20
Pour faire plus simple je vais te renvoyer mes 2 pages avec les codes et te montrer mmon énoncés si tu sais m'éclairer ou me dire clairement quoi faire
voici l'énoncé:
F. Créer une page où l'accès n'est autorisé que si on est passé par un formulaire d'authentification
comportant un seul champ de type ‘text’ (avec comme nom ‘mdp’) et un bouton pour soumettre
avec le texte « S’identifier ». La méthode à utiliser pour le formulaire est la méthode POST. Le
formulaire a comme ‘target’ la page sur laquelle il est présent. Cette page comporte également un
lien en-dessous du formulaire qui conduit vers la deuxième page du site.
La procédure à suivre est :
1. Si en soumettant le formulaire le mot de passe saisi est « cava », alors une variable
de session est créée.
2. En cliquant sur le lien en-dessous du formulaire, on arrive sur la deuxième page du site. Si
on a fourni un mot de passe correct dans le formulaire de la première page, l'accès est
autorisé et on affiche le texte : « Vous êtes bien connecté. Bienvenue sur mon site ! ». Dans
le cas contraire l'accès est refusé et on affiche le texte : « Veuillez-vous identifier avant de
vous rendre sur cette page. ».

Et voici mes 2 codes que j'ai fait pour repondre a ce requete.

<?php
session_start();
?>
<html>
<head>
<title> Authentification </title>
</head>
<body>

<form name="authentif"
method="POST"
action="" >

Identifiant : <input type="text" name="id" />
Mdp : <input type="password" name="mdp" />
<input type="submit" value="Se connecter" />
</form>

<?php

if(isset($_POST["mdp"]));



if($_POST["mdp"]=["cava"]) {
echo "Vous etes connectes " ;
$_SESSION["connexion"]="ok";
} else {
echo "Mot de passe incorrect ";
}


?>

<a href="ExF-2.php" > Continuer </a>


</body>
</html>
et pour le ExF-2.php donc ma deuxieme page
<?php
session_start();
?>
<html>
<head>
<title> 2eme page </title>
</head>
<body>
moi


<?php

if($_SESSION["connexion"]="ok") {
echo " Vous etes bien connecte " ;
} else {
echo "Vous n'avez pas acces a cette page" ;
}
?>

</body>
</html>
Voila en gros normalment d'après mon code quand l'internaute doit aller sur mon site et mettre le mdp cava il doit avoir la permisssion de mes messages echo et s'il a appliqué ce que j'ai fait ben ca devrait renvoyé a la deuxieme page quand tu clique sur lee continuer et qui dit '' vous etes bien...' ou '' vous n'avez..'' si tu n'as pas bien fait l'opération.
Tu peux le verifier sur mon site ici
http://s174171.php2.hec.ulg.ac.be/exercices/ensemble1/ExF-1.php
Ca ne fonctionne pas . Ca met deja connecte quand j'y vais dessus et on met n'improte quoi dans le mdp sa marche quand meme
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
15 avril 2020 à 15:25
Tu te moques de moi ça fait plusieurs fois que je t'indique que tu dois utiliser les balises de code.
Donc commence par poste et ton code correctement merci
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
Modifié le 15 avril 2020 à 16:12
<grass>excuse moi de ne pas l'avoir ffait voici mon code avec la balise code</gras>


<form name="authentif"
  method="POST"
  action="" >
  
Identifiant : <input type="text" name="id" />
Mdp : <input type="password" name="mdp" />
<input type="submit" value="Se connecter" />
</form>

<?php
  
    if(isset($_POST["mdp"]));

 

 if($_POST["mdp"]=["cava"]) {
  echo "Vous etes connectes " ; 
  $_SESSION["connexion"]="ok"; 
 } else {
  echo "Mot de passe incorrect "; 
 }


?>

 <a href="ExF-2.php" > Continuer </a> 


EDIT : Correction des balises de code : ajout du langage !
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020 > Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
15 avril 2020 à 15:42
Bon j'ai copié collé mon php et html qui sont entouré de la balise code ca ma donner ce que je tes envoye au dessus
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
15 avril 2020 à 16:30
Oui j'ai remis
$mdp=isset($_POST["mdp"]) ? $_POST["mdp"]: null;
et j'ai mit if $mdp= cava
echo...
Ca ne fonctionne toujours pas
0
Newinformaticien Messages postés 12 Date d'inscription mardi 7 avril 2020 Statut Membre Dernière intervention 13 mai 2020
15 avril 2020 à 16:38
<?php

$mdp=isset($_POST["mdp"]) ? $_POST["mdp"]: null;


if($mdp==["cava"]) {
echo "Vous etes connectes " ;
} else {
echo "Mot de passe incorrect ";
}


?>
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
15 avril 2020 à 16:48
Tu n'as toujours pas mis le LANGAGE dans les balises de code !!!!!!!!!!!!!!!!
Quand vas tu te décider à lire ENTIÈREMENT le lien que je t'ai donné concernant leur utilisation ??????


Quoi qu'il en soit, ton souci se situe au niveau des opérateurs de comparaison...
Tu as fais la même erreur dans tes deux fichiers.
0