soska66 Opublikowano 17 Listopada 2004 Zgłoś Opublikowano 17 Listopada 2004 czy istnieje jakaś funkcja języka PHP negująca. Ogólnie rzecz biorąc chcę uzyskać następujący efekt: link, którego wartość po kliknięciu zmieniałaby się (np. włącz, wyłącz). najłatwiej byłoby to zrobić niegując na zmianę zero i jedynkę. ale czy php daje taką możliwość. czy jest inny sposób (krótki) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 18 Listopada 2004 Zgłoś Opublikowano 18 Listopada 2004 Nie rozumiem co masz dokładnie na myśli. Negację w php uzyskuje się na przykład przez wstawienie '!' przed wyrażeniem. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
soska66 Opublikowano 18 Listopada 2004 Zgłoś Opublikowano 18 Listopada 2004 juz wyjasniam chce zeby po kazdorazowym kliknieciu w link, strona odswiezala sie (i wykonywala jakies zadanie query string). ale za kazdym kliknieciem (i odswiezeniem) zmienna x ma przybierac wartosc - raz 0, raz 1. troche lopatologii :) : klikam - 1, klikam - 0, klikam -1, klikam - 0. i tak dalej. :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 18 Listopada 2004 Zgłoś Opublikowano 18 Listopada 2004 Moglbys zapisywac ta zmienna w pliku, ale ze strone uzytkuje zwykle wiecej niz jedna osoba, to trzeba stworzyc sesje z okreslonym czasem wygasniecia i zapisywac zmienna do pliku razem z idnetyfikatorem sesji dla danego uzytkownika. Ewentualnie kazdemu uzytkownikowi do oddzielnego pliku (o nazwie zgodnej s SessionID) a po przerwaniu sesji kasowac plik, ale wtedy i tak mialbys na serwerze w zaleznosci od liczby odwiedzien od 10 do 100 plikow... Uzycie sesji jest tutaj konieczne, aby nie skasowac wartosci uzytkownikowi, ktory nadal jest na stronie. UPDATE: Jest tez prostszy sposob - przesylasz zmienna w query string: domena.pl/index.php?klik=1 a potem odczytujesz ostatni znak (wartosc 1 lub 0) i odpowiednio zmieniasz: na poczatku masz: [php:1:16cee9a6db]$klik = substr(getenv("QUERY_STRING"), 5);[/php:1:16cee9a6db] a przy tworzeniu linku (wewnatrz strony) masz: [php:1:16cee9a6db]if klik == '1' then echo "<a href=index.php?klik=0.."; if klik == '0' then echo "<a href=index.php?klik=1..";[/php:1:16cee9a6db] Nie jestem pewien co do tego porownania, bo dopiero ucze sie PHP i pisalem z glowy.. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 19 Listopada 2004 Zgłoś Opublikowano 19 Listopada 2004 Jest kilka sposobów. Nie ma co pchać się z tym do pliku. Można to rozwiązać dynamicznie używając na przykład java script. Ale jeśli chodzi o php to m/w tak jak podał ULLISSES - można przekazać ją do skryptu poprzez metodę post/get. ULLISSES: ten przykład co podałeś jest dość poważnym błędem. A co gdy będzie url/index.php?klik=1&zmienna1=coś ? [php:1:be48890ebd] <? if ( isset($HTTP_GET_VARS['klik'])) { $klik = intval($HTTP_GET_VARS['klik']); if ($klik == 1) echo "<a href="" . basename($_SERVER['PHP_SELF']) . "?klik=0">cośtam0</a>"; else echo "<a href="" . basename($_SERVER['PHP_SELF']) . "?klik=1">cośtam1</a>"; } [/php:1:be48890ebd] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 19 Listopada 2004 Zgłoś Opublikowano 19 Listopada 2004 Mozna tez uzyc sesji jako mechanizmu przekazywania zmiennych miedzy kolejnymi odslonami.. po to zostaly stworzone :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 19 Listopada 2004 Zgłoś Opublikowano 19 Listopada 2004 Albo użyć ciacha ;] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 19 Listopada 2004 Zgłoś Opublikowano 19 Listopada 2004 ULLISSES: ten przykład co podałeś jest dość poważnym błędem. A co gdy będzie url/index.php?klik=1&zmienna1=coś ? Tzn ja to napisalem bardzo ogolnie, aby wytlumaczyc o co mi chodzi - nie bralem pod uwage pozostalych parametrow, bo w pytaniu nie bylo o tym slowa - chcial przelaczac zmienna to przelacza... Oczywiscie, jak ktos chce wiecej zmiennych przekazywac, to juz trzeba uzyc twojego kodu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 19 Listopada 2004 Zgłoś Opublikowano 19 Listopada 2004 Albo użyć ciacha ;]Ale to jest zalezne od konfiguracji przegladarki klienta, a sesje nie :P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...