Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z PHPSESSID
termin
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


Witam, zrobilem sklep internetowy, cos podobnego jak os commerce czyli, jak ktos wejdzie na strone to po boku ma swoja zawartosc koszyka. Zrobilem tak ze jak ktos wrzuci cos do koszyka, a nie jest zalogowany to w polu bazy danych KLIENT wpisuje jego PHPSESSID. W momecie gdy chce zrobic zakupy musi sie zalogowac. Po udanej autoryzacji w polu klient PHPSESSID zamieniany jest na jego login. Problem polega na tym ze jak sie nie zaloguje, a wrzuci cos do koszyka i sie rozmysli zamykajac przegladarke to w bazie pozostaja smieci z nieaktualnym PHPSESSID. Nie wiem dlaczego ale jak po jakims czasie wejde na strone to widze ze w koszyku mam jakies rzeczy ktorych wczesniej nie wrzucalem do koszyka. Po odswiezeniu strony zawartosc koszyka jest pusta, wiec skad on to bierze. Za wyswietlanie zawartosci odpowiedzialny jest taki skrypt, mysle ze to on moze byc przyczyna:

  1. <?php
  2.  
  3. if ($_SESSION[&#092;"pologin\"]==1){ //sprawdzam czy jest zalogowany
  4. $idklient=$_SESSION[&#092;"login_user\"];
  5. } else {
  6. $idklient=$PHPSESSID;
  7. }
  8.  
  9. $sql=mysql_query(&#092;"SELECT koszyk.*, towary.nazwa_tow, towary.cena FROM koszyk, towary WHERE ko
    s
  10. yk.id_kod=towary.kod AND koszyk.klient='$idklient'\");
  11. $x=mysql_num_rows($sql);
  12. if ($x==0)
  13. {
  14. echo \"<class='trescC'>Twój koszyk jest pusty.</p>\";
  15. }
  16. else
  17. {
  18. // wysietlanie zawartosci koszyka
  19. }
  20.  
  21. ?>


czy ktos moze mi cos doradzic?
Go to the top of the page
+Quote Post
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. function show_basket()
  3. {
  4. if (isSet($_SESSION[&#092;"pologin\"])){
  5. $id = $_SESSION[&#092;"login_user\"];
  6. } else {
  7. die(&#092;"Nie jesteś zalogowany\"); # jesli nie jest zalogowany, to po co pokazywac jego koszyk ?
  8. }
  9.  
  10. $sql=mysql_query(&#092;"SELECT koszyk.*, towary.nazwa_tow, towary.cena FROM koszyk, towary WHERE ko
    s
  11. yk.klient='\".$id.\"'\"); # poberz tylko towary o id = $id
  12.  
  13. $x=mysql_num_rows($sql);
  14.  
  15. if ($x==0)
  16. {
  17. echo \"<class='trescC'>Twój koszyk jest pusty.</p>\";
  18. }
  19. else
  20. {
  21. // wysietlanie zawartosci koszyka
  22. }
  23. }
  24. ?>
Go to the top of the page
+Quote Post
termin
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


No tak tylko w tym momencie, jak ktos wejdzie na strone (nie loguja sie) i wrzuci cos do koszyka, to zawsze bedzie on pusty.

Wydaje mi sie ze cos chyba zle dziala server WWW, bo przecież jak otwieram przegladarke i wchodze na strone to powinienem dostac nowy PHPSESSID i wtedy wybieram z bazy danych wszystkie towary gdzie klient=phpsessid. Teraz to działa tak jakbym dostał PHPSESSID uzytkownika ktory przede mna wrzucal cos do koszyka, bo widze jego towary w koszyku. Dziwne (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Ociu
post
Post #4





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




No właśnie, trzeba by się najpierw zalogować, żeby coś wrzucić ? Tak ja przynajmniej myśle.

edit: a jeśli tak to daj swoje phpsessid:
  1. <?php
  2. md5(uniqe(time().$_SERVER['REMOTE_ADDR']));
  3. ?>


Ten post edytował Ociu 1.08.2005, 14:03:46
Go to the top of the page
+Quote Post
termin
post
Post #5





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


Zauwazylem ze oscommerce przekazuje PHPSESSID za kazdym razem metoda GET, moze to i rozwiazanie, lecz musialbym wszedzie teraz w linkach podostawiac &SESID=$SESID
Go to the top of the page
+Quote Post

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: 24.08.2025 - 21:14