Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z autentycznoscia sesji
piotrekk
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 2
Dołączył: 13.11.2006

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


Witam,
mam następujący problem.
Tworze witrynę do której przypisałem sesje. Funkcja zapisująca login do sesji wygląda następująco:
  1. <?php
  2. function registerLogin($login)
  3. {
  4.  // Rejestracja loginUsername w celu pokazania, ze uzytkownik jest zalogowany
  5.  $_SESSION["login"] = $login;
  6.  
  7.  // Rejestracja adresu IP dla uruchomionej sesji
  8. $_SESSION["loginIP"] = $_SERVER["REMOTE_ADDR"];
  9. }
  10. ?>


Wykorzystuje ją przy logowaniu. Następnie po zalogowaniu przenoszony jestem do głównego miejsca, gdzie moge dokonywać zakupów. Klikając na koszyk wykonowany jest skryp szybkiego zamowienia, gdzie sesja sprawdzana jest w następujący sposób.

  1. <?php
  2. function autentycznoscSesji()
  3. {
  4. if(isset($_SESSION["login"]))
  5. {
  6. unregisterLogin();
  7. header("Location : ../panelLogowanie.php");
  8. }
  9. // sprawdza czy wywolanie pochodzi z innego adresu ip niz na poczatku
  10. elseif($_SESSION["loginIP"] != $_SERVER["REMOTE_ADDR"])
  11. {
  12. // WYWOLANIE POCHODZI Z INNEGO KOMPUTERA NIZ KOMPUTER UZYTY WCZESNIEJ, MOZLIWE ZE 
    KTOS CHCE PRZECHWYCIC SESJE
  13. //isset($_SESSION["loginIP"]) || 
  14.  
  15. unregisterLogin();
  16. header("Location: ../panelLogowanie.php");
  17. }
  18.  
  19.  
  20. }
  21. ?>

Gdy nie jestem zalogowany wszystko działa poprawnie i przenoszony jestem do panelu logowania, jednak gdy sie zaloguje funkcja nie działa poprawnie i nie wykonywana jest dalsza cześć skryptu.
Proszę o pomoc, jeżeli potrzebne są jakieś dodatkowe informacje to oczywiście je napisze.

dzięki !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piotrekk
post
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 2
Dołączył: 13.11.2006

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


Hej, po zalogowaniu wszystko dziala, jednak zanim sie zaloguje i klikam na koszyk, żeby sprawdzic jak zareaguje nie przenosi do paneluLogowania.php tylko pokazuje bialy ekran.

czyli sytuacja jak wczesniej. Strona wsi na serwera AZ.PL


w ogole to zauwazylem ze nawet jak nie jestem zalogowany to nie stara sie przejsc do panelu logowania tylko pozostaje w szybkim zamowieniu.

Ostatecznie zrobiłem nawet tak:
  1. <?
  2. //1. sprawdzanie czy uzytkownik jest zareejstrowany ( spr. sesji)
  3. require_once "include/function.php";
  4. require_once "include/mysql.inc";
  5.  
  6.  
  7. if (!isset($_SESSION["login"]) || !isset($_SESSION["loginIP"]) || ($_SESSION["loginIP"] != $_SERVER["REMOTE_ADDR"])) {
  8. unregisterLogin();
  9. header("Location : panelLogowanie.php");
  10. die;
  11. }
  12. else{
  13.  
  14. /*if (!autentycznoscSesji())
  15. {
  16.   unregisterLogin();
  17.   header("Location : panelLogowanie.php");
  18.   die;
  19. }*/
  20.  
  21. $format = strip_tags($_GET['format']);
  22. $ilosc = strip_tags($_GET['ilosc']);
  23. $kolor = strip_tags($_GET['kolor']);
  24. $cena = strip_tags($_GET['cena']);
  25. $login = $_SESSION['login'];
  26. if (!($connection = @mysql_connect($host, $dbLogin, $haslo)) || !mysql_select_db($baza, $connection)) 
  27. {
  28. die("Wystapił problem z połaczeniem z bazą danych, prosimy powiadomić o tym właś
    ciciela serwisun"
    );
  29. }
  30. $sql = mysql_query("SET names utf8", $connection);
  31. $query = "SELECT nazwa, adres, kod, nip, miasto FROM users WHERE login = '$login'";
  32.  
  33. $result = mysql_query($query, $connection);
  34.  
  35. $row = mysql_fetch_array($result);
  36.  
  37. $nazwa = $row["nazwa"];
  38. $adres = $row["adres"];
  39. $kod = $row["kod"];
  40. $nip = $row["nip"];
  41. $miasto = $row["miasto"];
  42. // nazwa sesji produktów
  43. $_SESSION["produkt"]["format"] = $format;
  44. $_SESSION["produkt"]["ilosc"] = $ilosc;
  45. $_SESSION["produkt"]["kolor"] = $kolor;
  46. $_SESSION["produkt"]["cena"] = $cena;
  47.  
  48. //sesja danych zamawiajacego
  49. $_SESSION["dane"]["nazwa"] = $nazwa;
  50. $_SESSION["dane"]["adres"] = $adres;
  51. $_SESSION["dane"]["kod"] = $kod;
  52. $_SESSION["dane"]["nip"] = $nip;
  53. $_SESSION["dane"]["miasto"] = $miasto;
  54.  
  55. print "tekst html";}
  56. ?>


i nadal nic nie dziala wyglada na to jakby w ogole nie dochodzilo do sprawdzenia.
nie wiem czy to cos ma w tej sprawie ale session_start() wykonuje juz w pliku ulotki.php, czyli pierwszym po
wejsciu na stronie.

Ten post edytował piotrekk 6.08.2007, 10:05:15
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: 4.10.2025 - 12:06