2016-07-11 8 views
0

issetを使用してページにコンテンツを表示する際に問題が発生しています。issetを使用してページコンテンツを表示する

私のPHPファイルがmessages.php

と呼ばれている私は、このURLへのリンクを自分のユーザーを誘導しています:messages.php?inbox using if(isset($_GET['inbox'])) {}ユーザーの受信トレイを表示します。そのようなメッセージ作成など、他のユーザーの選択肢と同じ原理です:再び私が持っている唯一の問題は、私は手動でdomain.com/messages.phpまたはdomain.com/messages.php?somethingrandom.

ようなものを入力してから人々を止めることはできないということですISSET

を使用して指示する方法はありますmessages.php?composeアドレスバーに入力すると、issetに割り当てられていないものをmessages.php?inboxに送信しますか?

私はスイッチを使用しようとしましたが、私のHTMLをどのようにレイアウトしたら正しく動作するかはわかりませんでした。

ファイル全体の例では、私はPHPにかなり新しいですし、私は複雑なルートをダウンしているかもしれないと思うここhttp://pastebin.com/SfqN2L7g

です。

アドバイスをいただければ幸いです。

おかげマルコス・ペレスグーデの助けに

+0

'get'の代わりに' post'を使うと、リクエストごとにランダムなトークンを生成し、自分の受信箱などと仮定しているので、ユーザがログインしているかどうかを確認します。たくさんの方法、あなたの選択を取る。 – Andrew

+0

簡単な方法:ファイルの先頭に 'if(get(one)|| get(two){OK} else {REDIRECT TO INBOX} 'と書かれています –

+0

MarcosPérezGude:この方法でもブラウザで「ページが正しくリダイレ​​クトされていません」というエラーが発生しました – James

答えて

1

が、私は通常、どのvalidオプションの配列を持つように私は多分後でチェックすることができます。

$validPages = array('inbox', 'compose'); 
$pageFound = false; 

foreach ($validPages as $validPage) { 
    if (isset($_GET[$validPage])) { 
     $pageFound = true; 
     break; 
    } 
} 

if (! $pageFound) { 
    header('Location: /messages.php?inbox'); 
} 
0

おかげで、次のように答えは:あなたはすでに追加答えが働くだろう

関連する問題