Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 12-04-2008 09:09:00

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Aide aux Sessions PHP !

Bonjour tout le monde !

Voilà je suis en BTS Info' de gestion et je dois réaliser un projet pour la rentrée.
Le projet que j'ai choisi est un site dynamique.

Sur ce site, j'ai installé un système de connexion, mais je ne sais pas comment faire en sorte que cette connexion reste active quand je change de page. J'en ai besoin car certaines choses de mon site ne peuvent apparaître que si on est connecté, et ces choses apparaîtront selon si on est connecté, si on est admin' ou simple visiteur identifié.
Je sais que je dois utiliser les sessions...
MAIS !!
Je ne sais pas exactement comment faire. Je sais juste qu'il faut que je mette au début de toutes mes pages :

<?php
  session_start();
?>

Mais après je crois qu'il faut que j'inialise des variables à l'aide de $_SESSION ou quelque chose comme ça mais j'y comprends rien lol

Est-ce que quelqu'un pourrait m'aider SVP ?

Hors ligne

 

#2 12-04-2008 09:26:04

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Aide aux Sessions PHP !

Salut, en haut de chaque pages il faut que tu mette session_start(); avant tout autre code php ou html, une session marche un peu sur le meme principe qu'un tableau associatif par exemple sur une page quelqonque, tu veut ajouter une donnée a la session d'un membre, ont va dire que tu veut garder son pseudo en memoire, sur ta page login apres tes verification d'usage, tu metteras $_SESSION['login'] = $login...
donc la case login de $_SESSION prendras la valeur de $login, ensuite dans une autre page tu souhaite recupérer ses informations tu auras juste a les appeler en faisant echo $_SESSION['login']. si tu souhaite detruire la session tu as session_destroy() et donc la, tout est remis a zero.
voila.

Hors ligne

 

#3 12-04-2008 09:28:03

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

Merci bien !!

J'vais essayer ça big_smile

Merci ^^

Hors ligne

 

#4 12-04-2008 09:31:25

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

Ah juste une chose, pour la déconnexion justement :

je voudrais faire un bouton de déconnexion, au cas où le membre voudrait se déconnecter du site.

Genre sur le haut de la page y'aurait :
"Vous êtes connecté, cliquez sur le bouton à côté pour vous déconnecter".

Comment je fais ??

Hors ligne

 

#5 12-04-2008 10:08:50

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Aide aux Sessions PHP !

bon, dejas mettre ta session donc:

Code:

<?php
session_start();


?>

ensuite tu verifie si effectivement il est bien loggé grace a un test conditionel sur une variable de session:

Code:

<?php
session_start();

if(!$_SESSION['login']){
//donc ici ont verifie SI c'est vide (!) est égale aussi a empty()
}
else{
//donc là ont sait qu'il est connécté car la variable de session login est pleine
//reste encore a savoir si c'est bien un membre mais bon, ca, c'est a toi d le verifier, avant normalement
}


?>

maintenant ont va faire un petit form avec get

Code:

<form method="get">
<input type="hidden" name="logoff" value="deconnection">
<input type="submit" value="Deconnecter">
</form>

evidament ont va l'integrer a notre code php:

Code:

<?php
session_start();

if(!$_SESSION['login']){
//donc ici ont verifie SI c'est vide (!) est égale aussi a empty()
}
else{
//donc là ont sait qu'il est connécté car la variable de session login est pleine
//reste encore a savoir si c'est bien un membre mais bon, ca, c'est a toi d le verifier, avant normalement
echo'
<form method="get">
<input type="hidden" name="logoff" value="deconnection">
<input type="submit" value="Deconnecter">
</form>';
//donc comme ont sait qu'il est connecté ont affiche le boutton pour la deconnection

}


?>

maintenant il va faloir recuperer ces informations du form si'il click ou pas si il ne clique pas

donc:

Code:

if(!$_GET['logoff']){
//si le get est vide, donc qu'il n'existe pas je ne fait rien
}
else{
session_destroy();
}

donc:

Code:

<?php
session_start();

if(!$_SESSION['login']){
//donc ici ont verifie SI c'est vide (!) est égale aussi a empty()
}
else{
//donc là ont sait qu'il est connécté car la variable de session login est pleine
//reste encore a savoir si c'est bien un membre mais bon, ca, c'est a toi d le verifier, avant normalement
echo'
<form method="get">
<input type="hidden" name="logoff" value="deconnection">
<input type="submit" value="Deconnecter">
</form>';
//donc comme ont sait qu'il est connecté ont affiche le boutton pour la deconnection

}
if(!$_GET['logoff']){
//si le get est vide, donc qu'il n'existe pas je ne fait rien
}
else{
session_destroy();
}

