- 締切済み
URLの受け渡し
はじめまして。PHPの基礎なのかもしれませんが、どうしても私には分からないのでどなたか教えて下さい。 現在PHP+MySQLの環境でサイトを構築しております(XOOPSを利用してます)。 下記のような事がしたいのですが、どのように行えばいいでしょうか? 例1) ページA→ページB→ログイン専用ページ⇒ログイン実施→ページB 例2) ページC→ページD→ログイン専用ページ⇒ログイン実施→ページD 例1も2も同じなのですが、ログインした後にログイン専用ページに飛ぶ直前のページに戻るようにしたいと考えてます。 SmartyかPHPで何とか出来ないかと悩んでおります。 宜しくお願いします。
- PHP
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- panerai777
- ベストアンサー率34% (9/26)
ログイン専用ページがまず、php(動的)である必要があります。 単純なhtmlでもURLを変えるなり、apacheをいじればできなくはないですが、 要するに、ログイン専用ページでどこからきているのかを保持しておけば、ログイン実施後にページ遷移が可能となります。 これを実現するには、 ・パラメータで渡す。(query_stringを含む) ・リファラーを取得する。 のどちらかでしょう。
以下は、素人の戯言です。おまぬけな内容であるおそれが大です。 ・Webサーバによっては、「実行中のスクリプト名」を取得できることがある(これが大前提)。 ・ページBやページDでform(action="ログイン専用ページ")を作成し、 取得しておいたスクリプト名をhidden属性付きでpostする。 <input type="hidden" name="hoge" value="取得済みスクリプト名"> ・無事に認証が通れば、ログイン専用ページ内のform(action="$_POST['hoge'])でもって、ログイン直前のページに飛ばす。
補足
回答ありがとうございます。 以下のような書き方でいいのでしょうか? ・ページ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】動的なURLを静的に見せる方法
表題の通りですが、知識に乏しい為非常に困っています。 あるウェブサイトを構築しており、開発環境はphp+smartyです。 フレームワークはethnaというものを利用しています。 例えば、以下のようにパラメーターがいくつも付いている動的なURLに可変するページがあるとします。 http://testsiteokwave.com/index.php?action_test=1¶m1=777¶m2=999 これを内部で処理し、ユーザーには http://testsiteokwave.com/test/777/999/ のような静的URLに見せたいのですが、良い方法が見つかりません。 尚、javascriptは使用しないという条件があります。 phpで変換したり、smartyのフィルタなどを用いてできないでしょうか?
- ベストアンサー
- 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> ご教授をお願いします。
- ベストアンサー
- Linux系OS
- ユーザーごとに違うページを表示したい
こんにちは。 登録してもらったユーザー専用のページを作りたいんです。(ユーザーごとに違うページを表示したい。) 管理画面から特定のユーザーにメッセージを書いてそれをログインしたユーザーがみれるようにしたいのです。 なにか良いフリープログラム(CGI、PHP、ASPなど)はありませんか? ちなみに、XOOPSを使用しているのですが、XOOPSモジュールでなくてもいいです。 紹介してください。お願いします。
- 締切済み
- その他(インターネット・Webサービス)
- PostgresSQLとphpの関係
宜しくお願いします。 MySQLとPHPでデータベースサーバを構築しています。 PHPとMySQLはPHP側にMySQL関数が用意されているので非常に簡単に構築できます。しかし、PostgresSQLの場合はどうなんでしょう?専用の関数とかあるんですか?使い勝手はMySQLと同じ様に扱えるのでしょうか??
- ベストアンサー
- PostgreSQL
- サブクエリを使わずにこんな処理はどうすれば(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);
- 締切済み
- MySQL
補足
回答ありがとうございます。 ログイン専用ページはphpです。 具体的には、それぞれのページでどのような記述をすればいいのでしょうか? お手数おかけしますが宜しくお願いします。