• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:header("location~")をPOSTで渡す方法を探しています)

header('location~')をPOSTで渡す方法を探しています

このQ&Aのポイント
  • PHPでheader('location~')をPOSTで渡す方法を探しています。携帯サイトでJavaScriptは使用できません。shift-jisのサイトからutf-8のサイトにデータを渡す必要があります。
  • 現在試している方法は、307でリダイレクトする方法と、POSTでデータを送信してからリダイレクトする方法ですが、どちらもうまくいっていません。
  • 送り元のサイトの文字コードをutf-8にすることで解決できますが、携帯サイトのためshift-jisにする必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

送り元と送り先のソースの内部エンコーディングを統一して、mbstring.encoding_translationをOn、mbstring.http_inputをautoにしておけば、(1)の方法でもいけそうな気がします。 ただしdocomoの端末ではレスポンスコード307は無効だったかと思います(最新の機種は知りませんが)。

sakai3
質問者

お礼

送り先は他社サイトのため、エンコーディングを統一する等の方法はとれません。 > ただしdocomoの端末ではレスポンスコード307は無効だったかと思います こちらは知らなかったので勉強になりました。ありがとうございます。 現在、PHPではありませんが、↓の解決方法であと一歩というところまできております。 http://wiki.mesolabo.com/ ドコモ、AU、firefox、IEではOKだったのですが、 softbankでNGでした。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

ANo.1です。 >エンコーディングを統一する等の方法はとれません。 送り先のソースの内部エンコーディングに送り元が合わせればいいだけなので、できないことではないと思うのですが、結局docomoが対応していないので意味の無いことかもしれませんね。 現在試されている方法で解決できれば何の問題もありませんが、解決できない場合はCURLを使ってみるのも手かもしれません。

sakai3
質問者

お礼

