• 締切済み

URLの受け渡し

はじめまして。PHPの基礎なのかもしれませんが、どうしても私には分からないのでどなたか教えて下さい。 現在PHP+MySQLの環境でサイトを構築しております(XOOPSを利用してます)。 下記のような事がしたいのですが、どのように行えばいいでしょうか? 例1) ページA→ページB→ログイン専用ページ⇒ログイン実施→ページB 例2) ページC→ページD→ログイン専用ページ⇒ログイン実施→ページD 例1も2も同じなのですが、ログインした後にログイン専用ページに飛ぶ直前のページに戻るようにしたいと考えてます。 SmartyかPHPで何とか出来ないかと悩んでおります。 宜しくお願いします。

noname#44972
noname#44972
  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

ログイン専用ページがまず、php(動的)である必要があります。 単純なhtmlでもURLを変えるなり、apacheをいじればできなくはないですが、 要するに、ログイン専用ページでどこからきているのかを保持しておけば、ログイン実施後にページ遷移が可能となります。 これを実現するには、 ・パラメータで渡す。(query_stringを含む) ・リファラーを取得する。 のどちらかでしょう。

noname#44972
質問者

補足

回答ありがとうございます。 ログイン専用ページはphpです。 具体的には、それぞれのページでどのような記述をすればいいのでしょうか? お手数おかけしますが宜しくお願いします。

noname#26650
noname#26650
回答No.1

