Pb de lecture dans ma bdd
Tonton21
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour à tous,
Ce script me permet la redirection sur une page après validation d'un mot de passe en base de données.
Lorsque je demande une « lecture dans ma bdd » comprenant plusieurs enregistrements de mot de passe, seul le dernier enregistrement et reconnu et fonctionne correctement !
Si quelqu'un à une idée pour résoudre ce problème...
Merci beaucoup pour votre aide.
Ma table :
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- https://www.phpmyadmin.net/
--
-- Serveur: localhost
-- Généré le : Mercredi 25 Août 2010 à 17:28
-- Version du serveur: 5.0.81
-- Version de PHP: 5.2.6-1+lenny9
--
--
-- Base de données: 'password '
-- --------------------------------------------------------
-- Structure de la table 'password '
--
CREATE TABLE 'password ' (
'id' int(11) NOT NULL auto_increment,
'mot_de_passe' varchar(10) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table 'password '
--
INSERT INTO 'password ' VALUES (2, '9543');
INSERT INTO 'password ' VALUES (3, '4857');
INSERT INTO 'password ' VALUES (3, '2681');
Mon script :
Ce script me permet la redirection sur une page après validation d'un mot de passe en base de données.
Lorsque je demande une « lecture dans ma bdd » comprenant plusieurs enregistrements de mot de passe, seul le dernier enregistrement et reconnu et fonctionne correctement !
Si quelqu'un à une idée pour résoudre ce problème...
Merci beaucoup pour votre aide.
Ma table :
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- https://www.phpmyadmin.net/
--
-- Serveur: localhost
-- Généré le : Mercredi 25 Août 2010 à 17:28
-- Version du serveur: 5.0.81
-- Version de PHP: 5.2.6-1+lenny9
--
--
-- Base de données: 'password '
-- --------------------------------------------------------
-- Structure de la table 'password '
--
CREATE TABLE 'password ' (
'id' int(11) NOT NULL auto_increment,
'mot_de_passe' varchar(10) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table 'password '
--
INSERT INTO 'password ' VALUES (2, '9543');
INSERT INTO 'password ' VALUES (3, '4857');
INSERT INTO 'password ' VALUES (3, '2681');
Mon script :
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=password', 'root', '1234');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM password');
while ($donnees = $reponse->fetch())
{
$passe = $donnees['mot_de_passe'];
}
$reponse->closeCursor();
if(isset($_POST['mdp']))
{
if(($_POST['mdp'])===$passe)
{
header ("location: ma_page_login.php");
}
else
{
header ("location: ma_page_erreur.php");
}
}
?>
</table>
</font>
</div>
<table width="200" border="0" align="center">
<tr>
<td align="center" valign="middle"><img src="../../images/header.png" width="856" height="153" /></td>
</tr>
<tr>
<td align="center" valign="middle" class="mess3"><p class="mess7"> </p>
<p class="mess7">Accueil</p>
<p><img src="images/ordi_live.png" width="126" height="110" /></p>
<p class="mess9"> </p>
<p class="mess9">Veuillez entrer votre mot de passe et valider</p></td>
<tr>
<td align="center" valign="middle"><form action="ma_page.php" method="post">
<p>
<input name="mdp" type="password" style="text-align:center; " class="texte_noir" size="30" maxlength="30" />
<br />
<input type="submit" class="button_dark" value="Valider" />
</p>
</form>
</td>
<tr>
<td colspan="7" align="center"> </td>
</tr>
<tr>
<td colspan="7" align="center"> </td>
</tr>
<tr>
<td colspan="7" align="center"><a href="retour.php" class="mess4">Quitter</a></td>
</tr>
</table>
</body>
A voir également:
- Pb de lecture dans ma bdd
- Accusé de lecture gmail - Guide
- Confirmation de lecture whatsapp - Guide
- Lecture video - Guide
- Problème lecture clé usb - Guide
- Lecture fichier epub - Guide
1 réponse
en fait c'est normal, dans ta boucle while tu fais $passe = $donnees['mot_de_passe'];
a chaque fois, tu set la variable, si tu veux tout récupérer il faut stocker ça dans un tableau par exemple ou faire ton test du mot de passe dans la boucle de réception.
Attention, $passe devient un tableau comme ça, il faut donc changer ton traitement après pour le test avec une boucle.
a chaque fois, tu set la variable, si tu veux tout récupérer il faut stocker ça dans un tableau par exemple ou faire ton test du mot de passe dans la boucle de réception.
//Pour récupérer les valeurs dans un tableau. $passe[] = $donnees['mot_de_passe'];
Attention, $passe devient un tableau comme ça, il faut donc changer ton traitement après pour le test avec une boucle.