Problème formulaire connection php
Résolu/Fermé
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
-
30 mai 2016 à 19:08
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 6 juin 2016 à 17:08
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 6 juin 2016 à 17:08
A voir également:
- Problème formulaire connection php
- Gmail connection - Guide
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Hotmail connection - Guide
- Facebook connection - Guide
2 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
31 mai 2016 à 00:56
31 mai 2016 à 00:56
Bonjour,
L'utilisation du rowCount est fortement déconseillée..
(voir la notice de php)
A la place, fais un FETCHALL du résultat de ta requête et un COUNT dessus.
Pour intercepter les éventuelles erreur php, il faut également penser à utiliser des bloc TRY/CATCH pour tes requêtes.
par exemple :
Et mettre en première ligne de tes pages php (pour afficher les erreurs php):
NB : Par défaut, les erreurs PDO ne sont pas activées.
Dans le code de connexion à ta BDD tu dois ajouter ceci :
L'utilisation du rowCount est fortement déconseillée..
(voir la notice de php)
A la place, fais un FETCHALL du résultat de ta requête et un COUNT dessus.
Pour intercepter les éventuelles erreur php, il faut également penser à utiliser des bloc TRY/CATCH pour tes requêtes.
par exemple :
$sql = 'SELECT * FROM users WHERE pseudo = ? AND password = ?'; $datas = array($pseudo, $password); try{ $requser = $bdd->prepare($sql); $requser->execute($datas); $array_result = $requser->fetchAll(); }catch(Exception $e){ echo "Erreur dans la requete. ".$e->getMessage(); } $nb = count($array_result); if($nb == 1 ){ //etc...
Et mettre en première ligne de tes pages php (pour afficher les erreurs php):
error_reporting(E_ALL);
NB : Par défaut, les erreurs PDO ne sont pas activées.
Dans le code de connexion à ta BDD tu dois ajouter ceci :
$bdd= new PDO( /*...... */); //le code de connexion à ta bdd $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //options pour l'affichage des erreurs PDO
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
5 juin 2016 à 20:08
5 juin 2016 à 20:08
login.php:
login.php php:
bdd.php
<?php include('includes/header.php') ?>
<?php include('php/php_bdd.php') ?>
<?php include('php/php_login.php') ?>
<?php include('includes/infos.php') ?>
<div class="content">
<div class="wrapper" style="background-color: #fff; padding-left: 5px;padding-right: 5px; padding-bottom: 20px;">
<div style="text-align: center">
<br>
<?php
if(isset($err))
{
?>
<div class="alert" style="padding: 10px; background-color: #46a2d9;">
<h2 style="color: #fff; font-weight: 400; text-transform: uppercase;"><?php echo $err ?></h2>
</div>
<?php
}
?>
<form method="post">
<br>
<label for="pseudo">Pseudo :</label>
<br>
<input type="text" name="pseudo_connect" id="pseudo">
<br><br>
<label for="password">Mot de passe :</label>
<br>
<input type="password" name="password_connect" id="password">
<br><br>
<input type="submit" name="submit_connect" value="Se connecter">
<br><br>
<a href="register.php">Pas encore de compte ?</a>
<br>
<a href="">Mot de passe oublié ?</a>
</form>
</div>
</div>
</div>
<?php include('includes/footer.php') ?>
login.php php:
<?php
if(isset($_POST['submit_connect']))
{
$pseudo = htmlspecialchars($_POST['pseudo_connect']);
$password = sha1($_POST['password_connect']);
$sql = 'SELECT * FROM users WHERE pseudo = ? AND password = ?';
$datas = array($pseudo, $password);
try
{
$requser = $bdd->prepare($sql);
$requser->execute($datas);
$array_result = $requser->fetchAll();
$userinfo = $requser->fetch();
}
catch(Exception $e)
{
echo "Erreur dans la requete. ".$e->getMessage();
}
$nb = count($array_result);
if($nb == 1 )
{
$_SESSION['id'] = $userinfo['id'];
$_SESSION['pseudo'] = $userinfo['pseudo'];
$_SESSION['password'] = $userinfo['password'];
$_SESSION['lastname'] = $userinfo['lastname'];
$_SESSION['firstname'] = $userinfo['firstname'];
$_SESSION['mail'] = $userinfo['mail'];
$_SESSION['grade'] = $userinfo['grade'];
$_SESSION['accept_mail'] = $userinfo['accept_mail'];
$_SESSION['date'] = $userinfo['date'];
header('Location: index.php');
}
else
{
$err = "Mauvais pseudo ou mot passe";
}
}
?>
bdd.php
<?php
try
{
$bdd = new PDO('mysql:host=127.0.0.1;dbname=zeelox', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
5 juin 2016 à 23:09
5 juin 2016 à 23:09
Tu as bien mis le démarrage des session également dans ton fichier index.php ? (ou du moins ton header.php y est chargé également ? )
Tu peux ajouter un
Ajoutes également la ligne :
au début de tes pages php. cela permet d'afficher les erreurs php.
Il faudrait aussi, avant le if nb==1 que tu ajoutes un petit
Histoire de voire ce que te retournes ta requête. ( penses à désactiver la redirection
Tu peux ajouter un
print_r($_SESSION);au début de ton fichier index.php ?
Ajoutes également la ligne :
error_reporting(E_ALL);
au début de tes pages php. cela permet d'afficher les erreurs php.
Il faudrait aussi, avant le if nb==1 que tu ajoutes un petit
print_r($array_result);
Histoire de voire ce que te retournes ta requête. ( penses à désactiver la redirection
header('Location: index.php');pour pouvoir le voir à l'écran. )
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
6 juin 2016 à 17:07
6 juin 2016 à 17:07
alors j'espere avoir fait tout comme il fallait, j'ai deux messages :
-> Array ( )
-> des données sur mon compte un peu comme ca : Array ( [0] => Array ( [id] => 2 [0] =>
ca m'énerve d'être bloqué sur un simple formulaire de connexion...
-> Array ( )
-> des données sur mon compte un peu comme ca : Array ( [0] => Array ( [id] => 2 [0] =>
ca m'énerve d'être bloqué sur un simple formulaire de connexion...
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
6 juin 2016 à 17:08
6 juin 2016 à 17:08
Array ( [id] => [pseudo] => [password] => [lastname] => [firstname] => [mail] => [grade] => [accept_mail] => [date] => ) quand je quitte la page
31 mai 2016 à 18:42
31 mai 2016 à 18:48
Tu y lira :
1 juin 2016 à 20:02
merci bcp
1 juin 2016 à 20:44