Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1318 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  J'ai un problème de logique avec les sessions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

J'ai un problème de logique avec les sessions

n°339751
dinbougre8​88
Posté le 21-03-2003 à 17:01:22  profilanswer
 

Supposons que mon appli est la suivante :
 
- formulaire "connexion.php" qui appel "login.php"
- si les paramètres sont bon j'enregistre la valeur d'une variable appellé "$id" et je redirige sur "ok.php"
- sinon je redirige vers "non.php"
 
Dans mon "login.php" je test si les paramètres sont bons :
- si c'est bon je fais un session_start() et ensuite sur toutes les pages que "ok.php" va rediriger j'ai besoin de ma variable "$id" donc je dois tester à chaque fois si ma session est bien active.
 
Comment tester si une session est active?
J'ai fait :
 

if (isset(session_id()))

 
 
et aussi
 

(if session_id()=="" )

 
 
mais ça marche pas
 
Je pourrai éventuellement faire :

if (isset($id))


 
mais le pb c'est que dans ce cas il suffira de mettre &$id=... dans l'url pour que ça passe.
 
Comment faire.?

mood
Publicité
Posté le 21-03-2003 à 17:01:22  profilanswer
 

n°339795
art_dupond
je suis neuneu... oui oui !!
Posté le 21-03-2003 à 17:37:01  profilanswer
 

si test ok =>  
{
  $id=...
  session_start();
  session_register("id" );
}
 
if(!session_is_registered("id" ))
{  
  => non
}


Message édité par art_dupond le 21-03-2003 à 17:40:11

---------------
oui oui
n°339803
dinbougre8​88
Posté le 21-03-2003 à 17:40:46  profilanswer
 

art_dupond a écrit :

si test ok =>  
{
  session_start();
  session_register("id" );
}
 
if(!session_is_registered("id" ))
{  
  => non
}
 
 


 
ok j'ai essayé ça et ça marche mais ça me pose un pb puisque si (dans un cas extrême) le type saisie dans l'url à la fin "...&id=..." là il va passer

n°339804
art_dupond
je suis neuneu... oui oui !!
Posté le 21-03-2003 à 17:41:14  profilanswer
 

normalement non ca passera pas


---------------
oui oui
n°339814
dinbougre8​88
Posté le 21-03-2003 à 17:45:56  profilanswer
 

art_dupond a écrit :

normalement non ca passera pas


 
ah ok je v essayer
mais ds mon cas ça marche si je mets le SESSION_START() au tout début de mon fichier index.php mais je me demande si c normal de créer une session dès le début sans avoir identifier avant.
 
Mon pb étant que je peux pas metttre le SESSION_START() sur chacun de mes fichiers puisque ds mon index.php je fais mon include dans une partie de mon tableau d'un fichier php. Donc je suis obligé de le mettre en en tete de mon index.php

n°339827
art_dupond
je suis neuneu... oui oui !!
Posté le 21-03-2003 à 17:52:37  profilanswer
 

a.php
¯¯¯¯¯
<?
session_start();
if($ok==1)
{
 $youp = 5;
 session_register("youp" );
}
?>
<a href="b.php">b</a>
 
b.php
¯¯¯¯¯
 
<?
session_start();
if(!session_is_registered("youp" ))  
{  
  Header("Location: c.php" );
}
 
echo $youp;
?>
<a href="destroy.php">destroy session</a>
 
c.php
¯¯¯¯¯
crot
 
destroy.php
¯¯¯¯¯¯¯¯¯¯¯
<?
session_start();
session_destroy();
Header("Location: a.php" );
?>


 
 
j'ai testé avec ca et ca passe pas avec la variable dans l'url.
 
pour initialiser $youp il faut mettre a.php?ok=1
 
mais si tu fais b.php?youp=8 ca marche pas
 
 
enfin je sais pas si c'est clair, mais j'suis un peu pressé là. J'espère que ca pourra quand meme t'aider


---------------
oui oui
n°341162
dinbougre8​88
Posté le 24-03-2003 à 11:05:12  profilanswer
 

art_dupond a écrit :

a.php
¯¯¯¯¯
<?
session_start();
if($ok==1)
{
 $youp = 5;
 session_register("youp" );
}
?>
<a href="b.php">b</a>
 
b.php
¯¯¯¯¯
 
<?
session_start();
if(!session_is_registered("youp" ))  
{  
  Header("Location: c.php" );
}
 
echo $youp;
?>
<a href="destroy.php">destroy session</a>
 
c.php
¯¯¯¯¯
crot
 
destroy.php
¯¯¯¯¯¯¯¯¯¯¯
<?
session_start();
session_destroy();
Header("Location: a.php" );
?>


 
 
j'ai testé avec ca et ca passe pas avec la variable dans l'url.
 
pour initialiser $youp il faut mettre a.php?ok=1
 
mais si tu fais b.php?youp=8 ca marche pas
 
 
enfin je sais pas si c'est clair, mais j'suis un peu pressé là. J'espère que ca pourra quand meme t'aider


 
ok merci je v tester ça de suite :)

n°341673
art_dupond
je suis neuneu... oui oui !!
Posté le 24-03-2003 à 17:46:05  profilanswer
 

apparemment il faut faire comme ca maintenant :
 
 
 

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}
?>
 
 
<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
unset($_SESSION['count']);
?>

 
 


---------------
oui oui
n°341683
dinbougre8​88
Posté le 24-03-2003 à 17:55:58  profilanswer
 

art_dupond a écrit :

apparemment il faut faire comme ca maintenant :
 
 
 

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}
?>
 
 
<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
unset($_SESSION['count']);
?>

 
 
 


 
oui j'ai vu ça et je l'ai essayé mais je me heurte à un problème qui est décrit ici : http://forum.hardware.fr/forum2.ph [...] h=&subcat=


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  J'ai un problème de logique avec les sessions

 

Sujets relatifs
[KSH] problème de substitution de variable[DB2/C] probleme de REXX
MySQL et ODBC..... Gros problème !probleme image de mon site
Probleme avec include ( )[Oracle Forms] Probleme PLSQL
[PHP] probleme avec if else + cookies[MySQL] Problème de conversion INT ------> DATE
Probleme bizarre avec php myadmin[C/C++]Petit problème de malloc
Plus de sujets relatifs à : J'ai un problème de logique avec les sessions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR