• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:formから入力された2バイト文字列を、別画面に渡したい)

formから入力された2バイト文字列を別画面に渡す方法

このQ&Aのポイント
  • formから入力された2バイト文字列を別画面に渡す方法について説明します。遷移元画面で作成したformの入力値は、"searchlist.php"という別画面で受け取ることができます。
  • 遷移元画面のformには、name属性が"SStr"であるinputタグがあります。入力された値は、GETメソッドで"searchlist.php"に送信されます。
  • 遷移先の"searchlist.php"で、デバッガーを使用して"$_GET[SStr]"を参照すると、URLエンコードされた文字列が表示されます。入力値を遷移先ページで正しく受け取るには、URLエンコードされた文字列をデコードする必要があります。

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

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

文字コードがずれてるか、透過変換してしまってるか、あるいは、、、 とりあえず、送信元、送信先がUTF-8 で保存されてるか確認。 問題なければ mbstring.encoding_translation が On になってないか確認。 つか、無駄な変換しとらんよね。 UTF-8 の文字を SJIS として UTF-8 に変換すると例示が得られる。 ついでに default_encoding, mbstring.internal_encoding 辺り、mb 系のディレクティブを要確認 内部の文字コード位はしっかり管理しる。 外部から来るやつは仕方ないので何らかの処置を取る。 どうでもいいけど マルチバイト == 2バイトとは限らない それから、以前にも書いたけど、PHP 5 以降は $_GET[SStr] の書き方は許されていない。 例示ではまず 定数 SStr を探しにいく。定数がなければ文字列 SStr として扱う。 http://www.php.net/manual/ja/language.types.array.php#language.types.array.donts

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

その他の回答 (1)

回答No.2

チープな回答で失敬します。 一度method="POST"で試してみてはいかがですか? urlencodeを無関係にして、そもそも文字エンコードのトラブルが無いか試してみると良いかもしれません。文字エンコードのトラブルはサーバー環境やらスクリプトの不備など、意外と複雑なものです。極力シンプルに整理してトラブルの根本を見つけるのが近道だと思います。

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

