2017-02-22 5 views
1

が、私は、データベースからの情報で新しいファイルを作成するパラメータ与える:アムステルダム、ロッテルダム、デン:PHPファイルを開くと、それは、このコードでは/変数

function getLocations() { 
    $query = mysql_query("SELECT DISTINCT `plaats` FROM `plaatsen` ORDER BY `plaats` "); 

    while ($row = mysql_fetch_assoc($query)){ 
     $city = $row['plaats']; 

     $handle = fopen("cities/$city.php",'w'); 

     echo "<a href='cities/".$row['plaats'].".php' class='col-md-4'>"."<div class='steden'>".$row['plaats']."</div>"."</a>"; 

     fwrite($handle, '<?php include("../stad.php") ?>'); 
     fwrite($handle, $city); 
    } 
} 

出力は以下のようなさまざまな都市との複数のリンクとファイルですHaag。現在、これらのページのコンテンツは、都市によって異なります。だから、基本的にページはそれがどの都市なのかを知っていて、データベースからこの都市のコンテンツをダウンロードする必要があります。

私はこのページに市の名前を書いているページにvarを書くことを試みましたが、(私が知る限りは)この情報では何もできません。

誰かがこれを行う方法を知っていますか?ありがとう!

+0

あなたは他のページに '$のcity'値を渡したいですか? – gaurav

答えて

0

$handle = fopen("cities/$city.php",'w'); - ERK!これはセキュリティにとって本当に悪いことです。 PHPによって処理されるファイルへのあなたのウェブサーバのuid書き込みアクセスを許可すること自体が脆弱性ではなく、攻撃のエスカレーションのためのベクトルを提供します。

データベース外のコンテンツをキャッシュしたいが、キャッシングリバースプロキシまたはESIを使用するか、またはPHPコード内にHTMLフラグメントのキャッシングを実装する(最後の手段として)PHPを使用しないキャッシュとしてのコード

PHPコードが実行されているファイルの名前を特定する質問については、PHPは__FILE__定数からこれを得ることができます。例えば含みの階層に関係するファイル名を決定するために

<?php 

print "I am in " . strtok(basename(__FILE__), '.'); 

、(debug_backtraceを見て)

+0

ありがとう、私はそれについて考えなかった。 $ _GET関数で解決しました:\t $ query = mysql_query( "SELECT DISTINCT' plaats' FROM 'plaatsen' ORDER BY' plaats' "); while($ row = mysql_fetch_assoc($ query)){ $ city = $ row ['plaats']; エコー ""."

".""; } 他のページ: $ stad = $ _GET ['city']; echo $ stad; –

関連する問題