![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nikt jak na razie nie pomógł mi w rozwiązaniu tego problemu. Skrypt działa na serwerze schron.pl gdzie mam stronę jednak u mnie lokalnie nie działa. Administrator schronu woli nie udostępniać mi configu i poprosił o opisanie problemu jednak do tej pory (kilkanaście dni) nie otrzymałem odpowiedzi więc chyba też nie wie o co chodzi. Problem moim zdaniem jest conajmniej dziwny, ale jeszcze mało wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ... Opiszę rzecz bardzo ogólnie abyście dobrze zrozumieli.
Mam dwie zmienne z czego jedna (zamowienie) jest przechowywana w sesji a druga (id_towaru) to numer wybranego przez klienta towaru z bazy. Wchodzac na strone ze razem z id_towaru czyli np. tak koszyk.php?id_towaru=1 skrypt rozpoznaje ze jest towar i dodaje go do zamowienia. Kiedy wejde ponownie w ten sam sposob z innym numerem towaru, do zamowienia jest dodawane kolejne id. Problem polega na tym ze kiedy wejde bez id czyli bezposrednio koszyk.php to skrypt rozpoznaje ze nie ma id, wykonuje poprawnie warunek ale zamowienie jest puste obojetnie czy cos w nim bylo czy nie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) W uproszczonym (pominąłem niepotrzebne) kodzie wyglada to tak [php:1:6afee237e5]<?php session_start(); if( !isset( $_SESSION['zamowienie'] ) ) $_SESSION['zamowienie'] = '|'; $id_prod = $_GET["id"]; $zamowienie = $_SESSION['zamowienie']; if($id_prod) { $zamowienie.=$id_prod.'|'; $_SESSION['zamowienie'] = $zamowienie; echo "jest id"; print $zamowienie; } else { echo "nie ma id"; print " Zamowienie puste:$zamowienie"; } ?>[/php:1:6afee237e5] Nie mam pojęcia o co chodzi. Kiedy wejdę bez id to wyświetla się "nic" ale zamówienie jest puste, Podkreślam, że skrypt działa na schronie czyli mój konfig jest skopany, ale sesja działa poprawnie, mogę przeglądać inne produkty na innej stronie i wchodząc do koszyka z id_towaru w zamówieniu jest to co było dotychczas. Co może być nie tak?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Tutaj jest mój konfig: http://nottin.org/temp/php.txt |
|
|
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Zanim zaczniesz poprawiać swój błąd, naucz się kozrsytać z tablic. Skuteczniejszym i rozsądniejszym byłoby:[php:1:93543cd46a]<?php
$_SESSION['koszyk'][$_GET['id']]++; ?>[/php:1:93543cd46a]co powioduje, ze dodano jedną sztukę produktu do koszyka. Oczywiście trzeba by sprawdzić, czy taki towar jst oraz czy koszyk nie był pusty (czytaj - jeśli nie było takiego produktu w koszyku, dajemy =1 zamiast ++ ) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście znacząco to upraszcza dodawanie iluś tam produktów tego samego typu, tyle tylko, że gdybym nad tym myśał to bym sobie takie coś wymyslił... 8) Pytanie brzmi co z moim konfigiem? Co ma wspólnego wchodzenie bez id_towaru do zawartości zmiennej zamówienie, która powinna być jaka była (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Sprawdź jak się zachowuje to:[php:1:d08e389d38]<?php
session_start(); $_SESSION['zamowienie'] = isset($_SESSION['zamowienie']) ? $_SESSION['zamowienie'] : '|'; $_SESSION['zamowienie'] .= isset($_GET['id']) ? $_GET['id'].'|' : ''; $msg = isset($_GET['id']) ? 'jest ID' : 'nie ma ID'; echo $msg.'<br />'.$_SESSION['zamowienie']; ?>[/php:1:d08e389d38] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hm, to samo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ... wypisuje "nie ma ID" a "zamowienie" jest puste. Jeśli jest ID to "zamowienie" ma wartosc. Myślę, że nie ma co wymyślać skryptów na obejście tego problemu, ponieważ jak już wspomniałem to powinno działać i działa na serwerze schronu. Nie mam zielonego pojęcia dlaczego u mnie jest inaczej. To jeden z tych durnych problemów, który jest pewnie łatwy do rozwiązania, ale można myślec nad nim tygodniami... jakieś sugestie odnośnie konfiguracji?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:52 |