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%)
-----


Sprawa wygląda nastepująco

jest plik ulotka.php po kliknieciu w koszyk przechodzi do szybkieZamowienieUlotka.php, gdzie wywolywany jest kod:
  1. <?
  2. //1. sprawdzanie czy uzytkownik jest zareejstrowany ( spr. sesji)
  3. require_once "include/function.php";
  4. require_once "include/mysql.inc";
  5.  
  6. autentycznoscSesji();
  7. ?>

(oczywiscie to jest istotny fragment)

funkcja autentycznoscSesji:
  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. if(!isset($_SESSION["loginIP"]) || ($_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. ?>

(przed chwila troche ja zminilem wlasnie)
a to dwie pozostale funkcje:
[/php]function registerLogin($login)
{
// Rejestracja loginUsername w celu pokazania, ze uzytkownik jest zalogowany
$_SESSION["login"] = $login;

// Rejestracja adresu IP dla uruchomionej sesji
$_SESSION["loginIP"] = $_SERVER["REMOTE_ADDR"];
}
function unregisterLogin()
{
// Sprawdzenie, czy uytkownik nie jest zalogowany.
if (isset($_SESSION["login"]))
unset($_SESSION["login"]);

if (isset($_SESSION["loginIP"]))
unset($_SESSION["loginIP"]);
}
  1.  
  2. Chyba wszystko pzd
  3.  
  4. Na wszelki wypadek wrzuce jeszcze calosc szybkiegoZamowieniaUlotki.php
  5. mozt to cos da:
  6. [php]<?
  7. //1. sprawdzanie czy uzytkownik jest zareejstrowany ( spr. sesji)
  8. require_once "include/function.php";
  9. require_once "include/mysql.inc";
  10.  
  11. autentycznoscSesji();
  12.  
  13. $format = strip_tags($_GET['format']);
  14. $ilosc = strip_tags($_GET['ilosc']);
  15. $kolor = strip_tags($_GET['kolor']);
  16. $cena = strip_tags($_GET['cena']);
  17. $login = $_SESSION['login'];
  18. if (!($connection = @mysql_connect($host, $dbLogin, $haslo)) || !mysql_select_db($baza, $connection)) 
  19. {
  20. die("Wystapił problem z połaczeniem z bazą danych, prosimy powiadomić o tym właś
    ciciela serwisun"
    );
  21. }
  22. $sql = mysql_query("SET names utf8", $connection);
  23. $query = "SELECT nazwa, adres, kod, nip, miasto FROM users WHERE login = '$login'";
  24.  
  25. $result = mysql_query($query, $connection);
  26.  
  27. $row = mysql_fetch_array($result);
  28.  
  29. $nazwa = $row["nazwa"];
  30. $adres = $row["adres"];
  31. $kod = $row["kod"];
  32. $nip = $row["nip"];
  33. $miasto = $row["miasto"];
  34. // nazwa sesji produktów
  35. $_SESSION["produkt"]["format"] = $format;
  36. $_SESSION["produkt"]["ilosc"] = $ilosc;
  37. $_SESSION["produkt"]["kolor"] = $kolor;
  38. $_SESSION["produkt"]["cena"] = $cena;
  39.  
  40. //sesja danych zamawiajacego
  41. $_SESSION["dane"]["nazwa"] = $nazwa;
  42. $_SESSION["dane"]["adres"] = $adres;
  43. $_SESSION["dane"]["kod"] = $kod;
  44. $_SESSION["dane"]["nip"] = $nip;
  45. $_SESSION["dane"]["miasto"] = $miasto;
  46.  
  47. print "Tu jest Html";
  48. ?>
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 - 13:30