A PHP Include miért jeleníti meg az error. Htm-et a main. Htm alatt akkor ha a honlapnév.hu-t nyitom meg?
Ha megnyitom a honlapnév.hu-t, akkor az error.htm-et megjeleníti a main alatt. Ugyanez játszódik le, hogy a honlapnév.hu/index.php oldalt ütöm be. De akkor ha beírom ezt: weblapom.hu/index.php?id=main, vagy éppen rákattintok a menüsoron, akkor nem írja ki. A kód: <?php
if(!isset($_GET['id']))
{
include("main.htm");
}
$id = (isset($_GET['id']) && !empty($_GET['id'])) ? ltrim($_GET['id'], './') : 'error';
if (file_exists("$id.htm"))
{include ("$id.htm");}
else
{include ("error.htm");}
?
Szia!
Mert az ID mindenképpen kap értéket! A háromoperandusú müvelet, "error"-ral tér vissza, hogy ha nincs a GET tömb $id-adik kulcsának nincs értéke vagy nem létezik.
Aztán, a következő if azt vizsgálj, hogy létezik-e a fájl, ha nem létezik (úgye ilyen fájlod nincs hogy "error" ) akkor betölti az error.html -t
javítás:
<?php
if(isset($_GET['id']) and !empty($_GET['id'])){
if(($id = is_file(ltrim($_GET['id'] . ".html")))){
echo $id . "<- include goes here";
}else{
echo "error.html <- include goes here";
}
}else{
echo "main.html <- include goes here";
}
hehe most nézzem, hogy amit éjjel írtam az is hibás :D
ez a sor:
"if(($id = is_file(ltrim($_GET['id'] . ".html")))){ "
erre javítsd
"if(is_file(($id = ltrim($_GET['id'] . ".html")))){ "
hmmm hát ezt nem is hiszem el...
include helyett echo van teszteléshez elég ... -.-" ha létezik az id.html fájl akkor azt fogja ki írni hgoy id.html include goes here.... legyeél kreatív és ne csak másolj hanem gondolkozzál!
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!