Récupérer session...

R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009 - 16 janv. 2007 à 09:55
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 16 janv. 2007 à 23:48
Bonjour à tous,

Voilà, j'ai un petit problème, j'ai un espace membre sur mon site, il fonctionne nikel, seulement j'aimerais pouvoir vérifier ma session pour savoir si la personne est connecté ou non...

Vérification des sessions
->Membre connecté -> Affichage d'un message personnalisé
->Membre inconnus -> Affichage du lien de connexion/inscription

Et je ne sait pas comment faire pour afficher mes réponses en fonction de la Session existante ou non....

Merci d'avance pour votre aide...

8 réponses

cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
16 janv. 2007 à 10:02
Bjr,
ajoutes un paramètre membre identifié dans ta variable de session, non ?
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
16 janv. 2007 à 10:58
et je fais comment?

Je suis débutant, je maîtrise des chose au fur-et-à mesure de scripts que je reprends et que je modifie, mais je reste débutant dans tous les cas...

Je ne sait pas comment utiliser les Sessions...
Voici mon script actuelle pour mes page membre:
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
    die('Vous n\'êtes pas autorisez à acceder à cette page.'); //Si non, on arrete le script et on affiche un message
}
$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM membre WHERE `pseudo`='$pseudo_membre'");
$result = mysql_fetch_array ($requete);
$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$nom = $result['nom'];
__________________________________________

En fait, si je pouvais juste afficher un lien à la place de:
Vous n\'êtes pas autorisez à acceder à cette page.
Comment je peux faire pour afficher soit:
Bonjour $pseudo pour les connectés
ou
Connexion pour les non connectés?
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
16 janv. 2007 à 11:12
session_start(); //Sur toutes les pages nécessitant la session (pages membres)

require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Si pseudo est enregistré en var session
{
     //Redirection vers la page d'enregistrement/connexion
     header("Location: Identification.php");
     // Le header devant être envoyé avant TOUT charactère, le message devra donc se trouver sur cette page
}
else
{
     $sql = connect_sql();
     $pseudo_membre = $_SESSION['pseudo'];
     $requete = mysql_query("SELECT * FROM membre WHERE `pseudo`='$pseudo_membre'");
     $result = mysql_fetch_array ($requete);
     $id = $result['id'];
     $pseudo = $result['pseudo'];
     $mail = $result['mail'];
     $nom = $result['nom'];
     //Affichage du message
     echo"Bonjour ".$pseudo;
}
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
16 janv. 2007 à 12:15
Merci!
J'ai juste mis echo"Connexion";
dans le fichier config pour la fonction header et supprimmer Location:...
Maintenant sa marche niquel!

Merci beaucoup!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
16 janv. 2007 à 22:24
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/xxxx/www/index.php:8) in /home/xxxxx/www/index.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/xxxx/www/index.php:8) in /home/xxxxx/www/index.php on line 9

Voilà ce que sa m'affiche... Comment je peut faire?

Merci d'avance....
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
16 janv. 2007 à 22:33
ça c'est parce que tu as envoyé des caractères avant ton header, ce qui n'est pas permis (ni javascript, ni html même généré comme echo ou print)
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
16 janv. 2007 à 23:26
Comment sa? Mais je le mais ou alors le header() ???
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
16 janv. 2007 à 23:48
Tu dois mettre uniquement du code serveur (php) avant l'appel aux fonctions qui manipulent les entêtes: header(), setcookie, et session_start()
et bien prendre en compte l'échange client-serveur

Si tu rajoutes du code client, comme par exemple ta balise html (http://www.google.fr/search?hl=fr&q=headers+already+sent+&btnG=Recherche+Google&meta=lr%3Dlang_fr
0
Rejoignez-nous