- 締切済み
POSTでリダイレクト
リダイレクトモジュールをPHPで作成し、その中で JavaScriptを使用し、POSTでリダイレクト処理を行う際の JavaScriptのロジック方法をお願いします。 下記のurl_module.phpがPHPモジュールにあたり その中でクッキーの値や、DBからの値を取得して パラメータを生成し、あるページ先にPostで渡します。 http://www.test.com/url_module.php?ID=888 渡す先↓↓↓↓↓↓↓↓↓↓↓↓↓ http://www.test1.com/index.php (POSTで渡す値:ID=888、DB=AAA、NAME=ORAG) よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
関連するQ&A
- .htaccessのリダイレクトの書き方
.htaccessのリダイレクト処理で http://sample.com/index.phpにpost情報込みでアクセスがあった場合、 「www統一」 「index.phpなし」 「index.phpなしアドレスにリダイレクトされた場合もpostの値を取得できる」 という条件を満たすコードはどのようにすれば良いのでしょうか? 「www統一」や「index.phpなし」は説明サイトも多いので可能なのですが、リダイレクト後のURLでもpostの情報を取得する方法がわかりません。 どうそよろしくお願いします。
- ベストアンサー
- HTML
- .htaccessでGET引数をもとにリダイレクト
http://test.com/ というサイトがあったとして、.htaccessを用い、 http://test.com/123 というアドレスにアクセスした場合、 http://test.com/sample.php?id=123 にリダイレクトし、 http://test.com/m/123 にアクセスした場合は、 http://test.com/m/sample.php?id=123にリダイレクトさせたいと考えています。 リダイレクト後もアドレスバーのURLは http://test.com/123、あるいは http://test.com/m/123のまま維持しているようにしたいです。 id は常に数字のみで、サーバーはロリポップのチカッパプランです。 上の方は RewriteEngine on RewriteRule ^([0-9]+)$ sample.php?id=$1 としたらなんとなくできているようですが、 「m」のほうは「m」ディレクトリ内に RewriteEngine on RewriteBase /m/ RewriteRule /m/([0-9])$ /m/sample.php?id=$1 と置いても404エラーになってしまいます。 どうしたら良いのでしょうか?
- ベストアンサー
- HTML
- リダイレクトについて
/news/detail.php?id=777&c7=7 というURLから /news/777 というURLへリダイレクトしたいと思い、 Redirect permanent /news/detail.php?id= http://www.◯◯◯.com/news/ 上記のような記述をhtaccessに書いたのですが、 うまく行きませんでした。 この場合、どのような記述が正しいのでしょうか?
- 締切済み
- ハードウェア・サーバー
- PHPを用いてPOSTし、リダイレクトする方法
お世話になります。 PHPを用いてリダイレクトさせたいのですが、リダイレクト先にはHTTPリクエストのPOSTを用いて情報を送信させる方法を教えてください。 いろいろ調べたのですが、 curl関数やfsockopen関数では、POSTでリクエストして、レスポンスが返ってくるので、望むような方法が実現できません。 なぜ、リダイレクトさせたいかというと、リダイレクト先は違うhostなので、画像やcss、formなどがうまく表示・動作できないようになってしまうためです。 送信方法として、フォームによる送信を行いますと、クライアント側に情報を埋め込んで送信するため、セキュリティ的に問題がありますので、PHPから情報を飛ばしたいと考えております。 よろしくお願いします。
- 締切済み
- PHP
- リダイレクト元のURLの取得方法について
現在、以下2つのphp5プログラム(+ PEAR::AUTH)で、なんちゃってフォーム認証するCGIを作成しています。 環境 Windows XP、Web SV IIS 5.1 (1) aaa.php : PEAR:AUTHを使った、ログイン画面(フォーム認証CGI)。 : 機能 : MySQLに格納されたID/PWで認証する。認証OKだったら、bbb.phpが出力するDBレコードデータ参照ページへのリンク集を出力する。 リンク1)http://domain.jp/bbb.php?id=1001 リンク2)http://domain.jp/bbb.php?id=1002 リンクn)http://domain.jp/bbb.php?id=nnnn ・・・といった感じで、DBに登録されたレコードを表示するCGIへのリンクをずらずら出します。 (2) bbb.php : DBデータを整形し、多少見やすい形に加工したHTMLページを出力する。 この時、aaa.phpが認証OKの証?として出力したCookieが、 1.あったらHTMLページ出力し、 例1)http://domain.jp/bbb.php?id=1001 = 一意のキーid=1001の値で出力出来る、MySQL上のデータをHTML化したもの 例2)http://domain.jp/bbb.php?id=1002 = 一意のキーid=1002の値で出力出来る、MySQL上のデータをHTML化したもの 例n)http://domain.jp/bbb.php?id=nnnn = 一意のキーid=nnnnの値で出力出来る、MySQL上のデータをHTML化したもの 2.無かったら、 (a) http header 401を出力 (b) aaa.php(フォームログイン画面)にリダイレクトする。 一応、ここ迄はいいのですが、例えば、利用者が、上記例2のURLをブラウザ「お気に入り」で保存しておき、直接そのページをみたい、と言った時、リンク指定先のbbb.phpは、 ・ そのユーザがログインしていない場合(Cookieが無い場合)、aaa.phpのログインフォームへリダイレクトする ・ aaa.phpは認証後、リンク集ページを出力する、 といった動作になってしまいます(てゆうかそうゆう作りなんで当たり前ですが・・・)。 そこで、aaa.phpの機能で、 ・ 「どのURLから、リンク(リダイレクト)されてきたかを判定するロジック」を入れ、もし、「bbb.php?id=xxxx」だったら、 ・ 認証OK後、直接、そのbbb.phpが出力するHTMLのURL(http://domain.jp/bbb.php?id=xxxx)に、再度リダイレクトする処理を入れれば良い?、 のかなーと短絡的に考えました。 で、問題となるのが、aaa.phpが表示された時、どこからリダイレクトされてきたか(リダイレクト元のURL)を知る方法です。 そこで、PHPの、$_SERVER[HTTP_REFERER]を入れてみた所、 ・ bbb.phpにリダイレクトされる前のURLが、$_SERVER[HTTP_REFERER]に入っている(多分、別のHTMLのbbb.php?id=~へのリンク集?) ・ $_SERVER[HTTP_REFERER]の中が空(URL直接指定?) という現象で詰まってしまいました。 ここから抜け出す為、何か良いアイディア(別の方法、関数等)があればお知恵拝借したいと考えています(書いてある事を理解して頂ける文章か今イチ不安ですが・・・)。 何卒よろしくお願いします。
- ベストアンサー
- PHP
- 動的URLから静的URLへの301リダイレクト
下記のように動的URLを静的なURLに置き換えています。 http://www.sample.com/dir/aaa/index.php?content_id=1 ↓ http://www.sample.com/aaa_index.content_id_1.htm この動的URLを、置き換えた静的URLへ301リダイレクトさせたいのですが、うまくいきません。 htaccessの記述を下記のようにしましたが、多分、動的URLの「?」があるためうまくいかないようです。 RewriteEngine on RewriteBase / RewriteRule ^dir/aaa/index\.php?content_id=(.*)$ /aaa_index.content_id_$1.htm [R=301,L] 「?」が含まれる動的URLから静的URLに301リダイレクトさせたい場合、どのように記述すれば良いでしょうか?
- 締切済み
- その他(プログラミング・開発)
- フラグメント識別子(#)のリダイレクトについて
以下のようなアンカーリンク付URLからアンカーリンク付URLへリダイレクトをしようとしました。 リダイレクト先 → A.com/dummy/test/page#001 リダイレクト元 → B.com/dummy/test-page#001 .htaccessで処理しようとしたところ、 フラグメント識別子(#)はサーバに届かないからできないと聞きました。 あきらめ悪く以下のコードを試したところ、 普通にリダイレクトできました。 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^dummy/test/page(.*)$ https://www.B.com/dummy/test-page/$1/ [L,R=301,NE] </IfModule> (環境 → サーバー:Xserver・php:7.4.25) 正直混乱しています。 フラグメント識別子のリダイレクトは普通に可能なのでしょうか? ある環境下限定なのでしょうか? ご面倒おかけします。
- ベストアンサー
- HTML
- header()関数によるリダイレクトについて
下記のようなスクリプトにおいて、header()関数で、リダイレクトしているのですが、 ちゃんとリダイレクトできません。ちなみに、header()関数の前には HTML文も無い、PHPのみのスクリプトです。 どうすれば、リダイレクトできるか教えていただきたいのですが。 【profile_regist.php】 <?php if($_POST['ID_HANDLENAME']!==NULL) $handlename = $_POST['ID_HANDLENAME']; else header("Location: ~.html"); 中略 ?>
- ベストアンサー
- PHP
- POST送信かGET送信か
------------------------------------------ <SCRIPT language="JavaScript"><!-- function GoPage(url, id){ document.form.action = url; document.form.id.value = id; document.form.submit(true) } // --></script> <!--中略--> <input type="submit" name="submit" value="送信" onClick="javascript:GoPage("a.php", "1")"> ------------------------------------------ 上記のような処理を書いた場合、 遷移先である a.php で id(値:1)を取得する時は POSTで受け取るのですか?それともGETでしょうか?
- ベストアンサー
- JavaScript
- postの使い方
下記のようなコードで、$_POSTを使い、else以下の「test」を表示させたいと考えています。 http://*****.jp/?page_id=259&?id=reform しかし、上記のURLでアクセスした場合、<h2>商品ラインナップ</h2>が出力されます。 どのようにすればtestを表示することできるでしょうか? <!DOCTYPE html> <html> <body<?php body_class(); ?>> <?php if($_POST['id'] !== 'reform'): ?> <h2>商品ラインナップ</h2> <?php else: ?> test <?php endif; ?> </body> </html>
- ベストアンサー
- SE・インフラ・Webエンジニア