※ 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エンコードされた文字列をデコードする必要があります。
formから入力された2バイト文字列を、別画面に渡したい
formから入力された2バイト文字列を、別画面に渡したい
下記のように遷移元画面でformを作成しています。
<form style="margin:0px;padding:3px;" action="searchlist.php" method="GET">
<input type="text" name="SStr" size="20" value=""><br>
<input type="submit" name="bottun1" value="検索"><br>
</form>
遷移元ページのフォームに「あいう」と入力し、
その「あいう」を遷移先ページで検索条件として使用して検索結果を出力したいと思っています。
遷移先ページで、 $_GET[SStr] をデバッガーで参照してみると、「縺ゅ>縺」
と入ってしまっています。
実際にecho文で画面出力しても同様です。
「あいう」をurlencodeすると「%E3%81%82%E3%81%84%E3%81%86」となると思うのですが、
この「%E3%81%82%E3%81%84%E3%81%86」を遷移先のページに渡すにはどのようにしたら良いでしょうか。
要するに、formから入力された文字列を、入力画面内で加工してから別画面に渡すにはどうするか、
ということです。
$_GET では、勝手にURLエンコードされるのだと記述されているサイトを見たことがあるのですが、
適切にエンコードされていないように思えて、途方に暮れています。。。
ご回答よろしくお願いします!