Aide pour page de connexion php
Résolu
KamiTeru
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
KamiTeru Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
KamiTeru Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis en terminale stg gsi et travaillant sur le php avec une page de connexion qui pause problème.
J'ai plus précisément Undefined variable comme erreur que j'ai réussi à enlever pour les variables définies au début. Bien sûr, je n'ai pas fini de sécuriser je pense qu'il manque quelques trucs avant que cela soit correct^^
Voici les erreurs:
Notice: Undefined variable: Identifiant in c:\program files\easyphp1-8-modgsi\www\ambulance maurin\connexion3.php on line 30
Notice: Undefined variable: motdepasse in c:\program files\easyphp1-8-modgsi\www\ambulance maurin\connexion3.php on line 30
Merci d'avance pour ceux qui voudront bien m'aider (même si ça se peut que ça soit des erreurs bêtes, je débute^^')
J'ai plus précisément Undefined variable comme erreur que j'ai réussi à enlever pour les variables définies au début. Bien sûr, je n'ai pas fini de sécuriser je pense qu'il manque quelques trucs avant que cela soit correct^^
Voici les erreurs:
Notice: Undefined variable: Identifiant in c:\program files\easyphp1-8-modgsi\www\ambulance maurin\connexion3.php on line 30
Notice: Undefined variable: motdepasse in c:\program files\easyphp1-8-modgsi\www\ambulance maurin\connexion3.php on line 30
<html> <head> <title>Connexion</title> </head> <body> <form method="POST" action="connexion3.php"> <h4>Connexion au site</h4> <p> <label>Pseudo : </label><br> <input> </p> <p> <label>Code secret : </label><br> <input type="password"> </br><input type="submit" value="Se connecter"> </p> </form> </body> </html>
<?php session_start(); // Récupération des données saisies dans le formulaire d'accueil // Avant d'utiliser $_POST['identifiant'] if (isset($_POST['identifiant'])) { $Identifiant = $_POST['identifiant']; // Instructions si $_POST['identifiant'] existe } // Avant d'utiliser $_POST['motdepasse'] if (isset($_POST['motdepasse'])) { $motdepasse = $_POST['motdepasse']; // Instructions si $_POST['motdepasse'] existe } // Création d'une variable de session (le numéro de client) $_SESSION['NumSalSession']='$Identifiant'; // Connexion au serveur MySQL $db=mysql_connect('localhost','root','***') or die("erreur de connexion".mysql_error()); // Ouverture de la base mysql_select_db("ambulance maurin",$db) or die("erreur de connexion à la base"); // Requête de recherche du mot de passe du client à partir du numéro de client saisi $req="SELECT * FROM salariés WHERE Identifiant='$Identifiant' and motdepasse='$motdepasse';"; // Execution de la requête $sql=mysql_query($req); if (mysql_numrows($sql)==1) // La requête renvoie au plus un résultat (le client recherché) { header('Location: Accueil_connecte.html'); } else // La requête ne renvoie aucun résultat, l'identifiant est inconnu // et/ou le mot de passe est incorrect (on ne distingue pas les deux cas) { echo 'Identifiant et/ou mot de passe incorrects. <a href=connexion1.html>Veuillez réessayer.</a>'; } // Fermeture de la connexion à MySQL mysql_close(); ?>
Merci d'avance pour ceux qui voudront bien m'aider (même si ça se peut que ça soit des erreurs bêtes, je débute^^')
A voir également:
- Aide pour page de connexion php
- Gmail connexion - Guide
- Impossible de supprimer une page word - Guide
- Imprimer tableau excel sur une page - Guide
- Numéro de page word - Guide
- Page d'accueil - Guide
2 réponses
Bonjour
Comme le message l'indique, ta variable $Identifiant n'est pas définie. PHP ne peut donc pas se servir de sa valeur, elle n'existe pas .
Tu croyais qu'elle était définie ? Parce que tu as fait if (isset($_POST['identifiant'])) etc... ?
Mais dans ton formulaire, il n'y a aucun champ qui s'appelle 'identifiant'. Si ce champ doit correspondre au pseudo, dans le formulaire, au lieu d'un simple <input> tu devrais avoir <input type="text" name="identifiant">
C'est le name= qui va créer les variables $_POST['qqchose'] quand tu envoies le formulaire
Tu as le même problème avac le champ motdepasse, le remède est le même (mais garde le type password bien sûr)
Pendant qu'on y est, petite remarque : tu devrait mettre un else à tes if (isset($_POST['identifiant'])) pour initialiser quand même ta variable $Identifiant (='') sinon si quelqu'un appelle ta page sans passer par le formulaire, tu retrouveras la même erreur, $Identifiant ne sera toujours pas défini
Comme le message l'indique, ta variable $Identifiant n'est pas définie. PHP ne peut donc pas se servir de sa valeur, elle n'existe pas .
Tu croyais qu'elle était définie ? Parce que tu as fait if (isset($_POST['identifiant'])) etc... ?
Mais dans ton formulaire, il n'y a aucun champ qui s'appelle 'identifiant'. Si ce champ doit correspondre au pseudo, dans le formulaire, au lieu d'un simple <input> tu devrais avoir <input type="text" name="identifiant">
C'est le name= qui va créer les variables $_POST['qqchose'] quand tu envoies le formulaire
Tu as le même problème avac le champ motdepasse, le remède est le même (mais garde le type password bien sûr)
Pendant qu'on y est, petite remarque : tu devrait mettre un else à tes if (isset($_POST['identifiant'])) pour initialiser quand même ta variable $Identifiant (='') sinon si quelqu'un appelle ta page sans passer par le formulaire, tu retrouveras la même erreur, $Identifiant ne sera toujours pas défini
pour ce qui est de rajouter les else aux if
Comme ça tu veux dire? j'ai parse error ligne 7 en passant directement par ma page sans aller sur le formulaire.