?>

Dernière modification par Asherah (12-04-2008 10:12:52)

Hors ligne

 

#6 12-04-2008 10:13:30

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

D'ac' avec ça je devrais pouvoir me débrouiller lol

Merci bien à plouche

Hors ligne

 

#7 12-04-2008 11:11:50

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

Bon alors je croyais que tout fonctionnait mais en fait non :S

En fait, je n'arrive pas à me déconnecter.

Bon par contre je n'ai pas fait de la manière que tu m'as décrite pour le déconnection :
j'ai fait un lien de déconnexion qui renvoi vers une autre page contenant le code :

<?php
session_unset();
session_destroy();
echo "Deconnexion";
require_once 'redirection.php';
?>

et dans redirection.php il y a :

<script language="javascript"type="text/javascript">

function redirection(page)
  {window.location=page;}
setTimeout('redirection("index.php?page=home")',2000);

</script>

Ca me renvois bien vers index.php mais je recte connecté et ça me dit ça pendant la déconnexion :

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized in session  :\wamp\www\DarkSeiryu\ventejeux.com\logout.php on line 3.

J'en déduis que ma session n'est pas initialisé :S Mais pourquoi ??? sad

Please some help...

Hors ligne

 

#8 12-04-2008 11:56:24

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Aide aux Sessions PHP !

Maybe, you haven't attributed the member's session, or then you put html code before the starting session.

look that:

http://www.phpsources.org/tutoriel-sessions.htm

Hors ligne

 

#9 12-04-2008 14:50:08

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

Ouais j'y suis déjà passé sur ce site mais ça m'avance pas :S

Voici le code où je démarre la session :


<?php
  session_start();
  $_SESSION["pseudo"] = $_POST["pseudo"];
?>
<html>
  <head>
    <link href="style.css" rel=stylesheet typer="text/css">
  </head>
  <body class="fond4">
    <?php
      include ("Connexion.php");
      $Requête="select * from utilisateur where PSEUDO='".$_POST["pseudo"]."'and MDP='".$_POST["password"]."'";
      $Résultat=mysql_query($Requête);
      $Ligne=mysql_fetch_array($Résultat);
     
      if ($Ligne["TYPE"] == "1")
      {echo ("<span class='color'>Bienvenue Lord ".$_POST["pseudo"]." !</span><br><br>");
       echo ("<a href='modifier.php' target='zone1' class='bouton'>Modifier</a><br><br>");
       echo ("<a href='ajouter.php' target='zone1' class='bouton'>Ajouter</a><br><br>");
       echo ("<a href='supprimer.php' target='zone1' class='bouton'>Supprimer</a><br><br>");
      }
      else if ($Ligne["TYPE"] == "2")
      {echo ("<span class='color'>Bienvenue ".$_POST["pseudo"]." !</span><br>");
       echo ("<span class='color'>Vous pouvez désormais acheter nos produits ! wink Bonne visite !</span>");
      }
      else
      {echo "<span class='color'>Vous n'êtes pas enregistré, la connexion est donc impossible.</span><br>";
       echo "<span class='color'>Si vous voulez vous enregistrer, cliquez <a href='enregistrement.php' target='zone1'>ici.</span></a>";
      }
    ?>
  </body>
</html>


J'ai essayé d'autres méthodes mais y'a pas moyen j'arrive pas à supprimer la session, quoi qu'il se passe je reste tout le temps connecté sur le site hmm
Pourtant ma session est bien initialisée, quand je fait un echo $_SESSION["pseudo"] ça marche...

Donc voilà si quelqu'un trouve une solution faites le moi savoir SVP.

Hors ligne

 

#10 12-04-2008 14:52:19

DarkSeiryu
Membre
Date d'inscription: 12-04-2008
Messages: 7

Re: Aide aux Sessions PHP !

Nan en fait c'est bon je viens de trouver lol

Dans ma page logout.php il me manquait le session_start() ^^

Quel nul je fais lol

Merci pour tout ! smile

A +.

Hors ligne

 

#11 12-04-2008 14:53:34

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Aide aux Sessions PHP !

^^

Hors ligne