- ベストアンサー
クエリーをキーなしで?
http://www.****.com/index.cgi?num=1 ↑今現在、こういった形で運用しているのですが、これを短縮して、 http://www.***.com/1 でも動くようにしたいと思っています。 これを実現させる為には .htaccessの変更が必要になるのでしょうか? あと、キー(num)も省略したいのですが、 require './cgi-lib.pl'; my %input; &ReadParse(\%input); $number = %input; こんな感じで合っていますでしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- cgi-lib.plの&ReadParse();の()の中
cgi-lib.plのReadParseを使う時、 require 'cgi-lib.pl'; &ReadParse(*---); こんな風に書きますよね? ()の中はどういう意味なんでしょうか? 何でもいいんですか?
- ベストアンサー
- Perl
- jcode.pl と &ReadParse()
CGIファイルの先頭は #!/usr/local/bin/perl require './cgi-lib.pl'; require './jcode.pl'; &ReadParse(); という感じになっています。 ここでのの require は、日本語を使うためのもの だと思っています。合っていますか? &ReadParse() というのは何ですか? require と関係があるみたいです。 require を書かずに &ReadParse() を書くとCGIエラーになります。
- ベストアンサー
- CGI
- cgi-lib.plのReadParse関数
あるパールからcgi-libを呼び出して、ReadParse関数を使おうとするとInternal Server Errorがでてしまいます。 パールの中身は #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse(*in); です。 そこで3行目と5行目の行頭に#をつけて飛ばすとパールは正常に動きます。 これってcgi-lib.plのReadParse関数がいけないんでしょうか? ダウンロードしたまま何も変更していないのに..... ちなみにサーバーのパールのバージョンは5.004のようです。
- ベストアンサー
- CGI
- Perlでuse strictと %inの共存
use strictを使うと、変数の使用に厳密にチェックしてくれるので、便利だと思い使いましたが、ReadParse後の%inを利用する場合に宣言されていないエラーが表示されます。意味的には正しいですが、$in{'test'}など CGIで受け取った内容が扱えなくなるので、困っております。何か解決方法は有るのでしょうか? use strict; require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse; my $x = $in{'md'};
- ベストアンサー
- Perl
- use strictとグロブ?
cgi-lib.plのReadParseの引数でParamグロブを使った場合、 use strict;をすると、必ず以下のエラーが表示されます。 use strictはそのまま使いたく、他の部分も厳密にチェックしたいのですが 何かよい方法はありますか? use strict; require 'cgi-lib.pl'; &ReadParse(*Param); my $MODE = $Param{'MODE'}; <----- errro Variable "%Param" is not imported at
- ベストアンサー
- Perl
- cgi-libを使って変数値渡しをしたいのですが
cgi間の変数渡しの質問をしたのですが、うまくいかなかったので、調べてみると、 cgi-lib.pl'を使うことで簡単に値を渡せるということが分かりました。 ですが、 use lib '/home/www'; require 'cgi-lib.pl';# cgi-lib.plを呼び出す $test=1000; # 変数値渡し? form_input_post.cgi?name=$test; &ReadParse(*in); として、$testの値をform_input_post.cgiに渡そうとしたのですが。 コンパイルエラーが出てしまいました。 Can't modify constant item in scalar assignment at form_input_post.cgi line 49, near "$test;" syntax error at form_input_post.cgi line 49, near "$test;" form_input_post.cgi had compilation errors. というエラーです。 初歩的なミスな気がしますが原因がわからないので教えて頂きたいです。 よろしくお願いします。
- 締切済み
- CGI
- javascriptでのファイル更新について
prototype.jsのAjax.Updaterでファイルを閲覧することはできたのですが、 ファイルを更新する方法が分かりません。 javascriptでファイルを更新することは不可能なのでしょうか。 perlで言うところの ============================== require "./cgi-lib.pl"; &ReadParse(); open(FH, ">> aaa.txt"); print FH $in{'bbb'}; close(FH); ============================== みたいな処理がしたいです。 環境の制約によりcgiが使えないのでなんとかjavascriptで実現できないかと考えています。
- 締切済み
- JavaScript
- PerlのCGIでフォームのテキスト配列をPerlで取得するには?
フォームで通常は同じ名前のデータを取得することは無いのですが 表計算のように同じ名前の場合、データの取り出し方がわかりません。 以下、通常の1件の場合のソースです。 #!/usr/bin/perl $| = 1; use strict; our %in; use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); require 'jcode.pl'; require 'cgi-lib.pl'; # #-----分岐----- &ReadParse; # 配列でない場合 my $namae = $in{'namae'} print "$namaeで名前が1件表示される"; # これをフォームで namaeが配列になった場合、 #<input type="text" name ="namae"> #<input type="text" name ="namae"> #<input type="text" name ="namae"> # のような場合、3件取得する場合 exit; __END__
- ベストアンサー
- CGI
- perlで受取ったパラメータをバイトコードのまま変数に代入
HTMLフォームの、name=aのテキストボックスに「あ」と入力しCGIにSubmitすると、a=%82%A0とバイトコードに変換されわたされますよね 受け側のCGIで下記の様にそのパラメータを$aに代入すると、$aには「あ」となって代入されるのですが、あえて「あ」ではなくバイトコードの「%82%A0」で代入するようにするには、どうしたらよいのでしょうか? #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse; $a=$in{'a'};
- ベストアンサー
- Perl
- フォーム入力をファイルに書き出す場合のセキュリティ
メールフォームで入力された項目を csvファイルなどでサーバに残しておきたいです。 フォームの項目は名前、メールアドレスなど一般的なものです。 フォームの入力データをcgi-lib.plを使って my %input; &ReadParse(\%input); $Name = $input{'name'}; のようにして受け取っています。 csvをopen関数を使って書き残そうと思っています。 セキュリティ上問題はないでしょうか。 open関数はセキュリティ上注意しなければいけないと聞いたので 心配です。 お願いします。
- 締切済み
- CGI
お礼
どうもありがとうございます!! 無事に解決致しました。 RewriteEngineの事は全く知りませんでした。