Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sklep internetowy.
Forum PHP.pl > Forum > PHP
zawada
musze napisac sklep internetowy. juz zrobilem baze i jej wyswietlanie i dodawanie, ale mam problem z koszykiem. nie wiem jak sie do tego zabrac moze jakas mala podpowiedz na jakiej zasadzie dziala standartowy sklepik. myslalem zeby zrobic to na podstawie cookies ale z drugiej strony nie kazdy akceptuje cookies. moze dla akzdego robic odzielny wpis w bazie, ale jak go kasowac kiedy sie przerwie polaczenie z uzytkownikiem, a moze jakos da sie zrobic zmienne, ktore beda widziane w kazdym pliku stronki, ale jak i czy sie da questionmark.gif?

prosze o pomoc
rzseattle
odpowiedz : SESJE

dzieki sesja zmenna '$koszyk' bedzie widziana i zapamietana na kazdej podstronie
zobacz http://forum.php.pl/viewtopic.php?t=5945 (od 4 postu)

najprostszy koszyk jaki moze byc to tablica gdzie kluczami sa id produktow a wartosciami ilosc zamowionych sztuk danego towaru
zawada
no dobra poczytalem, a teraz jeszcze jedno od jakiej wersji php to dziala bo mi wyskakuja bledy po czyms takim:
[php:1:0a85767192]<?php
session_start();
print "Licznik: " . $_SESSION['i'] . "n";
$_SESSION['i']++;
?>[/php:1:0a85767192]
rzseattle
1 zacytuj jaki blad ci wywala
2 od wersji php 4.1.0
3 jesli to ci nie dziala to zamiast $_SESSION wyproboj $HTTP_SESSION_VARS
zawada
Warning: Cannot send session cookie - headers already sent by (output started at c:foxservwwwsklepindex.php:14) in c:foxservwwwsklepindex.php on line 16

Warning: Cannot send session cache limiter - headers already sent (output started at c:foxservwwwsklepindex.php:14) in c:foxservwwwsklepindex.php on line 16

Warning: open(/tmpsess_89df17d0973835bdb3c36a1fe008ebf0, O_RDWR) failed: m (2) in c:foxservwwwsklepindex.php on line 16
Licznik:

oto takie bledy
pewnie dlatego ze mam starego fox serva i jest tam php 4.0.5
lece zaraz sciagnac nowa wersje
moze jeszcze jakis link do tego najprostszego sklepiku bo jak widze kod to od razu lepiej zrozumiec
rzseattle
te pierwsze dwa bledy oznaczaja ze wyslales do przegladarki jakies dane (moze nawet to byc spacja) - przesun session_start(); w miejsce gdzie jeszcze zadne dane nie zostaly wyslane (czyli np zanim uzyles echo lub print)

co do trzeciego bledu to wymiekam - sciagniecie nowszej wersji foxserva nie jest glopim pomyslem laugh.gif
KaMeLeOn
1.
Cytat
Warning: open(/tmpsess_89df17d0973835bdb3c36a1fe008ebf0, O_RDWR) failed: m (2) in c:foxservwwwsklepindex.php on line 16

Ten błąd oznacza źle ustawioną ścieżkę, gdzie mają być tworzone pliki z danymi sesji.
Agument definiujący znajduje się w pliku php.ini.
Domyślam się, że używasz Windowsa... Więc tak:
Cytat
session.save_path = /windows/temp

2.
Zastanawia mnie jakim cudem korzystasz z tablicy $_SESSION, skoro zostały one wprowadzone dopiero w wersji 4.1.0 :?
Jeśli masz wersję 4.0.5 korzystaj z tablicy $_HTTP_SESSION_VARS...
zawada
a teraz male wytlumaczenie dlaczego mam pier****** winde zamiast linuxa:
1. moja mama uzywa worda a w innych edytorach nie potrafi sie poslugiwac (ah starosc nie radosc) mimo iz jej tlumacze ze wszystkie wygladaja prawie tak samo tylko roznia sie nazwa, i ze jeszcze word jest chu****, a ona nato ze nic tu nie bede kompinowal bo nigdy komputer nie dziala kiedy ja cos potrzebuje i zawsze sa jakies ale itp.
2. patrz punkt pierwsz
i coz ja moge questionmark.gif
zawada
jeszcze jak mozna to prosiblbym o linka do jakiegos tutoriala lub cos w tym stylu jak zbudowac prosty sklepik internetowy jezeli takie cos wogole mozna znalesc
KaMeLeOn
Cytat
a teraz male wytlumaczenie dlaczego mam pier****** winde zamiast linuxa:[...]

Nie rozumiem Twojego zdenerwowania :?
Ja używam i Windowsa i Linuksa... Z obu jestem zadowolony.
Grzesiek
Ja kożystam wyłącznie z windowsa i też nie narzekam
spenalzo
Windows XP z powodzeniem może konkurować z linuksem jeżeli chodzi o stabilność pracy. Poza tym trudno znaleźć drugi taki system tak przyjazny początkującemu użytkownikowi.
zawada
po pierwsze nie mam pliku php.ini tylko
php.ini-dist
php.ini-optimized
w tych powyzej zmienialem te sciezki

session.save_path = /windows/temp

probowalem tez z uzyciem duzych liter tak jak jest w windzie czyli
/WINDOWS/Temp
ale nic nadal ten blad wyskakuje, a moze tam trzeba cos takiego
c:/ itd
a tak wogole ten pierwszy slash to jest katalog glowny dysku czy moze katalog w ktorym jest zainstalowane php a moze apache
rzseattle
php.ini masz w katalogu WINDOWS i tam dopiero baw sie w konfiguracje i pisales ze uzywasz foxserv wiec
Kod
session.save_path = C:FoxServsessiondata

powinno wystarczyc
zawada
dobra juz nie wyskakuja zadne bledy ale na php 4.0.5 wykonanie czegos takiego nic nie daje

[php:1:f86712849b]<?php
session_start();
print "Licznik: " . $HTTP_SESSION_VARS['i'] . "n";
$HTTP_SESSION_VARS['i']++;
?>[/php:1:f86712849b]

w czym problem questionmark.gif
rzseattle
nic nie daje to pojecie wzgledne
wiec co sie dzieje questionmark.gifquestionmark.gif
pokazue sie pusta strona czy co?questionmark.gif?
zawada
pojawia sie tylko Licznik: i dalej pusto gdy probowalem na php 4.1.0 tylko z $_SESSION to wszystko dzialalo. i jeszcze jedno pytanko czy wszystkie serwery komercyjne przezucily sie na php 4 czy tylko wybrane questionmark.gif
rzseattle
co prawda nie biegam po platnych servisach i nie sprawdzamwersji php ale jestem ewien ze wszedzie sa poinstalowane nowe wersje (w koncu to servisy komercyjne)
ja mam konto na www.strefa.pl i tam maja wersje 4.2.2.
adwol
Cytat
dobra juz nie wyskakuja zadne bledy ale na php 4.0.5 wykonanie czegos takiego nic nie daje

A odczytałeś tą stronę conajmniej 2 razy? Za pierwszym razem jest pusto, dopiero później pojawiają się liczby.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.