質問

投稿者:yaesu
登録日:2025年8月29日(金)

現在の認証エリアのURLを取得する方法

■質問 PHP内で、現在の認証エリアのURLを取得する方法を教えてください。 ■詳細 https://knowledge.spirers.jp/article/development/detail/4743  「LINE会員アプリ サイト設計・構築」 のリダイレクトを参考にして、画面遷移先を条件で切り替えようと考えました。下のソースは機能しました。 ここで、現在の認証エリアのURLのフォルダ名(下の「user2」)を自動取得できると、ソースをコピーした場合でもメンテナンスが不要になり、助かります。取得方法があれば、教えてください。 ■ソース //redirect $url=(empty($_SERVER['HTTPS'])?'http://':'https://').$_SERVER['HTTP_HOST']; $rec=DB_ID.".".$answer_id; if(●条件1●){ $SPIRAL->setTHValue('redirectURL',$url.'/user2/ansA?record='.$rec); }else if(●条件2●){ $SPIRAL->setTHValue('redirectURL',$url.'/user2/ansB?record='.$rec); }else{ $SPIRAL->setTHValue('redirectURL',$url.'/user2/ansC?record='.$rec); }

更新日:2025年9月1日(月)
いいね

コメント

  • 質問ありがとうございます。 > PHP内で、現在の認証エリアのURLを取得する方法を教えてください。 SPIRALでは、URLを取得する関数は提供していないため、 PHPの「$_SERVER['REQUEST_URI']」にて、URLを取得いただく形になります。 「認証エリアの識別子(今回の例では user2)」を取得するサンプルです。 ご確認をお願いします。

    「認証エリアの識別子」を取得するサンプル
    <?php
    // ①:$_SERVER['REQUEST_URI']でURLを取得
    // ②:「/認証エリア名/ページ名」格納されているので、explode("/",”取得したURL")でURLをスラッシュで配列として分割
    $directory = explode("/", $_SERVER['REQUEST_URI']);
    // ③:戻ってきた配列の[1]番目の配列値を取得する。
    // ④:③で取得した値にパラメータがついている場合、explode("?", "③で取得した値") で「認証エリア名」と「パラメータ」を分割する。
    
    $areaURL = explode("/", $directory[1]);
    
    • いいね
    2025年9月1日(月)
あなたもログインして、
回答してみませんか?