以下は、素人の戯言です。おまぬけな内容であるおそれが大です。 ・Webサーバによっては、「実行中のスクリプト名」を取得できることがある(これが大前提)。 ・ページBやページDでform(action="ログイン専用ページ")を作成し、  取得しておいたスクリプト名をhidden属性付きでpostする。  <input type="hidden" name="hoge" value="取得済みスクリプト名"> ・無事に認証が通れば、ログイン専用ページ内のform(action="$_POST['hoge'])でもって、ログイン直前のページに飛ばす。

noname#44972
質問者

補足

回答ありがとうございます。 以下のような書き方でいいのでしょうか? ・ページBやDで form(action="http://hogehoge/login.php") <input type="hidden" name="???" valu="???"> ・ログイン専用ページで form(action="$_POST['???']) 上記で???とした箇所には何を入れるべきなのでしょうか?

関連するQ&A

  • header関数で遷移した際のURLエンコード

    こんにちは。 XOOPSを利用しております。 ログイン画面を表示する際にSSL化したいため、PHPのheader関数を利用してSSLページを表示させることをしております。 その場合に、ログイン後のリダイレクトするページを保存するために、「xoops_redirect="リダイレクト先URL"」という変数をURLに埋め込んでおります。 そこで解決できない問題があります。 header()使用時には、xoops_redirectの値をURLエンコードして以下のように送っております。 header(Location: https://localhost/xoops/user.php? xoops_redirect=%2Fxoops%2Fmodules%2Fcs%2Fsearch.php%3Fcid%3D1%26aid%3D1);" しかし、表示されるURLを見ると以下のようにxoops_redirectの値がURLエンコードされておりません。 https://localhost/xoops/user.php? xoops_redirect=/xoops/modules/cs/search.php?cid=1&aid=1 よって、$_GET['xoops_redirect']で値を取得すると、"/xoops/modules/cs/search.php?cid=1"という部分のみしか取得できません。 何か分かることがありましたら教えてほしいです。 別の解決方法でもぜんぜんかまいません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ログイン 作成

    私はPHP初心者なのですが 現在PHP5+MySQLにて勉強をしています。 今回、ログインのページを作ろうと思ったのですが 私の買って来た本には、smartyを使ったログイン画面のサンプルしかなく ここで、検索し流用もしてみましたが うまく動作しませんでした・・・・ 誰か簡単なログイン認証のサンプルを作って 頂けないでしょうか セッション等は、後から勉強して付け加えていきたいと思ってますので どうか、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【php】動的なURLを静的に見せる方法

    表題の通りですが、知識に乏しい為非常に困っています。 あるウェブサイトを構築しており、開発環境はphp+smartyです。 フレームワークはethnaというものを利用しています。 例えば、以下のようにパラメーターがいくつも付いている動的なURLに可変するページがあるとします。 http://testsiteokwave.com/index.php?action_test=1&param1=777&param2=999 これを内部で処理し、ユーザーには http://testsiteokwave.com/test/777/999/ のような静的URLに見せたいのですが、良い方法が見つかりません。 尚、javascriptは使用しないという条件があります。 phpで変換したり、smartyのフィルタなどを用いてできないでしょうか?

    • ベストアンサー
    • PHP
  • ウエブサイトの構築

    HPをphpで構築する仕組みに変えたいと思っています。。 xoops Smarty pukiwiki などありますが、違いがよくわからないのと、Weblog向けのような雰囲気もあります。 動作が軽快で、あまり大げさでなく、素人でも設置が楽なものがあれば、教えていただけたらと思います。 weblogはすでにmovabletypeでやっていますので、純粋にHPをつくるだけとなります。 PHPの知識はありません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ユーザーIDでログイン後のページを振り分けているサイトでSSL

    お世話になります。 現在、LINUX+APACHE+PHP+MYSQLの構成でコミュニティサイトを構築しています。ちなみに、XOOPSです。 ログイン時に、ユーザー名の頭文字にmasterが入っていたら管理者用ページ、入っていなかったらユーザー用ページに飛ぶように振り分けています。ログイン後のページはどちらもindex.phpです。 この場合、管理者用ページにだけSSLを利用することは不可能ですか? index.phpにSSLを設定すると、ユーザー用ページもhttpsになってしまい、サーバーに負荷がかかってしまいます。 なるべく、プログラム・利用モジュール構成の変更をせずにこれを実現したいのです。index以外の管理者用ページで利用しているモジュールだけsslを設定すればよいのかも、と思ったのですが、ユーザー用ページでも同じモジュールを利用している部分が多々ありまして・・・ 教えてください、お願いします。

    • ベストアンサー
    • PHP
  • Fedora4にてXOOPSを設定し、ブラウザにてエラー403が表示する。

    xoopsをインストールを実施しようとブラウザのアドレス欄にて http://サーバー名/xoopsを記載した所、エラー403が表示しました。 色々と調べましたがわからず困っています。 OS:Fedora4 ApacheとPHPとmysqlは設定済みです。 尚、httpd.confのファイルに下記を追加しました。 Alias /xoops "/var/www/xoops" <Directory "/var/www/xoops"> DirectoryIndex index.php index.html AllowOverride None Options None Order allow,deny Allow from all Allow from ::1 AddHandler php5-script .php </Directory> ご教授をお願いします。

  • ユーザーごとに違うページを表示したい

    こんにちは。 登録してもらったユーザー専用のページを作りたいんです。(ユーザーごとに違うページを表示したい。) 管理画面から特定のユーザーにメッセージを書いてそれをログインしたユーザーがみれるようにしたいのです。 なにか良いフリープログラム(CGI、PHP、ASPなど)はありませんか? ちなみに、XOOPSを使用しているのですが、XOOPSモジュールでなくてもいいです。 紹介してください。お願いします。

  • PostgresSQLとphpの関係

    宜しくお願いします。 MySQLとPHPでデータベースサーバを構築しています。 PHPとMySQLはPHP側にMySQL関数が用意されているので非常に簡単に構築できます。しかし、PostgresSQLの場合はどうなんでしょう?専用の関数とかあるんですか?使い勝手はMySQLと同じ様に扱えるのでしょうか??

  • サブクエリを使わずにこんな処理はどうすれば(HELP!)

    DB初心者の私、サブクエリの使えないMySQL4.0+PHPでWebシステムを構築しようとしていますが、以下のようなことで困っています。 以下のような販売データのDBがあるとします(あくまで例です)。 ---------------- product shop ---------------- A    a B    a C    b A    c B    d D    c D    b C    a C    a C    a B    a ---------------- このproductを、shop='a'のレコードに絞込み、その他のshopを含めた販売数の多い順にソートして出力したいのです。 上表の例では、productのA,B,Cがshopのaで売れており、全体では、Cが4個,Bが3個,Aが2個売れているので、C,B,Aという順序に出力したいのです。 こんな処理がMySQLでサブクエリを使わず書けるでしょうか? 実際に扱うデータはもっと複雑で、productの種類もレコード数も多く、1ページ10 productずつなど、複数ページに亘って表示させたいです。 しかし、PHP側でソート処理を行う場合、セッションなどを用いて、ページ間でデータを引き継がなくてはなりません。 いろいろ調べると基本、ページ毎にクエリを投げるほうがよいということらしいので、できればPHPのページごとにクエリを投げて、MySQL側でソートまでしてもらい、PHPではその結果を受け取って表示するだけという形にしたいと思っているのですが。。。 素人なもので、行き詰っています。どなたかのお知恵を拝借したく、よろしくお願いします!

    • ベストアンサー
    • MySQL
  • PHPでmySQLのデータを取り出す

    お世話になります。 php、smarty、mySQLを利用してサイトを構築しています。 下記のPHPプログラムを記述してデータベースからデータを取り出そうとしているのですが、queryの利用方法が良く判りません。 下記の場合、ブラウザ上には、『 Object 』と表示されています。 アドバイスをお願いします。 $sql = 'select footer from common where id=1'; $footer =& $mdb2 -> query($sql); if (PEAR::isError($footer)) {die($footer->getMessage());} $smarty->assign("footer",$footer);

専門家に質問してみよう