Problème Connexion espace membre

Eléphant du PHP | 88 Messages

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...
Le temps donne sa légitimité à l'existence...

ViPHP
xTG
ViPHP | 7331 Messages

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.

Eléphant du PHP | 88 Messages

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
Le temps donne sa légitimité à l'existence...

Eléphant du PHP | 88 Messages

20 juil. 2014, 10:56

ET CA MARCHE NICKEL MERCI A TOUS ET BONNE CONTINUATION :D :D :D
Le temps donne sa légitimité à l'existence...

Eléphant du PHP | 88 Messages

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');
}
Modifié en dernier par hunomina972 le 20 juil. 2014, 13:40, modifié 1 fois.
Le temps donne sa légitimité à l'existence...

Eléphant du PHP | 88 Messages

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>
Le temps donne sa légitimité à l'existence...

ViPHP
xTG
ViPHP | 7331 Messages

20 juil. 2014, 14:31

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

Eléphant du PHP | 88 Messages

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 :)
Le temps donne sa légitimité à l'existence...

Eléphant du PHP | 88 Messages

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 :)
Le temps donne sa légitimité à l'existence...

Mammouth du PHP | 1339 Messages

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');
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 88 Messages

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 ???
Le temps donne sa légitimité à l'existence...

ViPHP
xTG
ViPHP | 7331 Messages

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']);

Eléphant du PHP | 88 Messages

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 ;)
Le temps donne sa légitimité à l'existence...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

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 !!! ;)
Il en faut peu pour être heureux ......