Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Działa header , ale nie działa w warunkach
Forum PHP.pl > Forum > PHP
danielntk
To mój kod jednego pliku index.php zawierający też HTML:



Opis sytuacji:
Kiedy logujemy się do serwisu, wtedy zostaje tworzona sesja oraz zmienna sesji $_SESSION['uzytkownik'] . Dane zostają pobrane z formularza i przesłane do pliku logowanie.php , gdy poprawność danych jest dobra wtedy przenosi nas na stronę moje_konto.php.

Jak widać warunek sprawdzający czy zmienna Sesji ma wartość jest napisany poprawnie. Gdy zmienna Sesji ma wartość przenosi na stronę moje_konto.php , lecz gdy zmienna Sesji jest pusta ma pozostać na tej stronie co jest.

  1. <?php
  2. if(isset($_SESSION['uzytkownik'])){
  3. header('Location: moje_konto.php');
  4. }
  5. ?>


Mało ważny kod HTML co do problemu smile.gif

  1. <link href="style/style.css" type="text/css" rel="stylesheet"/>
  2. <script type="text/javascript" src="skrypt/jquery.js"></script>
  3. <script type="text/javascript" src="skrypt/skrypt.js"></script>
  4. </head>
  5. <div id="header"></div>
  6. <!--Początek strony -->
  7. <div id="strona">
  8.  
  9. <div class="question"></div>
  10. <a href="index.php"><div class="title"></div></a>
  11. <div class="log"><a>Zaloguj</a></div>
  12. <p class="pe1">Załóż konto już teraz</p>
  13. <p class="pe2">Dowiedz się więcej o swoich znajomych, prosząc i odpowiedzi na interesujące pytania.</p>
  14. <div id="rejestracja"></div>
  15. <div id="logwindow">
  16. </div>
  17. </div>
  18.  
  19.  
  20. <br /><br /><br /><br /><br /><br /><br /><br /><br />


Ten kawałek kodu wyświetla mi czy Naprawdę zmienna Sesji ma wartość. Wyświetla mi uzytkownik => daniel , więc zmienna Sesji ma wartość.

  1. <?php
  2. echo '<pre>';print_r($_SESSION);echo("</pre>");
  3. ?>


Pytanie:

Dlaczego nie przenosi zalogowanych użytkowników z strony index.php do strony moje_konto.php ?

Z góry dziękuje za pomoc.


__________________________

Jeżeli to pomoże , to logowanie jest robione za pomocą formularza , lecz wysyłanie danych jest zrobione $.post() czyli jquery , do pliku logowanie.php,
nospor
Cytat
Jeżeli to pomoże , to logowanie jest robione za pomocą formularza , lecz wysyłanie danych jest zrobione $.post() czyli jquery , do pliku logowanie.php,
Znaczy AJAXem logujesz się i dziwisz się że header nie działa?
Identyczny problem:
http://forum.php.pl/index.php?showtopic=18...l=location.href
Przeczytaj temat do końca, bo tam masz rozwiązanie problemu
Sephirus
1. Czy w pliku moje_konto.php masz wystartowaną sesję? (session_start)
2. Zamiast

  1. echo '<pre>';print_r($_SESSION);echo("</pre>");


uzyj

  1. echo '<pre>'.print_r($_SESSION,true).'</pre>';


wink.gif

3. Możesz dać exit; za header().
nospor
@sephirus a co ma start sesji w moje_konto do przenoszenia przed moje konto? Nic.
Co ma zmiana w punkcie drugim dać? Również nic. Oba kody w punkcie drugim dadzą w rezultacie dokładnie ten sam efekt
danielntk
Te 3 kawałki kodu które podałem są kodem pliku index.php smile.gif
nospor
Wlacz wyswietlanie wszystkich bledow, tu masz napisane jak:
Temat: Jak poprawnie zada pytanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.