Getで値を渡したいがPHPが使えないサーバにて

この記事の内容は備忘録のテイストが濃厚です。

先日、いわゆる色々な物件個別詳細ページがある既存サイトにて。

 「この物件(A)について問い合わせる」ボタン をクリックすると
お問い合わせフォームへ飛び、「物件名」の欄には「物件(A)」がすでに入力済みになっている、
という値渡しもの?の制作にあたりまして、

 「ああ、GETで値を渡せばOK、、、、 MTとPHPを組み合わせれば、すぐに出来るかな、、、。」
 と考えていたところ、PHPが使えないサーバでした。(つД`)ガーン

Perl/CGIの方は使えるサーバだったのでMTと組み合わせ試行錯誤、
Perl超初心者でしたが、なんとかなりました。
ソースは下記(もちろん色々端折ってあります)。

お問い合わせページ(inquire.cgi)
#!/usr/bin/perl

@data = split(/&/,$ENV{QUERY_STRING});
foreach $line(@data){
($name,$value) = split(/=/,$line);
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}

#// HTML 出力
  print "Content-type: text/html\n\n";
  print "

#//主要部分を抜粋。ダブルクォーテーションは必ず\でエスケープ。
値1
値2
"; #// 終了 exit(0);
物件個別詳細ページ(MTの個別ブログ記事テンプレート)

値をinquire.cgiページへ渡しますよ。
		  


日本語入力だとどうやっても化けてしまったのですが、(サーバの問題?) 英語サイトだったので
まあ問題なしです。乱暴な結論でfinish。

参考にさせて頂いたページ

HTML出力の仕方から学びます。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_kj01.htm


変数格納がわかったような、、、でもエンコードデコードのところで ライブラリ使って下さい。
って千尋の谷へ落とされます。
http://www.futomi.com/lecture/form/cgilib.html#s3_1


獅子は這い上がらず、原点に戻り初心者のためのPerl的なサイトを探し...その後 完成した!
と思いきや半角空白文字がエンコードされて「%20」に。
http://chaichan.web.infoseek.co.jp/src/perlnote.htm


半角空白やらを置換える正規表現を流用し、(~ s/%([a-fA-F0-9][a-fA-F0-9]) の部分)
上記最後の問題を詰め、完成致しました。


Webプログラム言語の難しさ、理詰めの世界を垣間見た気がしました。 チラっとだけ。

※サムネ画像は自家製カルボ。 スパゲッティコードを示唆したつもり(つД`)?

Getで値を渡したいがPHPが使えないサーバにて

Share SocialMedia

Related

Commentコメント頂けると喜びます。

名前(ニックネーム)
コメントを書く

TrackBackこの記事を論及・引用、関連記事にして頂けたらありがたき幸せ。

PageTop

Search

Categoryを絞り込んで検索

Category

Calendar

show

Archive

AFFINGER4

Popularities

賢威
×