[PHP/MYSQL] Sessie kwijt na javascript redirect

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

ik heb een inlogsysteem gemaakt met cookies en sessies. De sessies worden opgeslagen in een mysql-database, dit gaat allemaal goed.
Zodra er een javascript redirect plaatsvind, is de sessie kwijt en moet er opnieuw ingelogd worden.
Ik maak gebruik van PHP 4.3.2.
Hiervoor draaide het inlogsysteem goed onder versie 4.2.2 op een andere server. Ik weet dus niet zeker of het aan de PHP versie ligt of aan de configuratie van de server.

Groet,

Mike

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Hoe redirect je met javascript? Want dit kan op tig manieren.

Acties:
  • 0 Henk 'm!

Verwijderd

Heb je misschien de sessie in de url, en de redirect stuur die dan niet mee? (een url zonder sessie id er achter)

Acties:
  • 0 Henk 'm!

Verwijderd

Dat is inderdaad waarschijnlijk het probleem, met javascript redirects of meta redirects moet je altijd de PHPSESSID meesturen.

Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Verwijderd schreef op 13 augustus 2003 @ 12:10:
Dat is inderdaad waarschijnlijk het probleem, met javascript redirects of meta redirects moet je altijd de PHPSESSID meesturen.
Kan me bijna niet voorstellen bij het opvragen van een scherm moet de code geparsed worden en dus ook je sessie.

Het zou kunnen dat je een back commando geeft dan haalt ie de pagina uit het geheugen waar misschien nog geen sessie op aktief was B)

Misschien dat dit ook zo is bij een location.replace maar dat kunnen de /13 jongens beter beargumenteren :P

Ja man


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

je kunt dit waarschijnlijk oplossen door achter location.replace of window.location dit
PHP:
1
?<?= session_name()."=".session_id(); ?>
te plakken

[ Voor 9% gewijzigd door Spider.007 op 13-08-2003 21:00 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 17-09 16:59

Johnny

ondergewaardeerde internetguru

Als je over gestapt bent op een andere versie van PHP, dan kan het ook met register globals te maken hebben.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • riotrick
  • Registratie: Mei 2002
  • Laatst online: 08-07 18:48
Is een beetje afhankelijk van hoe je script in elkaar zit. Stel je start een sessie, maakt een sessie variabele en direct daarna redirect je met javascript. Dan ben je dus die sessie kwijt. Om dit op te lossen kan je en session_write_close() geven voor de redirect.
Maar goed het ligt aan de context waarin je je redirect gebruikt. Het kan verschillende oorzaken hebben.

Facebook :: Twitter :: PSN


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

De javascript zal altijd _later_ dan de cookie komen, dus er is geen enkele manier waarop javascript invloed op het al-dan-niet aanwezig zijn van een sessie kan en/of mag hebben.

De topicstarter zal eerst eens uiteen moeten zetten hoe hij controleert of een sessie bestaat.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Je kunt in je PHP.ini een aanstal instellingen betreft sessions doen. Kun je misschien v ertellen wat je daarin hebt gewijzigd met de nieuwe versie?
Pagina: 1