関連するQ&A

  • 他のFormの入力内容により、Selectの状態を変化させたい

    Formの状態を他のFormの入力によって変化させたいのですが。 イメージ的には <Script language="Javasript"> function data1() {   document.forms[1].elements[0].value=document.test.i.value; } function data2() {   document.forms[2].elements[0].options[document.test.i.value].selected=ture; } </script> 入力<br> <form name="test"> <input type="text" name="i" onKeyDown="javascript:if(event.keyCode==9){ data1();data2(); }" > </form><br><br> テキスト<br> <form> <input type="text"> </form><br><br> セレクト<br> <form> <select> <option>0 <option>1 <option>2 <option>3 </select> </form><br><br> こんな感じです。 これで、タブキーを押せば、「入力」Formに入力された内容が、関数data1()によって「テキスト」Formにも表示されます。 これと同じように、「入力」Formに入力された内容で、「セレクト」Formを変化させたいと思いますが、data2()エラーになり上手く動作しません。 「入力」Formに1を入力すれば、「セレクト」Formの1が選択された状態になる… と言った事をしたいのですが、どうすればいいでしょうか?

  • 別formのhidden項目を自form値として送信したい

    同ページ内に <form name="form1" action="aa"> <input type="text" value="123"> <!-- hidden項目は無い場合もある --> <input type="hidden" name="form1_1" value="xxx"> <input type="hidden" name="form1_2" value="yyy"> <input type="submit"> </form> <form name="form2" action="bb"> <input type="text" value="456"> <input type="hidden" name="form2_1" value="www"> <input type="hidden" name="form2_2" value="zzz"> <input type="submit"> </form> といった感じのformタグをおいています。 そこで、form2を送信する時に、form1のhiddenのみform2のformValueとして送信したいのですが、どんな風に飛ばしたらよいのでしょうか? というより、from2を飛ばすときに、他のformのhidden項目があったら自formの値として送信することってできるんでしょうか? javascriptでできるんでしょうか? 素人質問ですいませんが、何か足がかりになるようなものをご教授いただければと思います。

  • PW入力画面から違うページへ

    <form action=./bbs.cgi method=POST>  <input type=password size=12 name=P><input type=hidden name=no value=0> <input type=submit value="認証"> </form> 通常このフォームにPWを入力・送信すると、そのトップの画面に飛びますが、 指定した特定のページに飛ばせたい場合はどうすればよいでしょうか? よろしくお願いします。

  • 【FORM】 リンク文字で submit したい

    <FORM METHOD="post" ACTION="tbl_admin.html"> <A HREF="#" onClick="fnc.value='abc'; this.form.submit();">リンク文字</A><BR><BR> <INPUT TYPE="hidden" NAME="fnc" VALUE=""> <INPUT TYPE="submit" VALUE="aaa"> </FORM> と書いてみたのですが エラー:'this.form' は Null またはオブジェクトではありません。 としまいました。 <SELECT>のonChangeで同じような事は出来たのですが、 単なるリンク文字クリックでこのようなことはできないのでしょうか。 可否をご存知の方、また実現方法等ご存知の方 いらっしゃいましたらご教示願います。 よろしくお願い致します。

  • SUBMIT時の入力文字のURLエンコードについて

    本質的にはPerlではないのですが、Perlの 処理中で起こったのでこちらで・・・・ 現在FAQページとFAQを登録するページがあり、 入力 → 確認 → 登録・完了 という流れでページの移行を行っています。 #ちなみにShift_JISです。 日本語だけでなく英語でのFAQを登録する際 『Ω』を入力したかったのですが、当然全角は無理 なので『&Omega;』で登録しました。 が、登録し終わったDBを見ると『Ω』で登録されていました。 そこで、処理を追いかけていて気づいたのですが 確認画面でhiddenとして入れておいた"&Omega;"が POSTされた時点で『Ω』(をURLエンコードしたもの)に 変わっていました。 検証(とりあえずShift_JIS)の為 <form method=GET> <INPUT TYPE="text" name="data1" value=""> <INPUT TYPE="hidden" name="data2" value="&Omega;"> <INPUT TYPE="submit" value="submit"> </form> というフォームを作って、data1に『&Omega;』と 入力してsubmitを行うと ?data1=%26Omega%3B&data2=%83%B6 と、data2はすでに『Ω』に変換されています。 同じく、EUC-JPでもコードこそ違え、同様でした。 西ヨーロッパ言語などの場合、『&#937;』に 変換された状態でうまく(?)行きます。 ブラウザ依存かと思い、IE6,Opera8.5で確認しましたが 同じでした。 これはsubmitでの仕様なのでしょうか? 対応は無理やりやるつもりですが、こうすれば 簡単にできるという事がありましたら教えていただけると ありがたいです。

  • PHPでエラーを元の画面にかえすには

    エラーメッセージを次の画面に行かずに 新規登録ボタンを押したら エラー表示を入力している画面に 表示するにはどうしたら出来ますか? javascriptは触れたことがないので使いたくないです ありましたら簡単なサンプルも教えて下さい 下記は入力フォームです <html> <head><title>新規登録</title></head> <body> <blockquote> <form action = "insert.php" method = "POST"> <br><br>登録画面<br><br> すべての項目入力してください<br> 番号<input type="number" name = "ID"> (一覧画面にない番号を入力してください) <br> <br>氏名<input type="text" size = "50" name = "NAME"><br><br> 住所<input type="text" size = "130" name = "ADDR"><br><br> <input type = "submit" value = "登録する" style ="font-size:20px; width: 100px; height: 40px"> <a href="http://localhost/top.php"> <input type = "button" value = "一覧に戻る" style ="font-size:20px; width: 100px; height: 40px"></A> </body> </blockquote> </form> </body> </html> 空白だったら入力フォームにエラー表示し再度ユーザに入力させたい

    • ベストアンサー
    • PHP
  • form入力内容がエンコードされない

    winXP + IIS5.0 + ASPでプログラムを作っています。 フォームに入力された漢字をaspプログラムにpostしているのですが、クエリで送信されている漢字がエンコードされず漢字のままで送信されています。 <FORM>  <FORM Action="...asp" method="post">  <INPUT Type="text" Name="Address">  <INPUT Type="submit" Value="送信"> </FORM> とすれば、入力内容の送信時に、自動的にエンコードしてくれると聞いているのですが違うのでしょうか?

  • フォームで入力項目を全て別の確認画面に出したい

    JavaScriptでフォームを作成しています。 入力項目を別の確認画面に出したいのですが 組み合わせている内に、わからなくなってしまいました。どうかお助けください。(>_<) チェックボックスの所は、3つ以上チェックできないようにしてあります。 1.別ウィンドウ確認画面が出て確認する 2.OKならメールアドレスに送信&ありがとうございましたページへ(確認画面は閉じる) のようにしたいのですが、よろしくお願い致します。m(_ _)m ※尚、初心者の為何か失礼があったらすみません。 スクリプトでは足りない個所があるので、htmlを載せさせて頂きました。 ************************************************ <form name="myFORM" onClick="return check()"> <table> <tr><td> <table> <tr> <td> <input type="radio" name="plan" value="A"> A.</font></strong></div> </td> </tr> </table> <br> <table> <tr> <td> <input type="radio" name="plan" value="B"> B. </td> </tr> </table> <br> <table> <tr> <td>あ</td> <td> <input name="CB1" type="checkbox" id="CB12" value="あ"> </td> </tr> </table> チェックボックス全10項目中チェック3つまで<br> <br> *印は必須項目です<br> <table> <tr> <td>申込み内容</td> </tr> <tr> <td>会社名*</td> <td><input type="text" name="jimusho_name" size="30"></td> </tr> </table> テキストフォーム全9項目<br> <p>&nbsp; <input name="button" type="button" onClick="outdata();" value="送 信"> <input name="reset" type="reset" value="キャンセル">

  • textareaに文字列を追加する方法

    JavaScript超初心者です。初めて質問します。 2つのテキストエリアに入力されたものを、3つ目のテキストエリアに文字を追加して、入力するスクリプトを作ろうとしています。 ネットで似たようなものを見つけてきて、アレンジしてみたのですが、2つ目の文字を入力するためのボタンをクリックすると、1つ目の文字が消えてしまいます。 姓:AAA/名:BBB と続けて追加されるようにするには、どうしたらよいのでしょうか? どなたかお助けください。よろしくお願いいたします。 <作成中のページ> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <title></title> <script language="JavaScript"><!-- function setData() { txt1= document.form7.t1.value; document.form7.list.value = "姓:"+ txt1; } function setData1() { txt2= document.form7.t2.value; document.form7.list.value = "名:"+ txt2; } // --></script> </head> <body> <form name="form7"> 姓<TEXTAREA name="t1" size="10" rows="1"></TEXTAREA><input type="button" value="済" onClick=setData()><br> 名<TEXTAREA name="t2" size="10" rows="1"></TEXTAREA><input type="button" value="済" onClick=setData1()><br> <textarea rows="9" cols="20" name="list"></textarea><br> </form> </body> </html>

  • 携帯サイトの入力フォームについて!修正画面編

    こんにちわ! お世話になります。 すごく初歩的な質問になってしまいます。 入力フォームを作っているんですけど・・。 入力→確認→修正→完了 ぜんぶ1ページにまとめて作ってるんですけど現在、確認画面から修正画面に行くときにGETメソッドになってしまいます。 確認画面のソースです。 <form id="form1" name="form1" method="post" action="Auction.php?1=<?=$_POST['1'];?>"> 入力内容:<?=$_POST['1'];?> <input type="submit" name="Submit" value="修正" /><input type="submit" name="Submit" value="完了" /> </form> せっかくPOSTで受け取っているのに修正するときはGETになっていてちょっとおかしいですよね。。。 いまいち入力フォームは苦手項目なので分かりません。。。

    • ベストアンサー
    • PHP