2012-05-08 9 views
0

私は、あなたが探しているページに基づいてページの内容を隠す方法をさまよっていましたが、私はこれを下のコードで行いましたが、動的に生成されたページをどのように隠すことができるか不思議でしたindex.php * ?id = ...... *。PHPで動的コンテンツを非表示にするには?

php関数があります。これは、.phpの後ろにあるすべてのものを無視するという意味で使用することができるので、考慮しないでください。

if($_SERVER['PHP_SELF'] != "/3uboats/index.php"){ 

CONTENT TO HIDE 

} 

私はplzはすべて私はこのページのコンテンツを非表示にする

事前に、明確化のため感謝を聞いて明確ではなかった場合はstampa_fattura_partenza.php?id_prenotazione_partenze = 1 1はPHPによって生成される、その動的

答えて

1

安全性の低い$_SERVER['PHP_SELF']を使用しない方がよいでしょう。変数がこのコードで設定されているかどうかを確認できます:

if(isset($_GET['id_prenotazione_partenze']) && 
     $_GET['id_prenotazione_partenze'] != 1) { 
    ... 
} 

これはあなたの例では有効です。

+0

obstartでマスターページを使用してIAMはので、このコードは、コードのロード – Gunnit

+0

で変数の前にlodedされ、私はこれがobstartとどのように関連するかを理解していないので、私はこのコントロールの変数を追加傾けます。あなたはそれを説明できますか?変数 'id_prenotazione_partenze'がセットされていることを確認したいのであれば、' if(isset($ _ GET ['id_prenotazione_partenze'])) ' – rekire

+0

のように機能します。 obスタートとは関係ありません、一束ありがとう – Gunnit

1

$ _REQUEST ["id_prenotazione_partenze"]または$ _GET ["id_prenotazione_partenze"]を使用してIDの値を取得し、それをあなたのPHP IFで使用することができます。

if($_REQUEST["id_prenotazione_partenze"]==1){ 
    // HIDE 
} 

たとえば、ページid = 1のときにコンテンツを非表示にします。

+0

'$ _REQUEST'は' $ _GET'や '$ _POST'を使うのに最善の選択肢ではありません。 – rekire

+0

私は前に、数多くのプログラマーと一緒にその議論に入ってきました。パフォーマンスには大きな違いはなく、新しいプログラマーにとってはREQUESTが簡単だと思います。 GET –

+0

を選択する理由を知りたいのは、登録されたグローバルと似ています。 shouleがpostに設定される変数はgetによって設定されることがあります。場合によっては、スクリプトのXSS攻撃を開始することがあります。 – rekire

1

あなたは$_REQUEST[ "id_prenotazione_partenze" ]が同じように、設定されているかどうかを確認することができます任意の値を$_REQUEST[ "id_prenotazione_partenze" ]で渡された場合

if(isset($_REQUEST[ "id_prenotazione_partenze" ])){ 
//hide content 
} 

そして、それはif文を評価します。

+0

@rekire誤植に感謝します+) –

関連する問題