現在試している方法で問題なかったようです。 softbankがNGなのは相手側の問題でした。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 携帯サイトについて

    携帯サイト作成時の文字コードについて悩んでおります。 まずは、情報を集めようと思いサイトや書籍などを調べて みたのですが文字コードはShift_JISかUTF-8という結果に 見受けられました。 パソコン用のサイトはUTF-8で作るので携帯サイトも同様に UTF-8で作れれば楽なのですが情報先によって異なっており 絶対にShift-JISでというのもあればUTF-8で問題ないという とこもありどちらがいいものか悩んでおります。 基本的にdocomo.au.softbankの3キャリア対応にて3Gの機種を ターゲットとするのですがUTF-8で問題ないものでしょうか? 経験者の方がおりましたらアドバイスをお願い致します。

    • ベストアンサー
    • PHP
  • header()関数によるリダイレクトについて

    下記のようなスクリプトにおいて、header()関数で、リダイレクトしているのですが、 ちゃんとリダイレクトできません。ちなみに、header()関数の前には HTML文も無い、PHPのみのスクリプトです。 どうすれば、リダイレクトできるか教えていただきたいのですが。 【profile_regist.php】 <?php if($_POST['ID_HANDLENAME']!==NULL) $handlename = $_POST['ID_HANDLENAME']; else header("Location: ~.html"); 中略 ?>

    • ベストアンサー
    • PHP
  • vodafoneの古い携帯(P3P4など)でheader('Location: ')が使えない

    携帯端末用のWebサイトをPHP4にて構築しています。 リダイレクトをさせようとheader( 'Location: http://www.test/test?id=100'); などと使用すると、引数がリダイレクト先で受け取れなくて困っています。 サーブレットの getRequestDispatcher のように、リクエストを丸投げできるフォワードのような処理ができる 方法はないでしょうか? (最近の3G端末などなら、引数のパラメータが取得できるのですが。。。) どなたかご存知の方、よろしくご教授ください。

    • ベストアンサー
    • PHP
  • 携帯でのheader Locationについて

    携帯を対象としたHPをphpで作成しています。 ファイルから$urlを取得して、 header("Location: $url"); にて、ジャンプさせるのですが、iモードだとうまく$urlのHPにジャンプするのですが、Vodafoneではうまくジャンプできず、エラー画面が表示されてしまいます。 auではまだ試していないので分かりませんが、機種や会社によって上記のようなLocationは使えないのでしょうか? なぜ、うまくジャンプしないのか分かりません。 なんか良い方法・理由を教えてください。よろしくお願い致します。

    • 締切済み
    • PHP
  • Docomoでサイトが移動しました(301)が消えない

    お世話になっています。 携帯向けサイトを制作しているのですが、Docomo機種で「サイトが移動しました(301)」が消えずに困っています。 サイトはPHPで制作している為、拡張子が「.php」になります。 各所でheader移動しているのですが、そこで301表示が出てしまいます。 header移動は以下のように記述しています。 if(preg_match("/DoCoMo/",$_SERVER['HTTP_USER_AGENT'])){ header("HTTP/1.1 301 Moved Permanently"); header("Location: index.php?".SID); } else { header("Location: index.php"); } exit; セッションを利用している為、スラッシュで終わる事が出来ません。 POSTでSIDを渡す場合は問題なく移動出来ています。 文字コードはShift-JIS、確認を行った機種は70シリーズの3種類の携帯です。 header部分は「header('Status: 301 Moved Permanently');」と言う様にも試してみましたが解決しませんでした。 301表示を消す他の方法がありましたら、ご教授願えませんでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • header('Location:xx')について

    こんにちは、外国人ですから、下記の内容は理解し難いと思ってますが、どうぞよろしくお願いします。 質問: A画面に二つボタンがあります、PDFdownloadボタンと戻るボタン 流れ: (1)A画面のPDFdownloadボタンを押下して、pdfファイルを出力します。 (2)A画面の戻るボタンを押下して、B画面へ遷移します。 現象: pdfファイルが正しく出力しましたが、戻るボタンを押下すると、B画面の内容はA画面の下に縦にダブって表示されました。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー // B画面へ戻る if(isset($_POST["back"])){ header('Location: ./B.php'); goto done; } //PDFを出力する if(isset($_POST["download"])){ if ( isset( $_SESSION["FILEPATH"] ) && $_SESSION["FILEPATH"] != "" && isset( $_SESSION["FILENAME"] ) && $_SESSION["FILENAME"] != "" ) { downloadByStream( $_SESSION["FILEPATH"]."\\".$_SESSION["FILENAME"], $_SESSION["FILENAME"] ); } } done: 関数downloadByStreamは共通関数で管理しています。 function downloadByStream($filename, $title) { $ua = $_SERVER ["HTTP_USER_AGENT"]; $file = $filename; header ( "Cache-Control: public" ); header ( 'Pragma:public' ); if (! preg_match ( "/Firefox/", $ua )) { header ( "Content-Type: application/force-download; charset=Shift_JIS;" ); $title = mb_convert_encoding( $title, 'SJIS-win', 'auto'); $file = mb_convert_encoding( $file, 'SJIS-win', 'auto'); } header ( "Content-Transfer-Encoding: binary" ); header ( 'Content-Disposition: attachment; filename="' . $title . '"' ); header('Content-Length: '.filesize($file)); readfile($file); flush(); ob_flush(); } ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • リダイレクトでPOST

    教えてください。 リダイレクトの際、POSTで次のページにデータを渡すことは可能でしょうか? GETだと header("Location: "a.php?no=".$no); と、問題なくできるのですが、 できれば、パラメータを隠したいと思います。 以上ですが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • リダイレクトする時の文字コードをUnicodeに

    現在、VisualStudioで、システムコールの標準出力結果をリダイレクトしてファイルに保存する プログラムを書いています。 _tsystem(command); のような感じで、commandには "hogehoge > hoge.txt"のように入ります。 ※command はTCHAR この出力結果が、Shift-Jisになっているようで、Shift-Jisだと日本語が文字化けせずに表示されるのですが、Unicode UTF-16にすると文字化けしてしまいます。 Unicode UTF-16とかUnicode UTF-8など文字コードを指定してリダイレクトできないのでしょうか。 ちょっと調べてみましたがうまく見つかりませんでした。

  • 各キャリアの文字コード

    プログラマー初心者です。 サイトの開発を計画中なのですが、 PC(OS)、スマホ、携帯すべてのブラウザに対応している文字コードはなんでしょうか? 調べてみると携帯3社は"UTF-8","Shift-JIS"などバラバラに書かれていたので。 (UTF-8が使えないauのみmb_convert_encodingを使い、文字エンコードを変換?) PC・スマホも(データベースも)含め全て統一したいのでやはりUTF-8が適切でしょうか? HTML5で<meta charset="UTF-8">とだけ指定しています。 またサーバからメール送信などを行う際はShift-JISで全て文字化けしないでしょうか?

  • 携帯用に文字コードを自動的に変換したいのですが

    現在運営している携帯サイトはUTF-8で出力されています。今後SHIFT_JISのみ対応の携帯にも対応したいのですが、UTF-8を自動的にSHIFT_JISに変換する方法はありませんか?