Connexion à ma BDD ne se fait pas
ingrosboug
-
ingrosboug -
ingrosboug -
Bonjour,
J'aimerai me connecter à ma BDD en php, mais je n'y arrive pas, il me renvoie un echo comme quoi mon login ne marche pas (cf.Désolé 1, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ...).
Je vous poste le contenu de mon fichier :
--------------------------------------------------------------------------------------------------------
<?php
session_start();
if ((isset($_GET['act'])) && ($_GET['act'] == 'logout'))
{
$_SESSION = array();
session_destroy();
session_start();
};
$host = "localhost";
$loginBD = "root";
$passwordBD = "";
$nameBD = "atollpalme";
// connexion à la base
$db = mysql_connect($host, $loginBD, $passwordBD) or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db($nameBD,$db) or die('Erreur de selection de la base '.mysql_error());
if (!isset($_POST['submit']))
{
echo '
<form id="connect" method="post" action="">
<fieldset><legend>Formulaire de connexion</legend>
<p><label for="login">Login : </label><input type="text" id="login" name="login" tabindex="1" value="" /></p>
<p><label for="pwd">Mot de passe :</label><input type="password" id="pwd" name="pwd" tabindex="2" /></p>
</fieldset>
<div><input type="submit" name="submit" value="Connexion" tabindex="3" /></div> </form>';
}
else
{
$login = (isset($_POST['login'])) ? htmlentities(trim($_POST['login'])) : '';
$pwd = (isset($_POST['pwd'])) ? htmlentities(trim($_POST['pwd'])) : '';
if (($login != '') && ($pwd != ''))
{
$req_utilisateur = sprintf("SELECT
nom,
prenom,
grade,
email
FROM
utilisateurs
WHERE
(login = '%s' AND passwd = '%s')",$login, md5($pwd));
$utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error());
if (mysql_num_rows($utilisateur) == 1)
{
$personne = mysql_fetch_array($utilisateur);
$_SESSION['login'] = $login;
$_SESSION['nom'] = $personne['nom'];
$_SESSION['prenom'] = $personne['prenom'];
$_SESSION['grade'] = $personne['grade'];
$_SESSION['email'] = $personne['email'];
echo '<p>Vous êtes correctement identifié(e), <a href="liste-photos.php">cliquez ici pour visualiser les photos</a></p>'."\n";
}
else
{
echo '<p>Désolé 1, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ... </p>'."\n";
}
else
{
echo '<p>Désolé 2, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ... </p>'."\n";
};
}
(isset($_POST['submit']))
?>
--------------------------------------------------------------------------------------------------------
J'espère sincèrement que vous pourriez m'aider.
A bientôt.
J'aimerai me connecter à ma BDD en php, mais je n'y arrive pas, il me renvoie un echo comme quoi mon login ne marche pas (cf.Désolé 1, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ...).
Je vous poste le contenu de mon fichier :
--------------------------------------------------------------------------------------------------------
<?php
session_start();
if ((isset($_GET['act'])) && ($_GET['act'] == 'logout'))
{
$_SESSION = array();
session_destroy();
session_start();
};
$host = "localhost";
$loginBD = "root";
$passwordBD = "";
$nameBD = "atollpalme";
// connexion à la base
$db = mysql_connect($host, $loginBD, $passwordBD) or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db($nameBD,$db) or die('Erreur de selection de la base '.mysql_error());
if (!isset($_POST['submit']))
{
echo '
<form id="connect" method="post" action="">
<fieldset><legend>Formulaire de connexion</legend>
<p><label for="login">Login : </label><input type="text" id="login" name="login" tabindex="1" value="" /></p>
<p><label for="pwd">Mot de passe :</label><input type="password" id="pwd" name="pwd" tabindex="2" /></p>
</fieldset>
<div><input type="submit" name="submit" value="Connexion" tabindex="3" /></div> </form>';
}
else
{
$login = (isset($_POST['login'])) ? htmlentities(trim($_POST['login'])) : '';
$pwd = (isset($_POST['pwd'])) ? htmlentities(trim($_POST['pwd'])) : '';
if (($login != '') && ($pwd != ''))
{
$req_utilisateur = sprintf("SELECT
nom,
prenom,
grade,
FROM
utilisateurs
WHERE
(login = '%s' AND passwd = '%s')",$login, md5($pwd));
$utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error());
if (mysql_num_rows($utilisateur) == 1)
{
$personne = mysql_fetch_array($utilisateur);
$_SESSION['login'] = $login;
$_SESSION['nom'] = $personne['nom'];
$_SESSION['prenom'] = $personne['prenom'];
$_SESSION['grade'] = $personne['grade'];
$_SESSION['email'] = $personne['email'];
echo '<p>Vous êtes correctement identifié(e), <a href="liste-photos.php">cliquez ici pour visualiser les photos</a></p>'."\n";
}
else
{
echo '<p>Désolé 1, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ... </p>'."\n";
}
else
{
echo '<p>Désolé 2, vous avez peut-être fait une erreur dans la saisie des identifiants, mais votre parcours se finit là ... </p>'."\n";
};
}
(isset($_POST['submit']))
?>
--------------------------------------------------------------------------------------------------------
J'espère sincèrement que vous pourriez m'aider.
A bientôt.
A voir également:
- Connexion à ma BDD ne se fait pas
- Gmail connexion - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Heure de connexion whatsapp qui ne changé pas - Accueil - WhatsApp
1 réponse
Bonjour
Histoire de voir ce qui se passe, modifie ton script autour de cette ligne :
$utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error());
Les mots de passe ont-il bien été enregistrés en md5 dans ta base ?
Histoire de voir ce qui se passe, modifie ton script autour de cette ligne :
$utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error());
echo $req_utilisateur,'<br />'; $utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error()); echo mysql_num_rows($utilisateur),'<br />';
Les mots de passe ont-il bien été enregistrés en md5 dans ta base ?
ingrosboug
Merci à toi. Tu m'as bien renseigné. Il s'agissait bien du MD5 que je n'avais pas activé dans les attributs de mon champs password, dans ma base mysql. Chapeau et merci encore l'ami pour ta rapidité et efficacité. A bientôt peut être.