| Autor | Zpráva | ||
|---|---|---|---|
| tn Profil * |
#1 · Zasláno: 27. 9. 2006, 00:06:03
Prosím vás kde může být chyba v následujícím skriptu (skript byl původně složitější, na lokálu mi normálně fungoval, ale když jsem ho zkopíroval na web, tak se to chová jako by se nepředávala hodnota proměnné "zobrazit".
Když zadám do adresního řádku "www.serverxyz.cz\kniha_test.php?zobrazit=1" tak to nejede. Když to testuju na svém lokálním PC přes localhost tak to funguje bez problémů. <html> <head> </head> <body> <? echo "proměnná zobrazit = ".$zobrazit."<br><br>\n"; if ($zobrazit=="1"): echo "Můžete vložit příspěvek po kliknutí na tlačítko"; echo "<form name=\"form\" method=\"post\" action=\"kniha_test.php\">\n"; echo "<input type=\"submit\" value=\"Přidat příspěvek\">\n"; echo "<input type=\"hidden\" name=\"zobrazit\" value=\"2\">\n"; echo "</form>\n"; endif; ?> </body> </html> Kde dělám chybu ??? Poraďe prosím. |
||
| stribny Profil |
#2 · Zasláno: 27. 9. 2006, 00:12:14
Zkus na začátek PHP bloku přidat
$zobrazit = $_POST['zobrazit']; |
||
| tiso Profil |
#3 · Zasláno: 27. 9. 2006, 00:12:31 · Upravil/a: tiso
Miesto $zobrazit píš $_GET["zobrazit"]
Naštuduj si superglobálne polia z dokumentácie PHP. stribrny ...tesne vedľa... |
||
| stribny Profil |
#4 · Zasláno: 27. 9. 2006, 00:17:51
tiso: Tos myslel jako tak, ze ses skoro trefil do meho jmena, ze si spatne urcil get misto post nebo ze sem te predbeh? :D jen tak pro zajimavost..
|
||
| YoSarin Profil |
#5 · Zasláno: 27. 9. 2006, 00:29:15
stribny
tiso pravdu máte oba - nejlepší by bylo použít $_REQUEST['zobrazit'] ;) tn totiž ke skriptu přistupoval jak pomocí formuláře, tak přes ?zobrazit= ;) |
||
| stribny Profil |
#6 · Zasláno: 27. 9. 2006, 00:38:25
YoSarin: Aha, dik za upozorneni.
|
||
| tn Profil * |
#7 · Zasláno: 27. 9. 2006, 00:44:47
No, ale jak to že mi to na lokále fungovalo. Vytvořil jsem si pár skriptů a teď je budu muset předělávat. :-(((
|
||
| tn Profil * |
#8 · Zasláno: 27. 9. 2006, 00:46:42
Jinak díky všem za rady.
YoSarin s REQUESTem to funguje OK. |
||
| YoSarin Profil |
#9 · Zasláno: 27. 9. 2006, 01:06:25
tn
Na lokále máš nejspíš v php.ini nastaveno register_globals na ON - na ostrých serverech to bývá vypnuté Yo'Sarin |
||
| tn Profil * |
#10 · Zasláno: 27. 9. 2006, 01:18:47
YoSarin Prosím tě, mohl bych se na tebe případně obrátit ještě s nějakýma dalšíma dotazama ?
|
||
| tiso Profil |
#11 · Zasláno: 27. 9. 2006, 09:20:30 · Upravil/a: tiso
stribny
Tak, že si sa netrafil, premenná zobrazit sa predáva cez url, takže v poli $_GET Za skomolenie mena sa ospravedlňujem. YoSarin Ja som odpovedal konkrétne na premennú zobrazit, preto ten $_GET, ale nasmeroval som na súvisiacu dokumentáciu. Pole $_REQUEST sa z bezpečnostných dôvodov nedoporučuje používať, umožňuje totiž podstrčiť $_POST premenné cez parametre v url... |
||
| YoSarin Profil |
#12 · Zasláno: 27. 9. 2006, 11:46:44
tiso
$_REQUEST sa z bezpečnostných dôvodov nedoporučuje používať, umožňuje totiž podstrčiť $_POST premenné cez parametre v url To máš naprostou pravdu, ale on není ani moc problém podstrčit tu proměnnou přes $_POST (pokud není zpracovávající skript nějak spešl ošetřený) tn Klidně, ale upozorňuju tě, ža tady najdeš hodně lidí, kteří jsou na pomáhání daleko lepší než já... :-D Yo'Sarin |
||
|
Časová prodleva: 4 dny
|
|||
| stribny Profil |
#13 · Zasláno: 1. 10. 2006, 00:35:39
tiso: O tom prave psal YoSarin, protoze pravdu mame oba. Promenna se ziskava i z formulare metodou POST.
|
||
| tiso Profil |
#14 · Zasláno: 1. 10. 2006, 10:16:50
stribny
Nie tak celkom - v tom kóde čo tu tn dal ide v podmienke o $_GET premennú, nie $_POST... Po odoslaní formulára nebude nastavená $_GET premenná ale $_POST... YoSarin ...doteraz som si myslel že sa nedajú podstrčiť z vonku... |
||
|
Časová prodleva: 4 dny
|
|||
| stribny Profil |
#15 · Zasláno: 5. 10. 2006, 11:09:13
tiso: To je fakt, nepopírám. Jenže já když přišel na tohle vlákno, tak kouknul na kód a text před ním jsem jen přeletěl, takže jsem to příliš nezkoumal. To je už ale jedno.
|
||
|
Časová prodleva: 4 dny
|
|||
| YoSarin Profil |
#16 · Zasláno: 9. 10. 2006, 01:59:17
tiso
Záleží co si představuješ pod tím podstrčením - ale možná to půjde přes CURL (nevím, neumím) anebo třeba WebDeveloperToolbar do FF umí editovat HTML kód - prostě připíšeš formulář s metodou post, vyplníš ho a pošleš (pravda - stačí hlídat referera a nejspíš to neprojde) v podstatě je lepší řídit se heslem: Nic není nemožné, něco je jen těžší. Yo'Sarin |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0