2010-08-05 6 views
0

je veux inclure mon fichier php mais je reçois une erreurphp include donne une erreur

ma page contient javascript

c'est l'erreur que je reçois

[Thu Aug 05 15:38:01 2010] [error] [client 10.0.0.2] <br/><br/>Unexpexted output: \r\n<html>\r\n\r\n\r\n\r\n<script language="javascript" type="text/javascript" src................ 

ceci est mon serveur code, j'appelle la page via ajax

function getPageContent(&$response){ 
    $PAGE_URL  = $_POST['PAGE_URL']; 
    try{ 
    echo '../' . $PAGE_URL; 
    }catch(Exception $ee){ 
    error_log($ee->getMessage()); 
} 
$response->fields->frame_main = file_get_contents('../' . $PAGE_URL); 
} 

merci

+3

Postez le code correspondant s'il vous plaît. – Sarfraz

+0

Quelle est la valeur d'exemple de '$ PAGE_URL'? – Sarfraz

+0

c'est un nom de la page par exemple, login.php – shay

Répondre

0

On dirait que vous essayez d'inclure un fichier javascript avec PHP .. echo 'à la place ..

+0

echo '../'. $ PAGE_URL; me donne

Unexpexted sortie: ../upload_application.php, referer: http://10.0.0.2/jtpc/index.php – shay

0

il semble que ce que vous essayez de faire est d'inclure un fichier javascript sur demande. . Sans la source complète (y compris ce que vous passez dans l'URL, il est un peu difficile à déboguer

Je me sens comme ce que vous voulez être dit ici:

$ response-> Fields-> frame_main = file_get_contents ('../' PAGE_URL $.);

est en fait

$ response-> Fields-> frame_main = '../' PAGE_URL $;.

Étant donné que, selon la sortie que vous avez fournie, il semble que vous liez accidentellement le fichier dans la balise plutôt que de fournir le nom du fichier.

Un petit point que je me sens obligé d'élever. Votre code dans son implémentation actuelle semble me permettre de passer une variable POST comme "../../../../../etc/passwd" et de récupérer le contenu de ce fichier. Si vous finissez par lire des fichiers à la demande de l'utilisateur, veuillez les valider complètement. Les filtrer en utilisant une fonction comme basename() peut être utile.

+0

comment se font ils sont identiques? , frame_main, est l'id de la div, mon ajax va remplacer le div.innerHTML avec ce contenu – shay

+0

c'est comme ça que je l'ai fait fonctionner, function getPageContent (& $ response) { $ PAGE_URL = $ _POST ['PAGE_URL' ] ob_start(); require_once ('../'. $ PAGE_URL); $ contents = ob_get_contents(); ob_end_clean(); $ response-> fields-> frame_main = $ contents; } mais j'ai dû séparer le fichier javascript, puis-je faire cela sans séparer le js? – shay