ugrás a tartalomhoz

paraméter hiba $page, elvileg tökéletes

Anonymous · 2005. Május. 16. (H), 17.14
Sziasztok. Nekem az lenne a gondom, hogy készítek egy oldalt, azaz átvettem a fejlesztését, és most a következővel találtam szembe magamat.

Fájlstruktúra: www.netnap.hu/index.html --> elküld a root/htmls/index.php-ba

Index.phpben ez a kód van:
<?php
include("bal.php");
    print("</td><td width=\"900\" valign=\"top\" align=\"left\" bgcolor=\"BFFFD3\">");
if($page=="") {
$page="welcome.php";}
include($page);
?>


elvileg a root/admin/admin.php hívja meg ebbe a $pagebe az "../admin/enter.php&enter=cikk" enter=galeria enter=dbase változókkal, eddig nincs is semmi gond. Ezek azok az oldalak, amik a jelszót ellenörzik, és tovább engednek az uj_cikk.php uj_galeria.php és az dbase.phpra.

Ezt egy ilyen kóddal teszi meg:

<?php
if (isset($user))
  {
  include ("../admin/login.php");

if (isset($belephet))
    {if($enter=cikk)
{
   header ("location: ../htmls/index.php?page=..admin/uj_cikk.php&user=".$user."&pwd=".$pwd);
    exit;
   }
if($enter=galerria)
{
header ("location: ../htmls/index.php?page=../admin/uj_galery.php&user=".$user."&pwd=".$pwd);
    exit;
   }
if($enter=dbase)
{
header ("location: ../htmls/index.php?page=../admin/phpadmin.php&user=".$user."&pwd=".$pwd);
    exit;
   }
}
  }
?>


itt már úgy veszi az index.php, mintha a $page üres lenne, és behívja az erre kitalált kódot:

if($page=="") {
$page="welcome.php";}


Ez miért lehet szerintetek?

Élőben a jelenséget itt tudjátok kipróbálni:

http://www.netnap.hu és ráklikk a NetNapAdmin-ra a menü alján.

Ha tudtok segíteni azt megköszönném

Miklovicz Szilveszter voltam, email címem: mszilveszter##kukac##netnap.hu
 
1

figyelj kicsit

Őry Máté · 2005. Május. 16. (H), 17.37
hi
if($enter=cikk)
itt most azt vizsgálod, hogy az $enter fel tudja-e venni a "cikk" konstans értékét (ami ha nincs definiálva akkor önmaga)
a helyes kód valszeg:
if ($enter == "cikk")
Maat
2

Igazad van

Anonymous · 2005. Május. 17. (K), 12.50
Tényleg igazad van. Látszik, hogy még fiatal vagyok ebben a nyelvben :(

Köszönöm.
3

Valami más (is) a hiba...

MSzilveszter · 2005. Május. 17. (K), 13.11
Maat!

Megnéztem, amit írtál, kijavítottam, de semmi sem változott... továbbra is az a gond, hogy ebből a sorból eltünik a ?...& közti szakasz, mikor ráklikkel az ember a linkre, ami elvileg elindítja az egészet:

if($enter==dbase)
{
header ("location: ../htmls/index.php?page=../admin/phpadmin.php&user=".$user."&pwd=".$pwd);
    exit;
   }

Ezt tűnik el:
"?page=../admin/phpadmin.php"

Ez lesz a link, mikor az index.php újra betöltődik:
http://www.netnap.hu/htmls/index.php?user=user3&pwd=password3

Azt hiszem, hogy a ../admin/ az, ami nem tetszik neki. Talán ilyen nem is lehet phpban, csak akkor nem tudom, mi más módon tudnám megoldani. Még nem jöttem rá.

MSzilveszter - http://www.netnap.hu
4

fejlődök :)

MSzilveszter · 2005. Május. 18. (Sze), 20.26
Közben rájöttem, hogy $enter="cikk", mert kapja egy másik fájltól a paramétert, és ha az, akkor fogja a than ágat csinálni.
De nem ez az igazi hiba, mert az a baj, hogy a linket nem írja meg rendesen. :(
MSzilveszter - http://www.netnap.hu