![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Przerabiam właśnie swoją stronę z postnuka na własny projekt. Mam pewien problem. W module napisanym przeze mnie do Postnuka używałem zmiennych przekazywanych w tablic $_GET poprzez wywołanie $zmienna a teraz mam z tym wszystkim pewien problem bo nie wszystkie zmienne zachowują się tak jak powinny. Niektórych nie widzi. Pewnie poprawniejsze jest używanie $_GET i dlatego zamieniam wszystkie zmienne na $_GET[zmienna] ale czy ktoś może mi powiedzieć z czego wynika ten kaprys? Czy da się jakoś obejść i zrobić tak, żeby zmienna $_GET[zmienna] = $zmienna - tak na wypadem gdybym zapomniał gdzieś podmienić? -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 0 Dołączył: 17.12.2003 Skąd: Krakół Ostrzeżenie: (0%) ![]() ![]() |
Przypisz sobie na sztywno $zmienna = $_GET['zmienna'], bedziesz to musiał zrobić tylko w innym miejscu a nie zmieniać w innych. Bo podejrzewam, że korzystałeś z register_globals on.
-------------------- escape from the execution is futile.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Dyrektywa register_globals musi być ustawiona na On w pliku php.ini. Jest to jednak naprawdę bardzo mocno i konsekwentnie niezalecane, bo za jakiś czas wogóle zniknie z php.
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, Register Globals są włączone (serwer Home.pl). tylko, ze serwera nie zmienialem a tu takie kwiatki
![]() -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ta druga wersja - pierwsza powoduje NOTICY.
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkie. troche poprawiania mnie czeka
![]() W nawiązaniu do wcześniejszych wypowiedzi: Czy zawsze powinno używać się $_GET['zmienna'] albo $row['nazwapola'] (przy wyciąganiu z bazy), czy też to pisanie z apostrofami dotyczy tylko GET i POST? Dalej. Jak zrobić jeśli nazwa zmiennej sama jest zmienną, np: $row[$zmienna] ? W apostrofach chyba nie podmieni zmiennej na wartość, mam rację? -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
podstawy składni się kłaniają...
$tablica[abc] - ŹLE - abc nie jest w php poprawnym wyrażeniem, chyba, że wcześniej zefiniujesz taką stałą $tablica['abc'] - DOBRZE pod warunkiem, że to tablica acocjacyjna $tablica['$abc'] - ŹLE - o ile oczekujesz że w miejsce indeksu podstawi ci wartość zmiennej $abc $tablica[$abc] - DOBRZE $tablica["$abc"] - DOBRZE pod warunkiem, że to tablica acocjacyjna, wyrażenia w podwójnym cudzysłowie są interpretowane i rzutowane na string - stąd błąd często popełniany przez początkujących, to założenie, że zapisy: $tablica[$abc] i $tablica["$abc"] dadzą ten sam wynik. otóż tak, ale pod warunkiem, że zmienna $abc zawiera tekst. Jeżeli zawiera liczbę, np. $abc = 1, to pierwszy przykład odpowiada zapisowi $tablica[1] a drugi $tablica['1'] co może prowadzić do trudnych do odnalezienia błędów... a co do register_globals, nie musisz mozolnie przeglądać kodu, możesz napisać własny skrypt register_globals.php, i inkludowac tam gdzie to potrzebne:
i na początku każdego skryptu, gdzie to potrzebne:
powodzenia Ten post edytował nevt 25.11.2007, 13:19:40 -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak właśnie myślałem. Chodziło mi tylko o to ze zmienną jako indeksem. Dzięki za wyjaśnienie.
-------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:51 |