Autor | Zpráva | ||
---|---|---|---|
Ondřej Strnad Profil |
#1 · Zasláno: 21. 2. 2010, 21:17:35
Zdravím vespolek!
Jako začátečník s PHP bych měl dotaz stran mého serveru. Nefungují mi totiž proměnné v těch případech, když je vpíši do HTML formuláře a bláhově čekám, že mi z toho na druhé straně něco vypadne. Ať se jedná o jakoukoli funkci. Napsal jsem snad nejlehčí funkci s proměnnou. Na serveru zvenku to funguje skvěle, hleďte! Použil jsem tento PHP kód: <?php print "$zk"; ?> Na stránce formuláře pak toto: <html> <head> <title>Formulář</title> </head> <body> <form method="GET" action="neco1.php"> <input type="text" name="zk"> <input type="submit" value="Odeslat"></form> </body> </html> Jak říkám, na serveru zvenku (nezlobte se za můj výraz) mi to funguje skvěle, zatímco na mém PC to nefunguje vůbec. Poté, co odešlu formulář, objeví se jenom čistá stránka, dokonce ani ne chyba. A zejména podotýkám, že PHP mi na mém serveru fungují také bezvadně (což dokazuje, že mám zapnutý server), jediný problém s proměnnou je, že nefunguje u mne při použití formulářů. Velice děkuji! |
||
GeneralDv Profil |
#2 · Zasláno: 21. 2. 2010, 21:19:39 · Upravil/a: GeneralDv
Vidim že to odesíláš přes GET, pročti si práci s formuláři na www.linuxsoft.cz/article.php?id_article=269 ;-)
<?php echo $_GET["zk"]; ?> |
||
Radek9 Profil |
#3 · Zasláno: 21. 2. 2010, 21:19:53 · Upravil/a: Radek9
Proměnná v uvozovkách? Proč?
Být vámi, prošel bych si superglobální proměnné. <?php print $_GET["zk"]; ?> <html> <head> <title>Formulář</title> </head> <body> <form method="get" action="neco1.php"> <input type="text" name="zk"> <input type="submit" value="Odeslat"></form> </body> </html> Edit: A jo, GET :D |
||
Ondřej Strnad Profil |
#4 · Zasláno: 21. 2. 2010, 21:31:01
Aha, ale stále mi z toho nevyplývá, proč to funguje venku a u mne ne?
|
||
Radek9 Profil |
#5 · Zasláno: 21. 2. 2010, 21:37:57 · Upravil/a: Radek9
Ondřej Strnad:
A máte u Vás na počítači nainstalovaný nějaký server? Pokud ne, doporučil bych vám Wamp či také XAMPP. |
||
tiso Profil |
#6 · Zasláno: 21. 2. 2010, 21:40:34
Radek9: má, nevieš čítať?
Ondřej Strnad: je to nastavením register_globals http://php.net/manual/en/ini.core.php |
||
Ondřej Strnad Profil |
#7 · Zasláno: 21. 2. 2010, 21:40:40
Mám PHP Home Edition 2. To je doufám to, co potřebuji. Protože PHP, které nebylo zpracováno formulářem vždy funguje.
|
||
Ondřej Strnad Profil |
#8 · Zasláno: 21. 2. 2010, 21:42:26
Tak děkuji, moc jste mi pomohli!
|
||
Ondřej Strnad Profil |
#9 · Zasláno: 22. 2. 2010, 10:25:51
Ale ještě něco – zapnul jsem v C:\WINDOWS souboru php.ini register_globals (přepsal z Off na On a uložil), restartoval jsem IIS pomocí příkazového řádku (iisreset.exe) a nic se u mne nezměnilo. Nemáte někdo nápad, prosím?
|
||
Joker Profil |
#10 · Zasláno: 22. 2. 2010, 10:47:30
Ondřej Strnad:
„zapnul jsem ... register_globals ..., restartoval jsem IIS ... a nic se u mne nezměnilo“ A nepřepsal jste náhodou zakomentovaný řádek? (nemá "#" na začátku?) Ta položka nastavení to skutečně mění, ale důrazně nedoporučuji řešit tenhle problém zapnutím register_globals. Jestli to na nějakém hostingu ve výchozím nastavení funguje (tzn. mají ve výchozím nastavení zapnuté register_globals), uvažoval bych o změně hostingu. |
||
Ondřej Strnad Profil |
#11 · Zasláno: 22. 2. 2010, 11:03:58
Joker:
A nepřepsal jste náhodou zakomentovaný řádek? (nemá "#" na začátku?) Teď asi nechápu, co tím myslíte. V HTML kódu má být #? Jestli to na nějakém hostingu ve výchozím nastavení funguje (tzn. mají ve výchozím nastavení zapnuté register_globals), uvažoval bych o změně hostingu. Nejde o hosting, nýbrž o můj vlastní server, na kterém si zkouším PHP, což se zatím učím. |
||
Joker Profil |
#12 · Zasláno: 22. 2. 2010, 11:12:27
Ondřej Strnad:
„V HTML kódu má být #?“ Ne, v tom php.ini, u toho register_globals. A právěže nemá. Řádky, které mají na začátku # jsou komentáře. „Nejde o hosting, nýbrž o můj vlastní server“ Reagoval jsem na větu: „proč to funguje venku a u mne ne?“ Kde je tedy „venku“? Každopádně není důvod register_globals zapínat (jedině pokud používáte nějaký starý skript který nejde nahradit něčím jiným a který to vyžaduje). |
||
Ondřej Strnad Profil |
#13 · Zasláno: 22. 2. 2010, 11:29:04
Joker:
A nepřepsal jste náhodou zakomentovaný řádek? (nemá "#" na začátku?) Aha, tak to určitě ne. Každopádně není důvod register_globals zapínat Kniha "PHP a MySQL Hotová řešení" od Luboslava Lacka mi radí, abych to tak udělal. Je zde přímo popsaný návod, jak na to. Jenže to mi stále nefunguje a nevím proč... |
||
perun Profil |
#14 · Zasláno: 22. 2. 2010, 12:36:31
Ondřej Strnad:
„Kniha "PHP a MySQL Hotová řešení" od Luboslava Lacka mi radí, abych to tak udělal.“ Danú radu ignorovať. Je zlá, navádza na velmi zlé programátorské návyky a z bezpečnostného hľadiska predstavuje obrovské riziko pre akúkoľvek Tvoju (teraz aj v budúcnosti) vytváranú stránku. Takže ešte raz: radu ignorovať, register_globals vypnúť, používať $_GET a $_POST a knihu prípadne obradne spáliť :) |
||
Ondřej Strnad Profil |
#15 · Zasláno: 22. 2. 2010, 12:40:41
perun:
Dobrá, tak děkuji. :-) |
||
Časová prodleva: 14 let
|
0