Problème Connexion espace membre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème Connexion espace membre

Re: Problème Connexion espace membre

par moogli » 21 juil. 2014, 16:08

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

Re: Problème Connexion espace membre

par hunomina972 » 21 juil. 2014, 11:55

$_SESSION['Auth'] = array('email' => $email, 'pseudo'=> $data2['prenom']);
ok merci xTG ça fonctionne =), un ordi est bête est discipliné ce qui est très bien comme ça. Merci pour toute votre aide et à une prochaine fois ;)

Re: Problème Connexion espace membre

par xTG » 21 juil. 2014, 11:28

Parce que c'est ce que tu demandes. ;)
Voir la documentation de la fonction : http://fr2.php.net/manual/fr/pdostatement.fetch.php
$_SESSION['Auth'] = array('email' => $email, 'pseudo'=> $data2['prenom']);

Re: Problème Connexion espace membre

par hunomina972 » 21 juil. 2014, 09:52

$email = $_POST['email'];
$password = sha1($_POST['password']);
$q = array('email' => $email, 'password' => $password);
$pseudo ='SELECT * FROM phpmembre WHERE email = :email AND password = :password';
$req2 = $cnx->prepare($pseudo);
$req2 = $req2->execute($q);
$results->fetchAll(PDO::FETCH_ASSOC);
$_SESSION['Auth'] = $results; // Tu stockes toutes le champs de la table membre dans la variable $_SESSION['Auth']; En esperant qu'il y a un champ 'pseudo'
header('Location: Page d\'accueil.php');
Ton code aussi n'est pas bon vu qu'il ne m'affiche meme pas la page Page d'accueil.php :roll: et meme en changeant le dernier $req2 en $results...
Je ne souhaite pas selectionner toute la table mais seulement le prenom associé au compte connecté et l'afficher ensuite sur la page d'accueil.
Comme ton code ne marche pas, j'ai essayé ça :
$email = $_POST['email'];
$password = sha1($_POST['password']);
$q = array('email' => $email, 'password' => $password);
$pseudo = 'SELECT prenom FROM phpmembre WHERE email = :email AND password = :password';
$req2 = $cnx->prepare($pseudo);
$req2->execute($q);
$data2 = $req2->fetch(PDO::FETCH_ASSOC);
$_SESSION['Auth'] = array('email' => $email, 'pseudo'=> $data2);
header('Location: Page d\'accueil.php');
Ici la page d'accueil.php est affiché mais il n'est pas affiché le prenom mais juste "Array".
Pourquoi ???

Re: Problème Connexion espace membre

par Elie » 20 juil. 2014, 22:52

C'est n'importe quoi ton code ...
Tu stockes comme variable le resultat d'une requete donc 1 ...
$email = $_POST['email'];
$password = sha1($_POST['password']);
$q = array('email' => $email, 'password' => $password);
$pseudo ='SELECT * FROM phpmembre WHERE email = :email AND password = :password';
$req2 = $cnx->prepare($pseudo);
$req2 = $req2->execute($q);
$results->fetchAll(PDO::FETCH_ASSOC);
$_SESSION['Auth'] = $results; // Tu stockes toutes le champs de la table membre dans la variable $_SESSION['Auth']; En esperant qu'il y a un champ 'pseudo'
header('Location: Page d\'accueil.php');

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 21:29

Bon je vais y arrivé au bout d'un moment mais c'est pas le moment :D
Je souhaite maintenant afficher le prenom entré pendant l'inscription de l'utilisateur sur la page d'accueil.
<div class='error'><?php echo $_SESSION['Auth']['pseudo']; ?> </div>
J'ai donc fais de deux façon mais aucune de fonctionne :
$email =$_POST['email'];
$password = sha1($_POST['password']);
$q = array('email' => $email, 'password' => $password);
$pseudo ='SELECT prenom FROM phpmembre WHERE email = :email AND password = :password';
$req2 = $cnx->prepare($pseudo);
$req2->execute(array(1));
$don = $req2->fetch(PDO::FETCH_OBJ);
$_SESSION['Auth'] = array('email' => $email, 'pseudo'=> $don);
header('Location: Page d\'accueil.php');
Cette méthode (trouver sur internet) ne m'affiche rien et la suivante est celle-ci :
$email = $_POST['email'];
$password = sha1($_POST['password']);
$q = array('email' => $email, 'password' => $password);
$pseudo ='SELECT prenom FROM phpmembre WHERE email = :email AND password = :password';
$req2 = $cnx->prepare($pseudo);
$don = $req2->execute($q);
$_SESSION['Auth'] = array('email' => $email, 'pseudo'=> $don);
header('Location: Page d\'accueil.php');
Celle ci m'affiche un 1 (je ne sais pas pourquoi)

