Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie widze sesji zaraz po przeładowaniu strony
yavaho
post
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Na jednym serwerze nie widze zmiennej sesyjnej zaraz po uzyciu instrukcji header('Location: ').
Tworze zmienna sesyjna, nadaje jej jakas wartosc i od razu przeladowuje strone poleceniem header. Po przeladowaniu strony zmienna sesyjna nie istnieje. Dopiero gdy normalnie przejde do innej strony (naciskajac jakiegos linka) to wtedy dopiero widoczna jest zmienna sesyjna.
Ponizej mam przykład. Zaraz po zalogowaniu i sprawdzeniu hasla przez skrypt nastepuje przeladowanie strony i powinien pojawic sie napis "Zalogowany". A pojawia sie dopiero przy nastepnym wejsciu na ta strone.
  1. <?php
  2.  
  3. if($REQUEST_METHOD == 'POST') {
  4. if(($log==$_POST['login'])and($pass==$_POST['haslo'])){
  5. $_SESSION['admin'] = '1';
  6. header('Location: login.php');
  7. }else{
  8. echo('niepoprawne dane');
  9. }
  10. }
  11.  
  12. if(isset($_SESSION['admin'])) {
  13. echo('Zalogowany');
  14. }
  15.  
  16. ?>
A przy okazji to jak mozna dodać: " echo SID " do linku ktory jest umieszczony w header('Location: ');
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lars
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 15
Dołączył: 29.04.2005
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat(revyag @ 2005-10-15 08:11:04)
Może dodaj SID'a do linka w headerze .
  1. <?php
  2. header('Location: login.php?'.SID);
  3. ?>

a nie zamiast SID:

  1. <?php
  2. $adres='login.php?'.SESSION_NAME().'='.SESSION_ID();
  3. header("Location: $adres");
  4. ?>


(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 02:43