質問が少し奇妙ですが、私はユーザーにprofile.phpにアクセスすることを望まない。ユーザー名が定義されていないという通知が表示されるためです。とにかく私はそれを行うことができますか?たとえばユーザーがユーザー名をクリックすると、彼はprofile.php?username = yにリダイレクトされますが、私は彼にurl profile.phpを入力させたくありません。彼がそうするなら、私は彼を別のページにリダイレクトしたいと思う。私は疲れてURLを取得し、それがprofile.phpだ場合にのみ、私は彼をリダイレクトしたいが、それは私がプロフィールページにユーザがprofile.phpにアクセスすることを許可していないのに、彼がprofile.phpにアクセスできるようにしていませんか?username =
答えて
を表示することでユーザ名を持っている場合?username=
が実行して存在する場合さて、あなたがチェックすることができ:?
if(isset($_GET['username'])){
// The user tried to access profile.php?username=
}else{
// The user went to profile.php
}
$_GET
の詳細については
:あなたは常に.htaccessファイルを介してこれを処理するか、あなたが探しているフィールドの下に1が$で提供されていないようにリダイレクト機能を使用することができ
http://php.net/manual/en/reserved.variables.get.php
これはうまくいきましたが、既にヘッダが送られていると言われました。 –
これは 'header'を呼び出す前にすでに印刷してあるからです。 –
私はob_start()を追加して修正しました。そのトップは悪い練習ですか? –
_REQUEST:
function RedirectToURL($url) {
header("Location: $url");
exit;
}
しかし、私があなたを正しく理解しているとすれば、これはプログラミングが貧弱だと考えています。おそらく、あなたはprofile.phpページの代わりにリクエストヘルパーオブジェクトを使用することができます(フロントコントローラーを持っていない場合)。そこから、要求の詳細を操作して適切に反応することができます。
class RequestHelper {
private static $instance;
private static $properties;
public static function instance() {
if (is_null(self::$instance)) {self::$instance = new self();}
return self::$instance;
}
private function __construct() {
$this->init();
}
protected function init() {
// updating properties with fields from submitted form.
if (isset($_SERVER['REQUEST_METHOD'])) {
self::$properties = $_REQUEST;
}
}
private function getProperty($key) {
if (isset(self::$properties[$key])) {
return self::$properties[$key];
}
return null;
}
private function setProperty($key, $val) {
self::$properties[$key] = $val;
}
public function getUserName() {
return getProperty("username");
}
}
echo RequestHelper::instance()->getUserName();
歓声
- 1. profile.phpを書き直しますか?user = username to profile/username
- 2. Facebook PHP SDKがユーザにログインすることを許可していません
- 3. MVC3はログインしていないユーザーがコントローラにアクセスすることを許可しません。
- 4. AWS codebuildが許可してもreposにアクセスできない
- 5. Googlebotがアクセスを許可している間にページをインデックスに登録しないようにします。
- 6. ドメイン名がカールを介してPHPファイルにアクセスするのを許可すること、許可すること、および許可しないこと
- 7. Facebookのprofile.php?= idはどのように動作しますか?
- 8. ApacheがKohanaへのアクセスを許可していません
- 9. コントローラにアクセスできないアクセスすることができません
- 10. HashSetをループしようとしたときにvoid型がここで許可されていませんか?
- 11. keycloak JavaScriptアダプターを使用しているときにアクセスが許可されないのはなぜですか?
- 12. iis7で許可エントリとして追加したときに、自分のIPアドレスがサイトにアクセスできないようになっている理由
- 13. 正しいアクセス許可があってもWordPressでファイルを読み取ることができません
- 14. アクティブなリソースがサービスにアクセスすることを許可しないようにする
- 15. ASP.NET Webフォームを通じてWeb APIにアクセスするときに「405メソッドが許可されていません」
- 16. MVC3フォームでPOSTに失敗しました 'パスにアクセスするのが許可されていません'
- 17. Mongodb KeyFileがあまりにも開いているアクセス許可
- 18. メソッドプリフライトの応答でアクセス制御許可メソッドによってDELETEが許可されていません
- 19. ディレクトリのアクセス許可が拒否されているがアクセス許可が正しく設定されている
- 20. エラー:アクセス許可が拒否されました:私はエラーになってるHDFSにAWS S3バケットにコピーしようとしている '/ユーザ
- 21. Laravel - ユーザーが他のユーザーデータにアクセスすることを許可しない
- 22. アクセス許可()にアクセス許可の問題などがありません
- 23. Android INJECT_EVENTSのアクセス許可がルートになっています
- 24. AppleScriptを実行しているときにエラー「支援のアクセスは許可されていません」
- 25. ディレクティブでアクセスしようとしているときに$ modelValueが定義されていません
- 26. 自分のサイトにアクセスしようとしているときに内部サーバーにアクセスしています
- 27. ユーザーがログインしているかどうかを確認してページにアクセスできないようにする
- 28. TensorFlowがGPUにアクセスできないようにしますか?
- 29. LocalSystemがPostgreSQLデータベースにアクセスすることを許可します
- 30. 匿名ユーザーがSonarにアクセスすることを許可しない
「私は疲れたURLを取得し、それだけで私は彼をリダイレクトしたいprofile.phpだ場合は...」それはこの試みを参照すると便利です:ここで暗示です。あなたが達成しようとしていることは難しいことではありませんが、あなたが試したことがうまくいかなかった理由を説明する*と*働く方法でそれを修正する方法。 – HPierce