Mon fetchAll ne me retourne rien...

Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 21 mai 2014 à 12:19
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 22 mai 2014 à 10:47
Bonjour,
Voila mon soucis quant je connecte a ma bdd mon fetchall ne me retourne pas les données qu'il a récupérées...

<?php
Require_once('db_fns.php');

session_start();

if (isset($_POST['utilisateur']) && isset($_POST['mdp'])) {
$utilisateur = $_POST['utilisateur'];
$mdp = $_POST['mdp'];

$db_conn = db_connect ();

$requete = "select * from tablogsys"
." where login = '$utilisateur'"
." and mdp = sha1('$mdp')";

$requete_user = $db_conn->query($requete);
$data_req_user = $requete_user->fetchAll(PDO::FETCH_ASSOC);
if (count($data_req_user) > 0) {
$_SESSION['user_ok'] = $utilisateur;
$_SESSION['id_user'] = $data_req_user['cdb'];
$id = $_SESSION['id_user'];
print $data_req_user;
}
}

include ('entetes/entete.php');

if (isset($_SESSION['user_ok'])) {
/** récupéré les données utilisateur et rediriger en fonction du statut**/
echo "<p>Vous êtes bien connecté, Vous allez être redirigé dans un instant.</p>";
echo "<head>";
/**echo '<meta http-equiv="refresh" content="0;url=news.php">';**/
echo "</head>";
} else {
if (isset($utilisateur)) {
echo '<div id="texte"><p>Connexion refusée</p></div>';
} else {
echo '<div id="texte"><p>Veuillez vous connecter.</p></div>';
}
}
?>

<div id="taille">
<div id="formlog">
<form method="post" action="index.php">
<label for="utilisateur">Nom d\'utilisateur :</label><br />
<input type="text" id="utilisateur" name="utilisateur" /><br /><br />
<label for="mdp">Mot de passe :</label> <br />
<input type="password" id="mdp" name="mdp" /><br /><br />
<input class="submit" type="submit" name="submit" value="Connexion" />
</form>
</div>
</div>

<?php include ('pieds/pied.php'); ?>

4 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
21 mai 2014 à 14:12
Salut,

Affiche ta requête, tu devrais voir que celle-ci est incorrect :
$requete = "select * from tablogsys"
." where login = '$utilisateur'"
." and mdp = sha1('$mdp')";

$requete_user = $db_conn->query($requete);
if ($requete_user === FALSE) {
    echo 'Erreur sql : <br />';
    var_dump($db_conn->errorInfo());
    echo 'Requête : <br />';
    var_dump($requete);
    exit();
}


Bonne journée
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
21 mai 2014 à 14:31
Non maintenant mon print_r me retourne bien un truc mais je n'arrive pas a le récupéré après...



if (isset($_POST['utilisateur']) && isset($_POST['mdp'])) {
$utilisateur = $_POST['utilisateur'];
$mdp = $_POST['mdp'];

$db_conn = db_connect ();

$requete = "select * from tablogsys"
." where login = '$utilisateur'"
." and mdp = sha1('$mdp')";

$requete_user = $db_conn->query($requete);
$data_req_user = $requete_user->fetchAll(PDO::FETCH_ASSOC);
if (count($data_req_user) > 0) {
$_SESSION['user_ok'] = $utilisateur;
$_SESSION['id_user'] = $data_req_user['cdb'];
$id = $_SESSION['id_user'];
print_r ($data_req_user);
echo "<p>$id</p>";
}
}

ça retourne

Array ( [0] => Array ( [id] => 1 [mdp] => 797de2d448cc1a636abb85536ad659f885b34945 [login] => greg [cdb] => br7xtz ) ) donc mon print
mais pas le $id
Vous êtes bien connecté, Vous allez être redirigé dans un instant.
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
Modifié par Marlocq le 22/05/2014 à 10:42
Après avoir parcouru pas mal de tuto j'ai lu qu'il fallait mettre un foreach mais ça ne marche toujours pas

if (isset($_POST['utilisateur']) && isset($_POST['mdp'])) {
$utilisateur = $_POST['utilisateur'];
$mdp = $_POST['mdp'];

$db_conn = db_connect ();

$requete = "select * from tablogsys"
." where login = '$utilisateur'"
." and mdp = sha1('$mdp')";

$requete_user = $db_conn->query($requete);
$data_req_user = $requete_user->fetchAll(PDO::FETCH_ASSOC);
if (count($data_req_user) > 0) {
$_SESSION['user_ok'] = $utilisateur;
foreach($data_req_user as $row)
{
$id = $row['cbd'];
}
print_r ($data_req_user);
echo "<p>$id</p>";
}
}

Retourne ->
Array ( [0] => Array ( [id] => 1 [mdp] => 797de2d448cc1a636abb85536ad659f885b34945 [login] => greg [cdb] => br7xtz ) )
et pas le $id....
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
22 mai 2014 à 10:47
Haaaa Mer.. le con j'écrivais cbd et non pas cdb...

Désoler... Honte sur moi
0