匿名質問者

perlで「=」を送る方法

フォームにvalueのデータを送りたいのですが、途中に「=」が入っているのでうまく送れません。
a href="../new/new.cgi?mode=admin&pass=0000&url=cgi/data/list.cgi?cat=$cat&no=$no
として、URLの欄に「cgi/data/list.cgi?cat=$cat&no=$no」を送りたいのですが、結果は「cgi/data/list.cgi?cat」だけがフォームに記載されます。
「=」の代わりに「&#61」を使ってみましたが結果は変わらずです。

全部送るにはどのようにしたらいいでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/08/24 09:37:29

ベストアンサー

匿名回答3号 No.2

「=」の代わりに「%3D」を使います

詳細は「URLエンコード」で調べてみてください

その他の回答1件)

匿名回答1号 No.1

状況がちょっとよく分かりませんが、
$cat&
${cat}&
とか変数名を{}で囲ってみて下さい。
若しくは、\$cat&としてみて下さい。
変数として正しく評価されるか、エスケイプシーケンスにより、変数として評価されなくなります。

匿名質問者

返答ありがとうございます。説明不足で申し訳ないです。

記事を保存するCGIの最後の画面で、「この記事を掲載した事を新着に載せる」と言う事をしようとしています。
<a href="../new/new.cgi?mode=admin&pass=0000&url=cgi/data/list.cgi?cat=$cat&no=$no>これを新着に載せる</a
のリンクをクリックする事で、別の新着掲載cgiのフォームに直接記事のURLを貼り付けできないかと思ってます。
でもこのままだと
・mode=admin
・pass=0000
・url=cgi/data/list.cgi?cat
・=$cat
・no=$no
に分かれてしまっているようで、フォームのURLには「cgi/data/list.cgi?cat」までしか入りません。
で、URLの欄に「cgi/data/list.cgi?cat=$cat&no=$no」を送りたいのですが
cgiに「url=cgi/data/list.cgi?cat=$cat&no=$no」と記述しても、結局画面上には「cgi/data/list.cgi?cat=$cat&no=$no」と表示されるだけで、フォーム上では「=」で途切れてしまいます。
これをどうにかしたいと思ってます。

2016/08/23 14:07:51
匿名質問者

一部修正します。

cgi上で、$catが1・$noが10の時、画面(ソース)上は、
cgi/data/list.cgi?cat=1&no=10
と表記されてます。変数が送られないという意味ではありません。

2016/08/23 14:10:52
匿名回答3号 No.2

ここでベストアンサー

「=」の代わりに「%3D」を使います

詳細は「URLエンコード」で調べてみてください

  • 匿名回答2号
    匿名回答2号 2016/08/23 13:05:21
    cgi%2Fdata%2Flist.cgi%3Fcat%3D%24cat%26no%3D%24no
    URIエンコードする という事でしょうか。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません