ugrás a tartalomhoz

Form kezelés localhost-on - nem megy

Anonymous · 2005. Júl. 20. (Sze), 08.11
Sziasztok!

Olyan problémával találtam magam szemben, hogy egy élesített szerveren (pl. freeweb) jól futó form-ot használó kód a localhost-on nem működik.

A köv. kódrészlet (ami a "24 óra alatt PHP" vagy ilyesmi c. könyből lett kimásolva) sem igazán megy:
<form action="<?php print $PHP_SELF?>" method="POST">
Ide írja a tippjét: <input type="text" name="tipp">

localhost-on a böngésőbe kiírt forrásasban az action="" és a $tipp sem állítódik be.

A PHP fájljaimat a http://localhost/... módon érem el.
Apache 2.0.54 (win32) és PHP 4.3.11 van a gépen XP Professional fölött.
Minden más jól megy, kivéve ezt.

Mi lehet az oka?
Tudnátok segíteni?

Köszönöm
Csaba
 
1

register_globals

Poetro · 2005. Júl. 20. (Sze), 09.35
Az említett könyv még egy régi, biztonságilag megkérdőjelezhető beállítást feltételez, méghozzá a register_globals = on értéket.
Ha beállítod ezt a php.ini fájlodban (off-ról on-ra kell állítani), akkor futni fog a kódod.
Egyébként ezeket a változókat már jóideje helyettesíteni illek a megfelelőjükkel. GET típusú for esetén a tipp változódat: $_GET['tipp'] néven éred el, POST esetén $_POST['tipp'] néven. A $PHP_SELF értékét pedig $_SERVER['PHP_SELF'] néven. Érdemesebb is ezeket használni, mint a register_globals értékét megváltoztatni.
--------
Poetro
2

Köszönöm a választ

Anonymous · 2005. Júl. 20. (Sze), 12.07
Köszönöm a válaszod.
Kipróbálom. Egy-két helyen már láttam ezt a magoldást. Érdekes, hogy a php.net oldal nem ír róla semmit.
Ezek alapján, amit írsz a szolgáltató eg ynem biztonságos beállítást használ?

Üdv
Csaba
3

A szolgáltatónak mind1

tiny · 2005. Júl. 20. (Sze), 23.19
A szolgáltatóra nézve ez nem veszélyes ilyen szempontból. Ő tud téged korlátozni pl levélküldésben, meg te sem férsz hozzá a feljebb lévő fájlokhoz, tehát aki a te scriptedet tudja vhogy használni mondjuk az sem fog tudni. Így max. a te adatodra veszélyes. Például egy POST-os form-ot GET-tel ha elküldik neked, akkor ugyanúgy fel fogja dolgozni az adatot. Ezt te a saját kódodban kivédheted, ha a $_POST['változónév'] elérést használod és NEM a $változónév=$_POST['változónév'] kódot.
Mr.Tiny
4

dehogynem ír róla! biztos

Fekete Ferenc GDA · 2005. Júl. 21. (Cs), 09.25
dehogynem ír róla! biztos csak elkerülte a figyelemdet:)

ferenc voltam