Variables de session

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

Variables de session

Message le Dim Mar 20, 2005 20:24

Bonjour

J'ai un fichier index.php avec un formulaire
login qui renvoie la variable username
et password qui renvoie la variable password

Donc après j'arrive dans mon fichier admin
où je j'ouvre une session pour y stocker le $username et $password

Code: Tout sélectionner
session_start();
session_register("username1");
session_register("password1");


Bref après j'ai un problème pour me connecter et me déconnecter!
Est-ce parceque j'utilise 2 fichier index et admin! Ne faudrait-il pas que j'en ai qu'un?

Quelqu'un a t-il un exemple?

Merci beaucoup


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 8:26

>> Bref après j'ai un problème pour me connecter et me déconnecter!


"un probleme" n est pas assez explicite pour t aider. il va falloir nous donner ton probleme (les variables sont bien en session ? elles disparaiisent ? etc...)

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Lun Mar 21, 2005 8:37

pour vérifier tout sa, quand tu code, pense a mettre régulièrement des echo, moi c'est j'en met partout pour vérifier, et sa revele parfois bien des choses!

fbparis
WRInaute impliqué
WRInaute impliqué
 
Messages: 685
Inscription: 1 Fév 2005

Message le Lun Mar 21, 2005 10:56

oui, moi j'utilise ca :

<?php if (DEBUG_MODE):?>
<pre style="margin-top: 1ex; padding: 1ex; border: 1px solid red;text-align: left;">
DEBUG INFOS :
<?php var_dump(get_defined_vars());?>
</pre>
<?php endif;?>

en bas de mes pages, quand tu debug tu defini la constante DEBUG_MODE a TRUE, et ca t'affiche toutes les variables definies dans ta page, ca aide aussi !


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

En fait

Message le Lun Mar 21, 2005 13:44

En fait ça ne marche âs du tout avec mon hébergeur SIVIT.

Quand au serveur local
je peux me logger c'est bon.
Mais quand me click sur deconnecter je retourne sur la page accueil et impossible de me reconnecter. ou de temps en temps ça marche. Comme si la session ne se fermait pas ou mal!

Si quelqu'un a un exemple de code qui marche bien!

En attendant je vais essayer de débugguer l'affaire

Merci bien


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 13:48

lorsque tu crée ou détruit une session, fais tu un header("location: tapage.ext") ou reste tu sur le page ou tu crée/ détruit la session ?

fbparis
WRInaute impliqué
WRInaute impliqué
 
Messages: 685
Inscription: 1 Fév 2005

Message le Lun Mar 21, 2005 13:57

deja je te deconseille d'utiliser session_register() (cf doc php)

je te conseille de faire toutes tes manipulations de session avec $_SESSION['variable']

et pour virer une variable de la session :

unset($_SESSION['variable']);


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

oui

Message le Lun Mar 21, 2005 15:11

Je reste sur mes pages

En fait dois-je créer la session sur mes deux pages index et admin
ou juste sur admin?

je pense que j'ai un gros problème de structure

Merci


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 15:28

session_start() doit ete present sur toutes tes pages sécurisés (compte client ou administration)

lorsque tu crée ou detruit ta session, fais une redirection par header() pour etre sur, et pour ce qui est de session_register(), tu es resté au php3 :-) comme dit fbparis, c est $_SESSION['variable'] qu'il faut utiliser maintenant :-)


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

merci

Message le Lun Mar 21, 2005 16:07

ca veut dire que
session_register() est pareil que $_SESSION['variable'] ?



fais une redirection par header()
Comment ça :oops:

C'est quoi la commande?

Merci


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 16:28

exemple vite fait :

session_start();
$_SESSION['client']=$_POST['login'];
header("location: index.php?message=identification_reussi");

avec dans ta page index

if ($_GET[message]=='identification_reussi' echo "Bonjour ".$_SESSION['login'].", vous êtes maintenant identifié";

c est plus comprehensible ?

ps : ce post ne sert que d exemple pour voir les différentes commandes, là j identifie n importe qui sans contrôle :-)


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

je craque

Message le Lun Mar 21, 2005 17:03

En fait voila mon code
Dans le fichier index ou j'ai le formulaire de login:

Code: Tout sélectionner
session_start();

<form name="form2" method="post" action="admin.php?menu=welcome">
                    <table width="100%" border="0" cellspacing="2" cellpadding="0" class="text10">
                      <tr>
                        <td align="right"><? echo USERNAME; ?></td>
                        <td align="left"><input type="text" name="username1"></td>
                      </tr>
                      <tr>
                        <td align="right"><? echo PASSWORD; ?></td>
                        <td align="left"><input type="text" name="password1"></td>
                      </tr>
                      <tr>
                        <td align="center">&nbsp;</td>
                        <td align="left"><input type="submit" name="adminaccess" value="<? echo CONNECTION; ?>"></td>
                      </tr>
                    </table>
                  </form>


Voila les variables passées sont username1 et password1

Donc quand le gars à rentré son login et mot de passe, ça va dans le fichier admin.php qui contient en gros

Code: Tout sélectionner
session_start();
session_register(username1);
session_register(password1);

include ('_connexion.php'); //pour accès à la base de donnée

if ( ($_SESSION["username1"]!="") and ($_SESSION["password1"]!="") )
   {
   $query="SELECT * FROM admin WHERE blogname='" . $_SESSION["username1"] . "'";
   $res_connection=@mysql_query($query,$db);
   if (@mysql_num_rows($res_connection)!=0)
      {
      $list_connection=mysql_fetch_row($res_connection);
      if ( ($list_connection[2]==$_SESSION["password1"]) )
         {
etc....


Voila tout simple quoi mais ça marche sans les variables de session, mais quand je les mets ça ne marche pas!

Si quelqu'un a une idée :cry:

Je craque

Merci en tout cas


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 17:25

bingo, tu met ta variable en session avec session_register() et t essaye d y acceder sans changer de page. tu écoutes ce que je dis ? :-)


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

Ouaiiiiii

Message le Lun Mar 21, 2005 17:36

c'est bon j'ai réussi

en fait c'est ça qui me manquait

echo $_SESSION["username1"] = $username1;
echo $_SESSION["password1"] = $password1;


ca marche pas avec
session_register()

C'etait tout simple en fait :D

MERCI à tous pour votre aide.

10 heures de boulot juste pour ça :roll:
Mais maintenant mon script de création de blog est nickel :P


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Lun Mar 21, 2005 17:46

>> echo $_SESSION["username1"] = $username1;

et là je vois pas l interet du "echo" :-)

Variables de session

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité