par
Phil21 » 25 août 2010, 18:06
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
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mercredi 25 Août 2010 à 17:52
-- 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>
[b]Bonjour à tous,[/b]
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.
[u]Ma table :[/u]
[sql]-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mercredi 25 Août 2010 à 17:52
-- 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');[/sql]
[u]Mon script :[/u]
[php]<?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>
[/php]