Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cookie - ciastka = jak to sie je ? :|
Forum PHP.pl > Forum > Przedszkole
lopik
Chciał bym zrobic 'cookie' dla pola IMIĘ w formularzu, tyle że cos nie bardzo mi to wychodzi, bo dopiero zaczyman roździał dotyczący 'cookie' winksmiley.jpg

Mam formularz z polem : "imie" i "email" i dla imię chce zrobić 'cookie'

  1. <?php
  2. setcookie('cookie', 'jakies imie', time() + 3600);
  3. ?>


No i wiem jak stworzyć 'cookie' tylko teraz problem z jego uzywaniem.

Jaką wartość mam wpisac w 'cookie' zeby 'cookie' dostało watrosc taką jaką dana osoba wpisze w polu IMIĘ w formularzu na swoim komputerze ?

Nie wiem czy to zrozumiale napisalem, ale sam nie wiem jak to napisac ;/
Nilhir
Nie bardzo rozumiem o co Ci chodzi, ale pewnie jak masz formularz
[...]
<input [...] name="imie" [...]

to pozniej w php dajesz
  1. <?php
  2. setcookie('imie', $_POST['imie'], time() + 3600);
  3. ?>
lopik
Hmm no niby tak.

Ale ja myślałem że jak takie coś z 'cookies' zrobie to przy następnym załadowaniu tej strony, będę miał wpisane "Imię" w polu 'imię' formularza, a tak nie jest.

W tym polu w formularzu dałem tak:
  1. <input type="text" name="imie" value="<?php echo $_COOKIE['imie']; ?>" />


Zapewne coś trzeba jeszcze dodać, tylko że ja nie wiem co ;/
erix
  1. <?php
  2. setcookie('cookie', 'jakies imie', time() + 3600);
  3. ?>

  1. <input type="text" name="imie" value="<?php echo $_COOKIE['imie']; ?>" />

Klucz w tablicy $_COOKIE musi być jak nazwa ciastka; w Twoim przypadku 'jakies imie'.
lopik
Zaraz.
Nazwa ciastka to jest pierwsze argument, a wartość to jets drugi.
setcookie
Czy nie tak ?

I ja dałem tak:
  1. <?php
  2. setcookie('imie', '$_POST['imie']', time() + 3600);
  3. ?>
  4.  
  5. // w formularzu
  6.  
  7. <input type="text" name="imie" value="<?php echo $_COOKIE['imie']; ?>" />


I jak wpiszę imie w formularzu, wyślę go to przy następnym załadowaniu strony z tym formularzem, nie ma tego imie co wpisałmem wcześniej w formularzu.
wipo
cookie zacznie działać dopiero po odświerzeniu.
Zrób reload i zobacz
lopik
No to wiem.
Robiłem, reload, przegladarke ponownie i nic, - nie wyswietla ;/

A to:
  1. <?php
  2. setcookie('imie', $_POST['imie'], time() + 3600);
  3. ?>


Ma być napisane przed <html> tak ? (bo tak mam napisane)
wipo
Zobacz - u mnie jakoś śmiga

http://www.abc.kom.pl/test/index.phps
mike
~pik przecież masz błąd w drugiej linii.
Nie za dużo tam apostrofów?
lopik
@mike_mech, nie za dużo, nie wiem, czemu tak wyszło na formu, wpisywałem ok.

Mam identycznie teraz jak podał na stronie wipo i nie działa :/

Możecie sprawdzic:
http://lopik.ovh.org/index.php - cookie jest tylko na stronie index.php napisane.
Hasła nie ma.

//
wipo a czemu ty masz tak:
  1. <?=$_COOKIE['imie'];?>


a nie tak:
  1. <?php echo $_COOKIE['imie']; ?>


questionmark.gif?
wipo
Mówiłem wpisz -> nacisnij guzik -> zrób reload i zobaczysz swoją wartość

TIP:
="ala ma kota";
to to samo co
print "ala ma kota";
i
echo "ala ma kota";

Tak swoją drogą do czego w tym miejscu używasz COOKIE?
lopik
No przecież tak robie!!
I nie ma nic w polu imie !
Sam zobacz: http://lopik.ovh.org/index.php
Wyślij cos, hasla nie wpisuj.

