Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc w panelu
Forum PHP.pl > Forum > PHP
szymonk237231
Witajcie, chciałbym uzyskać (dla mnie) ciekawy efekt.
Poniżej przedstawię go na fotkach.

Tak wygląda panel gdy się wejdzie na strone:
Czyli standardowo pokaże Następny mecz.


Jeśli chcę zobaczyć Ostatni rozegrany mecz to klikam w link Ostatni mecz i w tym samym panelu zmienia mi się tylko zawartość:


I pytanie do was: jak takie coś uzyskac?
Majkelo23
Możesz to zrobić na wiele sposobów. Pierwsze co mi przyszło do głowy to ciasteczka - cookies. Czyli jeśli ciasteczko nie istnieje to pokazujesz standardowo następny mecz, a jeśli istnieje to ostatni mecz:

  1. if ( isset($_COOKIE['pokaz']) )
  2. {
  3. $sql = "SELECT * FROM `mecze` ORDER BY time DESC LIMIT 1";
  4. $result = mysql_query($sql)
  5. or die("blad");
  6. // cos tam dalej, wyswietlasz to sobie
  7. }
  8. else if ( !isset($_COOKIE['pokaz']) )
  9. {
  10. // jeśli ciasteczko nie istnieje to coś tam
  11. }


Pozostaje jeszcze mechanizm tworzący ciasteczko, czyli jeśli kliknie w link powiedzmy http://twojastrona.pl/index.php?action=show to utworzy mu ciacho, aby pokazać jakieś tam mecze:

  1. if ( isset($_GET['action']) && htmlspecialchars($_GET['action']) == 'show' )
  2. {
  3. setcookie('pokaz', time(), time() + 3600);
  4. }


Chyba rozumiesz?
szymonk237231
Cytat(Majkelo23 @ 24.03.2012, 10:51:30 ) *
Możesz to zrobić na wiele sposobów. Pierwsze co mi przyszło do głowy to ciasteczka - cookies. Czyli jeśli ciasteczko nie istnieje to pokazujesz standardowo następny mecz, a jeśli istnieje to ostatni mecz:

  1. if ( isset($_COOKIE['pokaz']) )
  2. {
  3. $sql = "SELECT * FROM `mecze` ORDER BY time DESC LIMIT 1";
  4. $result = mysql_query($sql)
  5. or die("blad");
  6. // cos tam dalej, wyswietlasz to sobie
  7. }
  8. else if ( !isset($_COOKIE['pokaz']) )
  9. {
  10. // jeśli ciasteczko nie istnieje to coś tam
  11. }


Pozostaje jeszcze mechanizm tworzący ciasteczko, czyli jeśli kliknie w link powiedzmy http://twojastrona.pl/index.php?action=show to utworzy mu ciacho, aby pokazać jakieś tam mecze:

  1. if ( isset($_GET['action']) && htmlspecialchars($_GET['action']) == 'show' )
  2. {
  3. setcookie('pokaz', time(), time() + 3600);
  4. }


Chyba rozumiesz?


No mniej więcej rozumiem.
Ale to będzie na takiej zasadzie, że będzie mnie przenosiło do inncyh stron?
A jak zastosować do tego java script? Bo tam chyba jest javascript ;>
Może się mylę, nie wiem
Majkelo23
Może nie tyle przenosiło co odświeżało stronę. JS, AJAX itd. nie znam, więc Ci nie pomogę.
szymonk237231
Dobra, dzięki chociaż za to.
Już testuję wink.gif

Cytat(Majkelo23 @ 24.03.2012, 16:52:53 ) *
Może nie tyle przenosiło co odświeżało stronę. JS, AJAX itd. nie znam, więc Ci nie pomogę.

A pomóż mi w jednym
Bo zrobiłem takie cuś:
  1. <a href="index.php?action=show">Pokaz mecz</a><br>
  2. <?php
  3.  
  4. if ( isset($_COOKIE['pokaz']) )
  5. {
  6. $sql = "SELECT * FROM `test` ORDER BY id DESC LIMIT 1";
  7. $result = mysql_query($sql)
  8. or die("blad");
  9. while($r = mysql_fetch_assoc($result)) {
  10. echo $r['imie'];
  11. }
  12. }
  13. else if ( !isset($_COOKIE['pokaz']) )
  14. {
  15. echo "Nie ma meczu w bazie";
  16. }
  17.  
  18.  
  19. if ( isset($_GET['action']) && htmlspecialchars($_GET['action']) == 'show' )
  20. {
  21. setcookie('pokaz', time(), time() + 3600);
  22. }
  23.  
  24. ?>


i po kliknieciu w link wyskakuje mi :
  1. Warning: Cannot modify header information - headers already sent by (output started at F:\WebServ\httpd\next\index.php:2) in F:\WebServ\httpd\next\index.php on line 21


Co robie nie tak?
wookieb
1) Niepoprawna nazwa tematu
2) Żebractwa się zachciało?
3) Problem z headersami był tysiące razy.
Zamykam
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.