• 締切済み

Server.URLEncode()でエラー

はじめまして。 半角スペースを含む値を、POSTするために、Server.URLEncode()を 使用していたところ、「型が一致しません」というvbscriptエラーが 表示されました。 以下がエラーが発生したソースです。 <TD><%= Rs("CHIEF") %><INPUT TYPE=HIDDEN NAME=HidChief<%= i %> VALUE=<%= Server.URLEncode(Rs("CHIEF")) %>></TD> 原因は何処にあるのでしょうか? また、エンコードした値を、次ページでテキストボックスに表示させる時に、 デコード処理は必要ないのでしょうか? ご教授のほど、よろしくお願い致します。

みんなの回答

回答No.1

書かれているソースだけではわかりにくいのですが、Server.URLEncode()でエラーがでる事は考え難いのですが... 原因は本当にServer.URLEncode()ですか? Server.URLEncode()を外したらエラーはでなくなりますか?

関連するQ&A

  • 半角文字と全角文字のencodeのちがい

    お世話になります。 Linux JSP-Servletにて開発を行っているのですが。 JSPにて、半角の「ア」と全角の「あ」をURLEncoder.encodeでエンコードし、Servletに送信し、 Servlet内でURLDecoder.decodeでデコードしようとしているのですが、半角の「ア」はうまくencode,decodeされている(デバッグで出力すると「ア」と表示されている)のですが、全角の「あ」はうまくdecodeして「あ」と出力されません、URLEncode、URLDecodeは全角文字では使用できないのでしょうか? Linuxにて全角日本語を扱うときの方法について ご存知のかたよろしくお願いします。

    • ベストアンサー
    • Java
  • PHP ソートについて

    以前も、似たような質問をしたのですが少し内容が違いますのでよろしくお願いいたします。 このページ内で、ゲットしたキーワードを再ソートすると、2回エンコードされてしまいます。続けてまた、ソートすると、エンコードされた値がまたエンコードされてしまいます。、始めにゲットした値を1回だけエンコードし、ソートを変えても1回目のエンコードされた値を使うにはどのようにしたらよいのでしょうか? $base = 'http://xxx.xxxxxx.co.jp/xxx/xxx'; $keyword =$_GET["keyword"]; $keyword = urlencode($keyword); $sort = $_GET["sort"]; $sort = urlencode($sort); $url = $base ."&keyword=".$keyword."&sort=".$sort. ; <form action="<?=$_SERVER["SCRIPT_NAME"] ?>" method="get"> <input type="hidden" name="keyword" value="<?php print(htmlspecialchars($keyword, ENT_QUOTES)); ?>"> 表示順序 <select name="sort"> <option value="satandard">新着順</option> <option value="Price">安い順</option> <option value="-Price">高い順</option> <input type="submit" value="検索"> </select> </form>

    • ベストアンサー
    • PHP
  • "The Saint's" というような「'」付き文字検索

    "The Saint's" というような「'」付き文字検索の際にエラーとなります。 search.asp?key=<% Server.URLEncode(rs("title")) %> のようにしてリンクさせ、それをクリックしたときにエラーとなります。 このような「'」を含むキーワード検索でも正常に動くようにするにはどうしたらよいでしょうか。 #エンコードのしかたがおかしい?

  • エラー原因がよくわかりません。

     レンタルサーバー上で、以下のphpを実行したところ、行44,63にエラーが出てしまいました。考えられる原因を教えていただきたいのですが、どうぞよろしくお願いいたします。   //1件ずつ取り出すループ 44行目 while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC ) ){ echo "<tr>\n"; echo "<td><A HREF=\"event_mnt.php?post_mode=" . urlencode("検索") . "&post_date=" . _hs($rec['event_date']) . "\">修正/削除</A></td>\n"; echo "<td>" . _hs($rec['event_date']) . "</td>\n"; echo "<td>" . _hs($rec['event_name']) . "</td>\n"; $r_detail = _hs($rec['event_detail']); $r_detail = nl2br($r_detail); echo "<td>" . $r_detail . "</td>\n"; echo "<td><A HREF=\"event_chk.php" . "?post_event_date=" . _hs($rec['event_date']) . "&post_event_name=" . urlencode(_hs($rec['event_name'])) . "\">出欠状況</A></td>\n"; echo "</tr>\n"; } //結果セットの解放 63行目 mysql_free_result( $rs );

    • ベストアンサー
    • PHP
  • Server.CreateObjectでエラー発生

    昨日もお世話になりました、naritanです。 Win98+PWS(ノートPC/LAN接続なし)の環境下で、ASPでの開発を行っております。 入力されたデータをjavascriptでチェックをかけて、OKならサーバ側vbscriptにて DBへの書き込みをしようとしています。 業務上でもASPを使っているのですが、 環境が異なり、その上、初心者ですので、本を読んでいても イマイチ何がなんだか訳がわかりません。 そこで、お聞きします。 (1)入力された値をjavascriptでチェックして、OKならサーバ側vbscriptでdbへ登録するにはどのように記述したらよいのでしょうか? (2)自分なりに(1)を記述してみたのですが、 Set conn = Server.CreateObject("ADODB.Connection") の部分で、Serverオブジェクトが見つからないという、エラーが表示されます。 そろそろ頭が爆発しそうなので、よろしくお願いいたします。

  • 変数の書き方について

    下記のようなプログラムを作成しました。 この状態で20行目のechoを実行しても何も表示されません。 15行目にある$emailを表示させるためには、 19行目と20行目の辺りになんらかの変数を書かなければならないと思うのですが、 具体的にはどのような内容を記載すればよろしいのでしょうか? ご教授のほどよろしくお願いします。 1:<form method="post" action="<?=$_SERVER["PHP_SELF"]?>"> 2:<input type="hidden" name="act" value="updconf"> 3:<input type="hidden" name="roomid" value="<?=$roomid ?>"> 4:<input type="hidden" name="hiduke" value="<?=$hiduke?>"> 5:<input type="hidden" name="jikan" value="<?=$jikan?>"> 6:<input type="submit" name="sub" value="予約更新"> 7:</td> 8:<td>お名前</td> 9:<td> 10:<input type="text" name="yoyakusha" value="<?=$user ?>"> 11:</td> 12:</tr> 13:<tr> 14:<td>メールアドレス</td> 15:<td><input type="text" name="email" value="<?=$email ?>"></td> 16:</tr> 17:</form> 18: 19:<?php 20:echo $email; 21:?>

    • ベストアンサー
    • PHP
  • 100行ぐらいのテーブルをループで作っているのですが、すべて作り終えないとテーブルが表示されない!

    ASPを開発しています。 言語はVBscriptを使用しています。 例えば次の1行を 100件分だけ、ループさせているとします。 <tr> <td><input type="button" value="a"></td> <td><input type="button" value="b"></td> <td>てすと</td> <td>てすと2</td> </tr> すると、テーブルが全てできあがらない限り、 画面に何も表示されないです。。。 できた行から、上から順に表示させていきたいのですが どのようにすればよいのでしょうか? また、余談ですが、この例のように作ると ボタンが画面上にたくさんできてしまいますよね? どこかでチラッと聞いた話では、画面上に <input type="hidden">や<input type="button"> などがたくさん張り付いていると、 メモリをその分大量に使用するということでした。 この作りでは、別にボタンは1行ずつついている 必要はなく、一つにもできるのですが、 現状ではこうなっています。 一つにした方が断然処理は早くなるでしょうか? どなたか教えてください。

  • メールフォームの内容を送信者にも控えがとれるようにしたい

    下記の件で困っています。 HTMLの中で、メルフォを設けました。 <form method=post action="フォームデコードサービス"> <input type=hidden name="_mailto" value="***@*****.ne.jp"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="http://戻りURL.htm"> <table border="0" cellpadding="5" cellspacing="0" width="900"> <tr> <td width="150">氏名</td> <td colspan="2" width="700">     <input type="text" size="30" name="氏名"></td> </tr> ・ ・ ・ <p> <input type="submit" value="submit"> <input type="reset" value="reset"> </p> </form> 最初はデコードサービスを使わなかったのですが、Macから送信されるデータが文字化けする為、使うことにしました。 しかし、そうすると、送信者に送信内容が残らなくなってしまいました。 送信者の手許にもコピーが残るようにしたいので、お知恵を拝借できれば幸いです。 よろしくお願い致します。

  • フォームの入力チェック処理について

    確認ボタンを押しエラーがあればエラーメッセージを出力し なければ確認画面に移りたいと考えているのですがうまくいきません。 具体的には 1:入力フォームを表示 2-1:送信ボタンを押しエラーがあればメッセージ出力 2-2:送信ボタンを押しエラーがなければhiddenのname="mode" value="confirm"を渡す hiddenの値はswitchのcase文の値でconfirmで確認画面を表示します。 入力フォームを表示する段階にてhiddenを渡しているのが原因なのは わかるのですがエラーチェックを通す際の構文がわかりません・・・ また、hiddenを消すとエラーチェックが通るのですが例えば名前を入力 しメールを入力しない状態で 送信ボタンを押すとメールの入力を促すエラーメッセージが表示され名前の入力も消えてしまいます。 これは回避できるのでしょか? 見づらいかと思うのですが下記のソースです。宜しくお願い致します。 function input() { if(isset($_POST{"submit"})) { if (empty($_POST["name"])) { $error_message[] = "お名前を入力して下さい。"; } if (empty($_POST["email"])) { $error_message[] = "メールアドレスを入力して下さい。"; }if (count($error_message)) { echo "<p style=\"color: #ff0000\">入力内容にエラーがあります。</p>\n"; foreach ($error_message as $message) { echo "<p style=\"color: #ff0000\">" . "・$message" . "</p>\n"; } } } echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">\n"; echo "<table border=\"1\">\n"; echo "<tr>\n"; echo "<td>お名前</td>\n"; echo "<td><input type=\"text\" name=\"name\" size=\"20\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td>メールアドレス</td>\n"; echo "<td><input type=\"text\" name=\"email\" size=\"20\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td>メッセージ</td>\n"; echo "<td><textarea name=\"msg\" rows=\"5\" cols=\"40\"></textarea></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td colspan=\"2\"><input type=\"submit\" name=\"submit\" value=\"内容を確認\"></td>\n"; echo "</tr>\n"; echo "</table>\n"; echo "<input type=\"hidden\" name=\"mode\" value=\"confirm\" />\n"; echo "</form>\n"; }

    • 締切済み
    • PHP
  • URLエンコードについて

    「 † 」 の文字をUTF-8 でURLエンコードした時の値が2種類あるんでしょうか。 以下の2つのURLエンコードした文字を %EF%BC%8D %E2%80%A0 URLエンコード/ デコードの結果を出力してくれる こちらのサイトと https://www.tagindex.com/tool/url.html こちらのサイト https://tech-unlimited.com/urlencode.html で結果が異なるみたいです。 なぜこういった結果が異なる状況が生まれるのでしょうか そして正しいのはどちらなのでしょうか

専門家に質問してみよう