Przeładuj strone, i jak sie pokaże to jest dobrze, a jak nie to nie jest dobrze.

Jak w wartosci ciastka wpisze jakis tekst np; "Jola" , "tomasz" itd. to działa, ale jak wpiszę tablice $_POST['imie'] to nie działa. ! :[
wipo
Pokaż źródło tej strony albo wyślij ją do mnie na rafal@ewipo.pl

Nie odpowiedziałeś na pytanie co chcesz zyskać używając cookie w formularzu
lopik
Chce uzyskac to, że jak ktos pierwsze raz np. wchodzi na stronę, dodaje wpis i wypełnia wszystkie pola, to przy następnym wejściu na strone jak bedzie wypełniał formularz, żeby już pole imie było wypełnione tą wartością co wpisał za pierwszym razem.
wipo
Tak na marginesie się zapytam:
W którym pliku dajesz set_cookie?
lopik
W pliku index.php bo tylko tu można dodac wpis.

Kod strony index.php - formularz
Reszta strony to tylko div'y i info o pliku .txt

  1. <?php 
  2. setcookie('imie', $_POST['imie'], time() +3660);
  3. ?> 
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  8. <meta name="description" content="Linki do stron - katalog"/>
  9. <meta name="keywords" content="linki, stron, katalogu, katalog" />
  10. <link rel="stylesheet" type="text/css" href="style.css" />
  11. <title>linki - katalog</title></head>
  12.  
  13. <body>
  14. <div id="form">
  15. <form method="post" action="dodaj.php">
  16. <fieldset>
  17. <legend>dodaj stronę:</legend>
  18.  
  19. <div>
  20. <label for="imie">haslo :</label>
  21. <input style="background-color:#DC8F8F; color:#FFFFFF" id="imie" type="password" size="30" name="haslo" />
  22. </div>
  23.  
  24. <div>
  25. <label for="imie">adres url :</label>
  26. <input id="imie" type="text" size="30" name="url" />
  27. </div>
  28.  
  29. <div>
  30. <label for="email">opis :</label>
  31. <input id="email" type="text" size="30" name="opis" />
  32. </div>
  33.  
  34. <div>
  35. <label for="email">nick/imie :</label>
  36. <input id="email" type="text" size="30" name="imie" value="<?php echo $_COOKIE['imie'] ;?>" />
  37. </div>
  38.  
  39. <div>
  40. <label for="wyslij" style="color:#F5F5F5">dodaj</label>
  41. <input id="wyslij" class="submit" type="submit" name="submit" value="dodaj!" />
  42. </div>
  43. </fieldset>
  44. </form>
  45. </body>
  46. </html>
Ociu
  1. <?php
  2. print_r($_COOKIE);
  3. ?>

Daj po setcookie i pokaż co daje.
Jescze przed stworzeniem ciastka wsadź echo $_POST['imie'];
wipo
To spójrz dokładnie
Formularz wysyła wpisane wartości do pliku dodaj.php
A z niego prawdopodobnie wraca do index.php

Więc to co chciałeś zrobić tylko w indexie to będzie to zawsze pusta wartość

set_cookie proponuje wstawić w dodaj.php albo zmienić formularz dodania
lopik
Cytat("wipo")
A z niego prawdopodobnie wraca do index.php

Tak wraca do index.php.

To mam zrobić takie ciastko w dodaj.php ?

A może do ciastka dopisać domene czy jakos tak, jest chyba taki argument zeby działao na index.php ?

Ociu, post 12
"Jak w wartosci ciastka wpisze jakis tekst np; "Jola" , "tomasz" itd. to działa, ale jak wpiszę tablice $_POST['imie'] to nie działa. ! :["


//

Ok, spróbuje to do 'dodaj.php' wstawić.
wipo
dodaj.php przekierowuje Ciebie na index.php bez przesyłania wartości w zmiennej $_POST
lopik
Teraz działa smile.gif

setcookie dałem w dodaj.php

A wyświetlanie ciastka dałem w index.php w formularzu w pole imię, i juz działa jak należy.

Serdeczne Dzięki. smile.gif
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.