![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Napisałem ostatnio funkcję, która ma w zamyśle tworzyć w tabeli o nazwie carts nowy koszyk z podanym cartid i cart, który będzie jakby przegródką w koszyku, czyli zawartość cart w pewnym momencie zostaje przypisana do cartid w tabeli i cart zostaje wyczyszczony, żeby znowu zbierać dane. Powiedzmy, że wstępnie coś mi się udało napisać, jednak mam mały problem. Aktualnie funkcja tworząca cartid i podległe mu cart wygląda tak:
roley()
a na początku pliku gdzie można dodawać produkty (nazwijmy go sklepik.php) jest taka komenda:
No i wszystko ładnie działa, jednak nie w 100% aż tak dobrze. Problemem jest tutaj to, że gdy użytkownik odświeży stronę to jest tworzony nowy koszyk i nowa sesja. Dlatego pomyślałem nad jakimś zabezpieczeniem. No i wpadłem na coś takiego: roley()
a wywołanie:
Tutaj jednak znowu są problemy. Pierwszy, że nie chce mi teraz nic ruszyć. Po prostu biały ekran, a po drugie to rozwiązanie nie jest jednak dobre, bo wierszy z cartid tym samym będzie więcej, bo każdy ma obsługiwać jednego carta dlatego tez zabezpieczenie to, że równe 1 mi nie pasuje. Bardzo proszę was o pomoc, bo tutaj już za bardzo się zakręciłem w analizowaniu i potrzebne mi jakieś świeże spojrzenie. A może w ogóle jakiś inny sposób macie na takie przekazywania. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W pierwszej wersji po prostu dodaj sobie w pierwszej linijce funkcji;
Wtedy po odświeżeniu nie będzie się tworzyć nowy koszyk na podstawie warunku: czy już jest koszyk zapisany w sesji? Wydaje mi się to odpowiedzią na Twoje pytanie. W drugiej wersji wykonujesz zapytanie do SQL które nie ma sensu. Miało byc chyba:
Dodaj też sobie do swojego md5 time(), bo sam rand(0,300) ma ogromną powtarzalność. Ten post edytował Quadina 19.12.2010, 13:35:03 -------------------- Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie chcesz aby sesja ci ginęła użyj także cookies
gdzie 60 to czas życia ciasteczka mierzona w sekundach. Natomiast w drugim dokumencie: Mimo ,że zamkniesz przeglądarkę ,lub odświeżysz, cookies będzie nadal podtrzymywać sesje przez 60 sekund -naturalnie możesz ustawić inny czas życia twojego ciasteczka. Ten post edytował Rid 19.12.2010, 17:54:14 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 19:27 |