Kezdőoldal » Számítástechnika » Weblapkészítés » Mi lehet a hiba az alábbi php...

Mi lehet a hiba az alábbi php kódban mert? Ezt a php kódot szúrtam be a HTML-be hogy dinamikus legyen a honlapom, de nem jó mert ugyan az URL-be jelzi hogy éppen az aktuális php fájlt hívja be de mégse jeleníti meg a bekért tartalmat.

Figyelt kérdés

<?php

if(isset($_GET["op"]) && $_GET["op"]!="") {

$op = $_GET["op"];

if(file_exists("inc/".$op.".php")) {

include_once("inc/".$op.".php");

} else {

include_once("inc/404.php");

}

}

else {

include_once("inc/fooldal.php");

}

?>



2012. júl. 30. 11:05
1 2
 1/11 anonim ***** válasza:

szerintem, első sor:

$_GET["op"]!==""

két darab egyenlőségjel kell

2012. júl. 30. 11:19
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
Ez élesbe megy? Ne csodálkozz majd, ha összevissza mászkálnak a merevlemezeden
2012. júl. 30. 12:59
Hasznos számodra ez a válasz?
 3/11 Drone007 ***** válasza:

Arra ügyelj, hogy az interpreter csak akkor fogja figyelembe venni a kódokat, ha a fájl amibe beillesztetted php kiterjesztésű!


Kissé veszélyes get-ben meghívni egy létező php oldalt, ezt én sem javasolnám.

Ha mindenképp ilyen módszerrel akarod behívni a tartalmat, akkor inkább szervezd egy tömbbe a hívható oldalakat, és a GET-tel a tömb kulcsait/indexeit hívd meg.

pl:

<?php

$oldalak = ("fooldal.php","masikoldal.php","harmadik.php");

if(isset($_GET["op"]) && $_GET["op"]!="") {

$op = $_GET["op"];

if (($op < count($oldalak)) &&(file_exists("inc/".$oldalak[$op]))) {

include_once("inc/".$oldalak[$op]);

} else {

include_once("inc/404.php");

}

}

else {

include_once("inc/fooldal.php");

}

?>

Ez így sokkal biztonságosabb.

2012. júl. 30. 13:59
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
Ki mászkálna a merevlemezemen ??? ez tudod még csak a gépemen van és egy tárhelyre lesz feltöltve szóval miköze a merevlemezemnek ehhez ??? :O
2012. júl. 30. 20:52
 5/11 A kérdező kommentje:

a harmadik válaszadó teljesen korrekt választ adott :) de sajnos így sem jó :/ valamiért nem jeleníti meg az aloldalak tartalmát ! pedig minden fájl php formátum.

simán a böngésző megnyitja pl a fooldal.php-t de az oldal amibe beleakarom tenni abba nem jeleníti meg :( de az url részbe meg kiírja hogy "index.php?op=fooldal" de nem jelenít meg semmit

2012. júl. 30. 21:00
 6/11 anonim ***** válasza:

4: ez a baj


if(isset($_GET["op"]) && $_GET["op"]!="") {


include_once("inc/".$op.".php");


1. a jobbító szándékú tanácsra vagdalkozol

2. nem látod, hogy mi a probléma ezzel

2012. júl. 30. 22:49
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:
Ez így van, sajnos nem látom benne a hibát :/ és nem akartam vagdalkozni csak nem értettem miért lenne olyan nagy gond a get parancs. Bevallom először csinálok ilyet weblap alá, eddig csak sima php progit csináltam nem menü rendszert.
2012. júl. 30. 23:03
 8/11 anonim ***** válasza:
Nem a get a hiba. Az a hiba, hogy a bemenetet nem szűröd, úgyhogy a pathba bármit bele lehet írkálni, amit el se tudsz képzelni. Kapásból az inc alatti összes könyvtár php fájljait be lehet includeolni, ami lehet ártalmatlan, de ilyet ne hagyj benne. Ami netről jön, azt _mindig_ szűrd legalább a slashre, backslashre, és escape karakterekre adatbázisnál, de amit a másik válaszoló mondott, az igazából sokkal biztonságosabb megoldás.
2012. júl. 30. 23:15
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Most igy nem tudom kipróbálni, mert nincs itthon PHP környezet feltéve, de az includeot egyébként nem szokták erre használni, mert nagyon erőforrásigényes (zabálja a stacket). Amit includeolsz, annak egyáltalán van kimenete?
2012. júl. 30. 23:19
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:
Végre sikerült ! :D megjeleníti :))))))
2012. júl. 31. 02:11
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!