Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baner co 24h
Forum PHP.pl > Forum > Przedszkole
DannyM
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
crash
  1. <?php
  2. setcookie( 'ciacho', '1', time() + 86400 );
  3. // ...
  4. if( empty( $_COOKIE[ 'ciacho' ] ) )
  5. {
  6.  // wyświetlenie banera...
  7. }
  8. ?>
DannyM
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
Jim
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.
DannyM
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
Ociu
  1. <?php
  2. setcookie( $cookie, '1', time() + $set);
  3. # z formularza:
  4. setcookie( $cookie, '1', time() + $_POST['set']);
  5. ?>
DannyM
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
aleksander
print_r( $_GET ); i powiedz czy jest tam komórka 'czas'
DannyM
Niestety nie sad.gif
Jim
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.
DannyM
Moze inaczej.
Jak moge to napisac inaczej nie uzywajac funkcji $_GET tylko samego $czas ?
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.