|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
bonjour
Je bute sur un problème de session. Je voudrais passer l'identifiant de session par la méthode "POST" (pas que cookie et pas d'altération d'url siouplé) voici donc mon proto (fichier php sur "http://fvpatwds.tuxfamily.org/"): Code :
Le fichier session ce créer bien dans le répertoires "TMP", il est bien créer avec une valeur "compt" mais l'incrémentassions ne marche pas ! Pourtant l'id de la session et bien transmise... là je sèche ! Des idées ??? |
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
J'ai rien compris à ce que tu voulais faire... Pourquoi une sorte de compteur ? Pourquoi tu ne veux ni cookie ni alteration d'URL ? C'est hyper chiant de passer des données par POST, ça te fait utiliser des formulaires à chaque fois...
Et surtout, pourquoi tu utilises session_start() ? Si ce n'est pas configuré spécifiquement ça créé automatiquement un cookie... |
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
Citation:
Citation:
Pour les url... ben dans le projet, à terme, elle devront etre propre... c'est une longue histoire. Citation:
mais ca ne change rien ! |
|||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() |
Ok par ce que en fait par le POST ça risque bien d'être un parcours du combatant... Tu peux peut être faire du URL rewriting, par exemple
http://monsite.com/6165136251351/page.htm le 6165136251351 étant le SID... Bon c'est pas ce qu'on fait de mieux mais pourquoi pas... Si ça te va pas demain je réfléchis à ton problème un peu mieux mais là j'ai la tête dans le ***
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
bonne nuit !
S'attend tes idées avec espoir ! |
|
|
00
|
|
|
#6 | ||||
|
Membre régulier
![]() |
Bon j'ai fait un truc qui peut aller plus ou moins mais il reste des choses à voir par ce que il se peut que ça ne corresponde pas exactement à tes besoins (dans les détails)
Code :
Code :
En fait, quand on appelle la fonction loadPage avec en argument l'URL d'une page, modifie l'action du formulaire et envoi le formulaire. Avec cette technique, il faut que ce formulaire soit toujours présent sur la page. Tu peux le mettre à la fin du code par exemple et le cacher avec un CSS, de toute façon il est vide puisqu'il ne contiens qu'un champ hidden... Donc en fait pour charger une page avec le SID en POST, il faut que ton lien soit Code :
<a href="javascript:loadPage('./index.php')">Mon Lien</a> Les deux autres fonctions peuvent te convenir, mais ça peut aussi te gêner. Le getDomainOfUrl() est une fonction qui analyse une URL pour connaitre le domaine, mais en fait elle est juste utilisée par linksContamination() qui est une fonction dont le rôle est de "contaminer" tout les liens. C'est à dire qu'elle va faire le tour de tout les liens de la page pour faire en sorte qu'ils appellent loadPage() si ce n'est pas déjà le cas (et si ils pointent vers une page qui se trouve dans le même domaine que la page actuelle.) Par exemple, ça va changer En Code :
<a href="javascript:loadPage('./index.php)">Mon Lien</a> Code :
<a href="http://www.google.fr/">Google</a> Donc en fait, soit tu peux écrire directement les liens avec loadPage(), soit tu décides d'utiliser linksContamination(), qui est plus pratique, mais en même temps plus susceptible d'avoir des bugs. Pour finir, si tu fais des formulaires, alors il faut obligatoirement que tu mettes un champ hidden qui contient le SID, sinon ça va tout foirer. Ah et aussi, je sais pas si tu as vu, mais le formulaire caché de la page contient un champ hidden, il faut que tu changes sa valeur avec PHP en fonction du SID de la session. Voila voila... J'espère que j'ai été compréhensible dans mes explications |
||||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : novembre 2003 Messages : 236 ![]() |
Il me semble deja avoir eu un probleme du meme genre.
Et en fait c'etait tout bete. il me semble que isset considerais mon 0 comme etant vide. Donc en fait chaque fois tu repasse dans ton else... A verfier... |
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() |
C'est empty() qui retourne true si la valeur de la variable testée est 0. En fait, ça retourne true si la valeur de la variable est équivalente à null, donc en fait
est équivalent à La fonction empty() étant donc à utiliser avec précautions et modération... Il faut être bien conscient de ce qu'elle fait avant de l'utiliser. Cependant, isset() lui verrifie si une variable est définie, donc même si la variable a une valeur équivalente à null ça marchera. |
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
bon... en sortant le "session_id" de la condition de départ, tout rentre dans l'ordre :
Code :
Merci à tous pour vos idées. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com