Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> setcookie, "sklep"
integer000
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 0
Dołączył: 24.09.2005

Ostrzeżenie: (30%)
XX---


Witam

Mam taki skrypt:
  1. <?php
  2. $newsdata="plik.txt";
  3.  
  4. $table=file($newsdata);
  5.  
  6. $total=count($table);
  7.  
  8. $maxstron=ceil($total/10);
  9.  
  10. if(!isset($_GET['id'])) $_GET['id']=1;
  11.  
  12. $do=$_GET['id']*10;
  13.  
  14. $od=$do-10;
  15.  
  16. if($do>$total) $do=$total;
  17.  
  18. for ($i=$od; $i<$do; $i++)
  19.  
  20. {
  21.  
  22. $data=explode("*|*", $table[$i]);
  23.  
  24. echo "nazwa: $data[0]<br>cena: $data[1]<br><a href="?id=kup">kup produkt</a>";
  25.  
  26. };
  27.  
  28. for($i=1;$i<=$maxstron;$i++) echo "<a href="site.php?id=$i">$i</a> | ";
  29. ?>


i teraz chcę żeby po naciśnićciu linku "kup produkt" tworzyło się ciasteczko zawierające nazwe i cene produktu.
jeśli na przykład ktoś naciśnie "kup produkt" przy pięciu produktach to chcę żeby nazwy i ceny wszystkich produktów zapisały się w cookie.

Następnie jeśli wejdzie się na stronę "koszyk" to chciał bym tam wyświetlić to co wcześniej zostało załadowane do cookie.

Jak takie coś zrobić questionmark.gif
Go to the top of the page
+Quote Post
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


nie sądzisz chyba, ze bedziemy robic za Ciebie? tongue.gif

1. jezeli nie ma cookie - utworz je
2. jezeli wybrano 'Kup produkt' dopisz do wartosci cookie swój produkt
  1. <?php
  2. $_COOKIE['produkty'] .= " $jakis_produkt";
  3. ?>


3. jezeli klient wszedl na strone z koszykiem: uzyj explode" title="Zobacz w manualu php" target="_manual na wartosci ciasteczka i wyswietl produkty


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
integer000
post
Post #3





Grupa: Zarejestrowani
Postów: 129
Pomógł: 0
Dołączył: 24.09.2005

Ostrzeżenie: (30%)
XX---


Więc tak, jeśli cookie będzie się nazywać "produkty" to mogę do niego zapakować tylko jeden produkt questionmark.gif czy jakimś sposobem mogę więcej questionmark.gif a gdzie umieścić cenę tego produktu?

No i jeśli ktoś zamówi więcej to trzeba będzie zrobić więcej cookie o różnych nazwach, czy wszystkie wejdą do jednego questionmark.gif

Ten post edytował integer000 23.06.2006, 21:20:57
Go to the top of the page
+Quote Post
Coyote
post
Post #4





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


mozesz zrobic tablice w cookies chyba ze sie myle
lub dodawac np po "/" zapisujesz sobie w cookies id produku i potem explode


--------------------
Go to the top of the page
+Quote Post
batman
post
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Witam.

Nie da sie do ciacha zapisać tablicy. Można natomiast zrobić coś takiego:
  1. <?php
  2. $aproducts = array('id' => $id, 'sname' => $sname, 'fprice' => $fprice); // itd
  3. $sproducts = base64_encode(serialize($aproducts));
  4.  
  5. setcookie('produkty', $sproducts);
  6. ?>


A jeśli potrzebujesz użyć tablicy zapisanej w ciachu:
  1. <?php
  2. $sproducts = $_COOKIE['produkty'];
  3. $aproducts = unserialize(base64_decode($sproducts));
  4. ?>


Funkcje base64_encode i base64_decode są po to, by w przypadku wystąpienia "dziwnych" znaków, jak np polskie ogonki, nie było problemów z kodowaniem.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
integer000
post
Post #6





Grupa: Zarejestrowani
Postów: 129
Pomógł: 0
Dołączył: 24.09.2005

Ostrzeżenie: (30%)
XX---


A dało by się do cookie wczytać zawartość jakiegoś pliku, a potem ją odczytać tak aby zachowane były wiersze questionmark.gif

np. plik wygląda tak:

qqqqqq*|*wwwwwww*|*eeeeeeee*|*rrrrrrrrrr*|*0
tttttttttttttt*|*yyyyyyyy*|*uuuuuuuuuu*|*iiiiiiiiiiiiiiii*|*0
oooooooooo*|*pppppppp*|*aaaaaaaa*|*sssssss*|*0

ma on 3 wiersze, czyli jak go wczytam do cookie to po odczytaniu będzie on wyglądał taksamo questionmark.gif czy może zrobi się z tego jedna linijka ?

Ten post edytował integer000 24.06.2006, 09:46:45
Go to the top of the page
+Quote Post
Coyote
post
Post #7





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


batman wlasnie nie bylem pewien czy nie mozna smile.gif ale masz racje sprawdzilem i nie mozna smile.gif
inger a nie mozesz sobie tego sprawdzic sam ? raczej zachowa taka budowe ale jestem tego w 100% pewien sprawdz to tak jak ci pisal batman


--------------------
Go to the top of the page
+Quote Post
batman
post
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Na upartego moszesz zrobić tak:

  1. <?php
  2. $rows = file('plik.txt');
  3. foreach ($rows as $row_num => $row) {
  4. $ciacho .= $row."n<br />";
  5. }
  6. setcookie('produkty', $ciacho);
  7. ?>


Po odczytaniu ciacha będziesz miał podzielony wynik na wiersze.

Coś źle wyświetla:
$ciacho .= $row."\n<br />";

Ten post edytował batman 24.06.2006, 10:04:35


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 23:20