Tymon Opublikowano 21 Czerwca 2005 Udostępnij Opublikowano 21 Czerwca 2005 Oto przykładowy skrypt PHP ilustrujący mój problem : <?php if ($krok=='') { echo("<a href='index.php?krok=pierwszy>Pierwszy</a>'"); } if ($krok=='pierwszy') { echo("<a href='index.php?krok=drugi>Drugi</a>'"); } if ($krok=='drugi') { echo("Koniec"); } ?> I teraz. Dlaczego on mi tutaj stoi cały czas na tym pierwszym kroku (if ($krok=='')) chociaż wartosć $krok powinna się zmienić. Na www.soldat.gmclan.org właśnie mam z tym problem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 21 Czerwca 2005 Filar Społeczności Udostępnij Opublikowano 21 Czerwca 2005 Niech zgadne, ta zmienna przesylasz w linku tak? Jesli tak to: Zapraszam do lektury: http://pl.php.net/manual/pl/security.globals.php A potem tu (po polsku): http://pl.php.net/manual/pl/language.varia....predefined.php Szybki cytacik: W PHP 4.2.0 i późniejszych, domyślne ustawienie, które udostępniało predefiniowane zmienne w zasięgu globalnym, zostało zmienione. Zmienne nadchodzące metodą GET i POST oraz zmienne serwera domyślnie nie są już umieszczane w zasięgu globalnym. Zamiast tego umieszczane są w odpowiednich tablicach superglobalnych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Czerwca 2005 Autor Udostępnij Opublikowano 21 Czerwca 2005 Oto mi chodziło thx. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 21 Czerwca 2005 Udostępnij Opublikowano 21 Czerwca 2005 Tak wejdę na offtopic. Dlaczego Tymon nie dałeś laya na tą stronę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Czerwca 2005 Autor Udostępnij Opublikowano 21 Czerwca 2005 Mam przyzwyczajenie że najpierw robie kod a potem daje laya ;) LOL, ja niewiedziałem że to takie łatwe xD $akcja=$_GET['akcja']; I po sprawie :lol2: EDIT No to jedziemy jeszcze raz z tymi skryptami :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mcgiwer Opublikowano 28 Listopada 2008 Udostępnij Opublikowano 28 Listopada 2008 Mam takie pytanie... czy ktoś może zna taki zapis warunku if: if($zmienna == "wartosc") ? kod1 : kod2; ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 28 Listopada 2008 Filar Społeczności Udostępnij Opublikowano 28 Listopada 2008 W jakim sensie? Bo coś poplątałeś, ale o tym później. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 28 Listopada 2008 Udostępnij Opublikowano 28 Listopada 2008 Tymon, takich rzeczy nie wiesz :P ? Ja bym na Twoim miejscu dał echo("$krok"), i by wyszło, w czym problem. Mcgiver: Nie wiem, o co Ci chodzi :P Ale przede wszystkim to piszemy "==", a nie "=" :) Edit: Lol, to to temat sprzed 3 lat jest :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mcgiwer Opublikowano 28 Listopada 2008 Udostępnij Opublikowano 28 Listopada 2008 Oprócz standardowego zapisu: if($zmienna == "wartosc") { kod1; } else { kod2; } można zapisać to prościej i w jednej linijce: if($zmienna == "wartosc") ? kod1 : kod2; to samo wyjdzie, a prostszy zapis :) Dowód działania znajduje się na stronie dokumentacji PHP sorki za błąd, ale mi się niektóre klawisze zacinają. Poprawiono :) a propo: * zmiennych predefiniowanych: zamiast $_GET i $_POST polecam użyć zmiennej $_REQUEST ze względu na to że sama rozpoznaje czy zapytanie poszło za pomocą $_GET czy $_POST. * echo (odpowiednik print): polecenie echo nie wymaga nawiasów, jak to podał jeden z userów na tym temacie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blackmaul Opublikowano 28 Listopada 2008 Udostępnij Opublikowano 28 Listopada 2008 Tymon, takich rzeczy nie wiesz :P ? Ja bym na Twoim miejscu dał echo("$krok"), i by wyszło, w czym problem. Spóźniłeś się niestety 3 i pół roku z pomocą. Oprócz standardowego zapisu: (...) można zapisać to prościej i w jednej linijce: to samo wyjdzie, a prostszy zapis :) Dowód działania znajduje się na stronie dokumentacji PHP sorki za błąd, ale mi się niektóre klawisze zacinają. Poprawiono :) a propo: * zmiennych predefiniowanych: zamiast $_GET i $_POST polecam użyć zmiennej $_REQUEST ze względu na to że sama rozpoznaje czy zapytanie poszło za pomocą $_GET czy $_POST. * echo (odpowiednik print): polecenie echo nie wymaga nawiasów, jak to podał jeden z userów na tym temacie :) A ty, tym postem i powyższym chciałeś się pochwalić, że potrafisz czytać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 28 Listopada 2008 Administratorzy Udostępnij Opublikowano 28 Listopada 2008 Mam takie pytanie... czy ktoś może zna taki zapis warunku if: if($zmienna == "wartosc") ? kod1 : kod2; ?? chodzi chyba raczej o $zmienna = (warunek) ? wartosc1 : wartosc2; //lub echo (warunek) ? wartosc1 : wartosc2; bo Twój kod wywali błąd :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 28 Listopada 2008 Udostępnij Opublikowano 28 Listopada 2008 #UP Tak na pewno mu o to chodzi. Btw. to się nazywa bodajże po prostu skrócona instrukcja warunkowa :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mcgiwer Opublikowano 29 Listopada 2008 Udostępnij Opublikowano 29 Listopada 2008 Spóźniłeś się niestety 3 i pół roku z pomocą. Dopiero się zarejestrowałem, a poza tym nie widzę żadnej adnotacji że pomoc jest zakończona... A ty, tym postem i powyższym chciałeś się pochwalić, że potrafisz czytać? Za taki komentarz to powinieneś dostać warna :P #UP Tak na pewno mu o to chodzi. Btw. to się nazywa bodajże po prostu skrócona instrukcja warunkowa :) Tak się taka instrukcja nazywa :) chodzi chyba raczej o $zmienna = (warunek) ? wartosc1 : wartosc2; //lub echo (warunek) ? wartosc1 : wartosc2; bo Twój kod wywali błąd :) nie kolego. Moja składnia jest poprawna. W miejsce wartosc1 wstawiasz polecenie, które ma się wykonać kiedy warunek jest spełniony, a w miejsce wartosc2 - polecenie które ma się wykonać kiedy nie jest... chociaż podawany przez ciebie zapis: $zmienna = (warunek) ? wartosc1 : wartosc2; też jest stosowany :) Skrócona adnotacja warunkowa (bo tak się to poprawnie nazywa) stosowana jest wyłącznie do zapytań logicznych, w których w wyniku spełnienia zależności (lub nie) jest wykonywane odwołanie zazwyczaj do jednej funkcji (w przeciwieństwie do standardowej notacji if...else, gdzie można stosować wiele poleceń) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Listopada 2008 Administratorzy Udostępnij Opublikowano 29 Listopada 2008 Nie zgadzam sie po raz kolejny. Wpisz ten "swój" kod do pliku PHP i sprawdź czy działa. Od razu wywala błąd, że po warunku if pojawia się niespodziewany znak ?. Wiesz dla czego? Bo znak ? oznacza właśnie IF, a : oznacza ELSE. To znaczy, że oba zapisy poniżej są równoważne: $zmienna = (warunek) ? wartosc1 : wartosc2; if (warunek) $zmienna=wartosc1; else $zmienna=wartosc2; I pamiętaj, zdania administratora się nie podważa :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 29 Listopada 2008 Udostępnij Opublikowano 29 Listopada 2008 #up Pod warunkiem że nie jest kompletnym idiotą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 29 Listopada 2008 Udostępnij Opublikowano 29 Listopada 2008 O nie! Nie mów tak Kofel! ;[[[[ Teraz będzie groza. Przyznaj gnyskowi rację, proszę! :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mcgiwer Opublikowano 29 Listopada 2008 Udostępnij Opublikowano 29 Listopada 2008 Nie zgadzam sie po raz kolejny. Wpisz ten "swój" kod do pliku PHP i sprawdź czy działa. Od razu wywala błąd, że po warunku if pojawia się niespodziewany znak ?. Ja tylko przepisałem z gotowego skryptu, i wiesz co?? jakoś tam działa :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Listopada 2008 Administratorzy Udostępnij Opublikowano 29 Listopada 2008 Niemożliwe. Pokaż mi ten skrypt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 29 Listopada 2008 Udostępnij Opublikowano 29 Listopada 2008 Mcgiwer, może działać, pod warunkiem jak usuniesz "if" :S Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się