Stocker toutes les variables dans $_SESSION
Résolu
flo39400
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Voila je cherche a apprendre a coder mais la encore je me heurte a un problème, j'ai mis en place un page d'inscription qui fonctionne bien, sur cette même page j'ai mis a la suite une partie connection, mais quand je veux faire ma commande avec ->fecht();
J'ai un message d'erreur :
Fatal error: Uncaught Error: Cannot use object of type stdClass as array
Error: Cannot use object of type stdClass as array
Merci de votre aide.
Voila je cherche a apprendre a coder mais la encore je me heurte a un problème, j'ai mis en place un page d'inscription qui fonctionne bien, sur cette même page j'ai mis a la suite une partie connection, mais quand je veux faire ma commande avec ->fecht();
J'ai un message d'erreur :
Fatal error: Uncaught Error: Cannot use object of type stdClass as array
Error: Cannot use object of type stdClass as array
<?php session_start(); include ('cobdd.php'); if(isset($_POST['formconnexion'])) { $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']); $mdpconnect = sha1($_POST['mdpconnect']); if(!empty($pseudoconnect) AND !empty($mdpconnect)) { $requser = $bdd->prepare("SELECT * FROM user WHERE pseudo = ? AND mp = ?"); $requser->execute(array($pseudoconnect, $mdpconnect)); $userexist = $requser->rowCount(); if($userexist == 1) { $userinfo = $requser->fetch(); $_SESSION['id'] = $userinfo['id']; $_SESSION['nom'] = $userinfo['nom']; $_SESSION['prenom'] = $userinfo['prenom']; $_SESSION['pseudo'] = $userinfo['pseudo']; $_SESSION['mp'] = $userinfo['mp']; echo 'ok'; } else { $etat = 'Mauvais identifiant !'; } } else { $etat = 'Tous les champs ne sont pas remplis !'; } } ?>
Merci de votre aide.
A voir également:
- Stocker toutes les variables dans $_SESSION
- Où sont stockés les mots de passe sur android - Guide
- Où sont stockés les messages whatsapp supprimés - Guide
- Stocker image en ligne - Guide
- Gabin veut supprimer les cookies stockés par son navigateur web. sur quel élément doit-il cliquer dans le menu de son navigateur ? - Guide
- Ou sont stockés les marques pages firefox - Guide
1 réponse
Bonjour,
1 - récupère proprement les variables AVANT de les utiliser.
¨Pour cela, utilise l'écriture ternaire... comme par exemple ici : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
2 - Vu que tu utilises PDO ... active l'affichage des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
NB : penses à mettre TOUTES tes requêtes dans des blocs TRY/CATCH comme dans l'exemple du lien)
3 - N'utilises pas ROWCOUNT.
Regarde la doc :
https://www.php.net/manual/fr/pdostatement.rowcount.php
On peut y lire :
A la place .. fais donc un fetchAll puis un COUNT dessus.
1 - récupère proprement les variables AVANT de les utiliser.
¨Pour cela, utilise l'écriture ternaire... comme par exemple ici : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
2 - Vu que tu utilises PDO ... active l'affichage des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
NB : penses à mettre TOUTES tes requêtes dans des blocs TRY/CATCH comme dans l'exemple du lien)
3 - N'utilises pas ROWCOUNT.
Regarde la doc :
https://www.php.net/manual/fr/pdostatement.rowcount.php
On peut y lire :
ce comportement n'est pas garanti pour toutes les bases de données
A la place .. fais donc un fetchAll puis un COUNT dessus.
Bon après il est vrai que je doit mettre mes requêtes SQL et la tache exécutoire dans des variable distique.
Et utiliser try et catch a chaque requêtes SQL afin de voir les erreurs a chaque bout de code comme vous me l'avais dit il y a quelques temps.
Pour le 3 donc si j'ai bien compris:
Mais donc COUNT(*) doit être placer dans la requête SQL mais cela sert juste a a compter le nombre de résultats qu'il y a par rapport a la requête si j'ai bien compris ?
Ou je peu l'uttiliser comme cela
Merci d'avance pour votre réponse.
Puis, dans ton code :
Pourquoi changer l'attribue PDO par défaut en PDO::FETCH_ASSOC ?
Pouvez vous m'expliquer cette ligne :
Merci beaucoup.