Création cookie.
Résolu/Fermé
Max747
Messages postés
258
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2024
-
22 janv. 2018 à 11:40
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 23 janv. 2018 à 10:25
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 23 janv. 2018 à 10:25
A voir également:
- Création cookie.
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création organigramme - Guide
- Création groupe whatsapp - Guide
4 réponses
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
22 janv. 2018 à 12:45
22 janv. 2018 à 12:45
Bonjour,
Le message est clair ... il ne connait pas l'instruction row dans la ligne
Il te manque un query ... et ou du prepare/execute.
Seulement après avoir exécuté ta requête tu pourras en récupérer son contenu via un fetch.
https://www.php.net/manual/fr/pdostatement.fetch.php
Je t'invite également à appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(tout .. et pas juste la connexion que tu as déjà mis en place)
Et aussi cela (juste au cas où.. )
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Le message est clair ... il ne connait pas l'instruction row dans la ligne
$connection->row
Il te manque un query ... et ou du prepare/execute.
Seulement après avoir exécuté ta requête tu pourras en récupérer son contenu via un fetch.
https://www.php.net/manual/fr/pdostatement.fetch.php
Je t'invite également à appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(tout .. et pas juste la connexion que tu as déjà mis en place)
Et aussi cela (juste au cas où.. )
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
22 janv. 2018 à 20:42
22 janv. 2018 à 20:42
<?php
Oui ..y'a à redire :-)
Voici ton code corrigé :
Note que le md5 n'est plus une méthode fiable pour gérer des password... désormais pour vérifier les mots de pass en php il est conseillé d'utiliser la fonction password_verify
Voici un exemple :
https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
Oui ..y'a à redire :-)
Voici ton code corrigé :
//récupération PROPRE des variables AVANT de les utiliser $username = !empty($_POST['username']) ? $_POST['username'] : NULL; $password = !empty($_POST['password']) ? md5($_POST['password']) : NULL; $error = false; $errMsg = NULL; if($username && $password){ //préparation de la requête et de ses variables $sql = "SELECT id, username, password FROM users WHERE username=:username AND password=:password"; $datas = array( ':username' => $username, ':password' => $password); //traitement de la requete try{ $user = $connection->prepare($sql); $user->execute($datas); $result = $user->fetch(PDO::FETCH_ASSOC); // on récupère la première ligne de résultat }catch(Exception $e){ $errMsg[] = "Erreur dans la requete ".$sql . " => " . $e->getMessage(); $error = true; } if(!empty($result)){ setcookie('auth', $user->id . '-----' . sha1($user->username . $user->password . $_SERVER['REMOTE_ADDR']), time() + 3600 * 24 * 100, '/', 'localhost', false, true); $_SESSION['Auth'] = $result; header('Location:login.php'); exit(); //toujours mettre un exit apres une redirection ! }else{ $error = true; $errMsg[] = "Aucun résultat trouvé "; } }else{ $error = true; $errMsg[] = "User ou Password non rempli "; } if($error){ echo "<br> ERROR !!"; if(!empty($errMsg)){ foreach($errMsg as $err){ echo "<br>".$err; } } }
Note que le md5 n'est plus une méthode fiable pour gérer des password... désormais pour vérifier les mots de pass en php il est conseillé d'utiliser la fonction password_verify
Voici un exemple :
https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
Max747
Messages postés
258
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2024
22 janv. 2018 à 17:17
22 janv. 2018 à 17:17
Bonsoir,
J'ai essayé ce scrypt et ça fonctionne désormais:
Aurais tu quelque chose à ajouter?
Merci pour ton aide.
A bientôt.
J'ai essayé ce scrypt et ça fonctionne désormais:
$error = false; $user = $connection->prepare("SELECT id, username, password FROM users WHERE username=:username AND password=:password"); $user->execute (array( 'username' => $_POST['username'], 'password' => md5($_POST['password']))); setcookie('auth', $user->id . '-----' . sha1($user->username . $user->password . $_SERVER['REMOTE_ADDR']), time() + 3600 * 24 * 100, '/', 'localhost', false, true); if($user) { $_SESSION['Auth'] = (array)$user; header('Location:login.php'); }else{ $error = true; }
Aurais tu quelque chose à ajouter?
Merci pour ton aide.
A bientôt.
Max747
Messages postés
258
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2024
23 janv. 2018 à 10:25
23 janv. 2018 à 10:25
Bonjour,
Merci pour ces codes améliorés auxquels je vais m' employer à utiliser désormais.
Bien sûr j'ai encore appris avec toi.Et pour cela je t'en remercie infiniment!
A la première lecture des détails, je n'ai pas tout compris.
C'est ainsi que je vais m' orienter vers les nombreuses documentations dont je dispose en PHP dans les livres, e-book et sur internet pour tenter de comprendre toutes les subtilités d'un scrypt établit dans les règle de l'art.
Cette façon d'apprendre par la recherche permet surtout de mieux retenir ce que l'on acquiert ainsi.
Encore merci.
A une prochaine fois pour un autre demande d'aide.
Sujet résolut me concernant.
Cordialement.
Merci pour ces codes améliorés auxquels je vais m' employer à utiliser désormais.
Bien sûr j'ai encore appris avec toi.Et pour cela je t'en remercie infiniment!
A la première lecture des détails, je n'ai pas tout compris.
C'est ainsi que je vais m' orienter vers les nombreuses documentations dont je dispose en PHP dans les livres, e-book et sur internet pour tenter de comprendre toutes les subtilités d'un scrypt établit dans les règle de l'art.
Cette façon d'apprendre par la recherche permet surtout de mieux retenir ce que l'on acquiert ainsi.
Encore merci.
A une prochaine fois pour un autre demande d'aide.
Sujet résolut me concernant.
Cordialement.