include $var nem működik

Sziasztok!

A problémám a következő:

include "dir/valami.php"; --> működik

-----------
$var = "dir/valami.php"
include $var; --> működik

----------
$var = "dir/valami.php"
include (string)$var; --> működik

------------
$var = "dir/".$var1.".php"
include $var; --> nem működik

------------
$var = "dir/".$var1.".php"
include (string)$var; --> nem működik

------------
$var = "dir/".$var1.".php"
$var2 = (string)$var;
include (string)$var2; --> nem működik

-----------
$var = "dir/".$var1.".php"
$var2 = (string)$var;
include $var2; --> nem működik

-------------
include "dir/".$var.".php"; --> nem működik

Mi lehet a probléma?

Hozzászólások

És mi van a $var1-ben? Mert nálam az összes felsorolt példád működik, amennyiben a $var1-nek megfelelő értéke van.

valóban nem volt bekapcsolva :( így írja a hibát

a következőket használom magában a php fájlban:


$valami1= $_GET['page'];


$valami = "dir/".$valami1.".php";
$svalami = (string)$tartalom;
var_dump($svalami);
var_export($svalami);
echo $svalami;
include $svalami;

http://valami.hu/index.php?page=edit_profile

ami érdekes, hogy a valami1-re a megfelelő hoszt írja ki //string(12) "edit_profile"
viszint az $svalami-re már nem // string(29) "dir/edit_profile.php"

Warning: include(dir/edit_profile

.php): failed to open stream: No such file or directory in....

Szerintem sokat segítene, ha a példakódokban valami helyett konkrétan edit_profile.php-t írnál, és írnál összesen egy/két darab példát, amiben benne van együtt/külön a jó és rossz eset is, rendes logolással, és annak kimenetével együtt. Mert már annyiféle információ meg össze nem tartozó kódsor és kimenet meg valamizgetés keveredik itt, hogy nem lehet rajta eligazodni. Lásd: http://sscce.org/

--

Közbe elértem, hogy betöltse, de arra még nem jöttem rá, hogy miért került be a table tag a stringbe az sajnos az előző hozzászólásomból hiányzott mivel BBCode része és így nem jelenítette meg. Ha ezt a strip_tags()-el kiveszem, akkor működik. Nélküle a következőt akarta betölteni: dir/valami[table].php

Az include helyett ajanlom a require vagy require_once valamelyiket.
Ott van a helyen az adott file? Olvashato? Hozzafer a webserver (ha webserveren keresztul futtatod)?

--
I'm not saying the new Apple Watch will only be worn by wankers but it's not vibration, shock and splash proof for nothing.

Értem. Mindig ez a kifogás. "Ez nem fog éles környezetben működni". Az más kérdés, hogy jól megcsinálni ugyanannyi időbe kerül.

Egyébként a hozzászólás elősorban nem neked szólt, hanem annak az embernek, aki beesik ide a google-ből, és az itteni kommentek alapján kódol valamit. Nem lenne jó, ha ez az oldal is azt terjesztené, hogy a felhasználótól érkezett adatokban meg lehet bízni ellenőrzés nélkül.
Márpedig az itteni scripted pont ezt teszi, vagyis lyukas.

Új nap, új esélyek; légy szíves idézd be a releváns részeket, de ne csak fejből valami hasonlót, hanem a kódból kivágva a kérdéses sorokat.

pl:


$valami1= $_GET['page'];
$valami = "dir/".$valami1.".php";
$svalami = (string)$tartalom;

(természetesen a rossz változónevek csak fokozzák/elfedik a bajt.)

A .-al összefűzés mindenképpen stringet fog eredményezni, és a string konstans is szintén, ezért a string típusra forceolás nyilván nem hozhatott volna eltérő eredményt.