Alors je vous demande ENCORE votre aide pour me trouver une solution pour que je puisse afficher le prenom de l'utilisateur. Merci d'avance :)

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 19:39

OK merci pour l'info c'est modifié
En fait je voulais juste que ça verifie que la session Auth existe :)

Re: Problème Connexion espace membre

par xTG » 20 juil. 2014, 14:31

Attention cependant :
$_SESSION[Auth] // utilise la valeur de la constante Auth comme index
$_SESSION['Auth'] // utilise Auth comme index

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 13:40

Avant de demander j'aurai du essayer et ça marche. Bon je vous laisse tranquille maintenant :P et bonne continuation :wink: =D>

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 13:06

Une derniere question comme ça... Apres avoir rentré les identifiants, on accède au site et du coup à toutes les pages disponibles. Mais si l'on tape l'URL d'une des pages on peut y accéder sans passer par l'identification. Du coup je veut faire une verification de l'existance de la session créer lors de l'identification donc si cette session n'existe pas, on est rediriger vers la page index. Est-ce que CA marcherai ???
session_start();
if(!empty($_SESSION[Auth])){
// afficher la page
}
else{
//redirection vers la page d'identification
header('Location: index.php');
}

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 10:56

ET CA MARCHE NICKEL MERCI A TOUS ET BONNE CONTINUATION :D :D :D

Re: Problème Connexion espace membre

par hunomina972 » 20 juil. 2014, 10:54

C'est bon j'ai trouvé en fait comme j'avais supprimmer mon ancienne base de donnée pour la refaire, j'avais changer les identifiants et du coup j'avais laisser les anciens sur ma page là donc ça marche nickel, ça ne r'envoie pas sur la page d'accueil si les id sont mauvais cependant si ils sont bon ça me met ok mais ne me renvoie pas à la page non plus. Du coup je vire le 'echo "ok";' et je remet le header comme avant et pas en commentaire :D

Re: Problème Connexion espace membre

par xTG » 20 juil. 2014, 09:18

Ça ne merde pas étant donné que j ai une autre page sous forme de commentaire poster par les visiteur et ça fonctionne super donc je sais pas...
Regardes donc quelle variable de configuration ce script appelle et compare.

Re: Problème Connexion espace membre

par hunomina972 » 19 juil. 2014, 22:33

Ça ne merde pas étant donné que j ai une autre page sous forme de commentaire poster par les visiteur et ça fonctionne super donc je sais pas...

Re: Problème Connexion espace membre

par moogli » 19 juil. 2014, 21:12

pour xdebug
http://blog.pascal-martin.fr/post/xdebu ... emiers-pas
http://fr.openclassrooms.com/informatiq ... php-xdebug

Le message d'erreur est clair l'utilisateur que tu indique n'a pas le droit de se connecter.
En clair tu as merdé la conf de l'utilisateur XD
Vérifie qu'il soit bien configuré pour les accès distant (et donc pas de 127.0.0.1 ou localhost dans la conf
exemple de création d'utilisation qui ne peu se connecter que sur l'hôte local
[mysql]
CREATE USER 'toto'@'localhost' IDENTIFIED BY 'toto';
GRANT USAGE ON *.* TO 'toto'@'localhost';
[/mysql]

Par défaut les utilisateurs sont configuré ainsi.

Il est important d'afficher les erreurs lorsque l'on est en phase de développement sinon tu ne r'en sort pas.
Dans le style le die c'est très, mais très très moche.
Il y a toujours moyen de faire quelque chose de propre et de garder la mise en page du site laisse un message moisi avec une page blanche.

@+