Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Baner co 24h
DannyM
post
Post #1





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Mam sobie programik ktory wyswietla baner.
Jak zrobic aby odwiedzajacy nie byl nekany co chwila tym banerem tylko co 24h.
Jak to zrobic uzywajac ciasteczek - nie robilem jeszcze nic z cookis wiec jestem calkiem zielony sad.gif
Go to the top of the page
+Quote Post
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. setcookie( 'ciacho', '1', time() + 86400 );
  3. // ...
  4. if( empty( $_COOKIE[ 'ciacho' ] ) )
  5. {
  6.  // wyświetlenie banera...
  7. }
  8. ?>


--------------------
Go to the top of the page
+Quote Post
DannyM
post
Post #3





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


o.k dziekuje.

Potesuje i dam znac jak wyszlo smile.gif

Wszystko ladnie smiga. Mam jednak jeszcze pytanie.
Haj zastapic czas warunkiem wpisanym w formularzu. Wiem, ze moze to lamerskie pytanie ale nie mam pojecia.

mam tak

setcookie( '$cookie', '1', time() + '$set');

ale nie dziala sad.gif

Ten post edytował DannyM 9.08.2005, 09:13:33
Go to the top of the page
+Quote Post
Jim
post
Post #4





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 27.07.2005

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


Spróbuj tak:
  1. <?php
  2. setcookie( '$cookie', '1', time() + $_GET['set']);
  3. ?>

Pamiętaj że ta zmienna z formularza musi być wyrażona w milisekundach.
Go to the top of the page
+Quote Post
DannyM
post
Post #5





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


No niestety:

Notice: Undefined index: set in

Ale zmienna jest przekazana bo widze ja jak zrobie

echo $set;

Kurcze nie wiem juz sam sad.gif
Go to the top of the page
+Quote Post
Ociu
post
Post #6





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. setcookie( $cookie, '1', time() + $set);
  3. # z formularza:
  4. setcookie( $cookie, '1', time() + $_POST['set']);
  5. ?>


Ten post edytował Ociu 9.08.2005, 15:56:26
Go to the top of the page
+Quote Post
DannyM
post
Post #7





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


No niestety. Aktualnie program wyglada tak:

  1. <?php
  2. echo $czas ;
  3. echo $cookiename;
  4.  
  5. setcookie( '$cookiename', '1', time() + $_GET['czas']);
  6. if( empty( $_COOKIE[ '$cookiename' ] ) )
  7. {
  8. echo "dowona akcja";
  9. }
  10. ?>


Wynikiem jest:

3600ciacho

Notice: Undefined index: czas in baner.php on line 62

Linia 62: setcookie( '$cookiename', '1', time() + $_GET['czas']);

Co dziwne zmienne sa przekazane bo wyswietla je funkcja echo sadsmiley02.gif


Przy setcookie( $cookiename, '1', time() + $czas); co zaproponowal kolega Ociu bledu nie ma ale ciacho nie dziala

Ten post edytował DannyM 9.08.2005, 16:19:39
Go to the top of the page
+Quote Post
aleksander
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


print_r( $_GET ); i powiedz czy jest tam komórka 'czas'
Go to the top of the page
+Quote Post
DannyM
post
Post #9





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Niestety nie sad.gif
Go to the top of the page
+Quote Post
Jim
post
Post #10





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 27.07.2005

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


jeśli w formularzu masz ' Metod = "POST" ' używaj tablicy
$_POST['nazwa_obiektu_formularza']

jeśli w formularzu masz ' Metod = "GET" ' używaj tablicy
$_GET['nazwa_obiektu_formularza']

  1. <?php
  2. echo $czas; //wyswietlasz to
  3. echo $cookiename;
  4.  
  5. setcookie( '$cookiename', '1', time() + $_GET['czas']); //a do ciastek wysylasz cos innego (?!)
  6. if( empty( $_COOKIE[ '$cookiename' ] ) )
  7. {
  8. echo "dowona akcja";
  9. }
  10. ?>


sproboj tak (ew zmien na _POST):

  1. <?php
  2. echo $_GET['czas'];
  3. echo $cookiename;
  4.  
  5. setcookie( $cookiename, 1, time() + $_GET['czas']); //bez '' 
  6.  
  7. if( empty( $_COOKIE[ '$cookiename' ] ) )
  8. {
  9. echo "dowona akcja";
  10. }
  11. ?>


i musi działać, jak nie to sprawdz czy w formularzu jest wszystko ok.
Go to the top of the page
+Quote Post
DannyM
post
Post #11





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Moze inaczej.
Jak moge to napisac inaczej nie uzywajac funkcji $_GET tylko samego $czas ?
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 - 04:10