Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Działa header , ale nie działa w warunkach, Działa header , ale nie działa w warunkach oraz przy sprawdzaeniu
danielntk
post 9.11.2011, 13:34:26
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 4.08.2010

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


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,
Go to the top of the page
+Quote Post
nospor
post 9.11.2011, 13:40:57
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sephirus
post 9.11.2011, 13:42:35
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


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().

Ten post edytował Sephirus 9.11.2011, 13:44:00


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
nospor
post 9.11.2011, 13:44:17
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
danielntk
post 9.11.2011, 14:18:29
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 4.08.2010

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


Te 3 kawałki kodu które podałem są kodem pliku index.php smile.gif
Go to the top of the page
+Quote Post
nospor
post 9.11.2011, 14:19:30
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wlacz wyswietlanie wszystkich bledow, tu masz napisane jak:
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 01:08