zxcv0000 の回答履歴
- CGIでjcode.plを読み込めなくなりました
さんざん検索をかけて色々試したのですが、どうしても解決できず どなたかご存知のかた、教えてください。よろしくお願い致します。 つい昨日までちゃんと動いていたCGIが突然 「jcode.plがありません」 と訴えてきました。 4月にサーバーを乗換え丸2ヶ月、問題なく動いていたのに 突然です。何がなんだか分かりません。 もちろん、このCGIに関わるファイルは一切いじっておりません。 自分なりに検討した結果 引っかかっているのは以下のコード # 漢字コード変換ライブラリを読み込む if (-f "jcode.pl") { require "jcode.pl"; } else { &errexit("jcode.plがありません。\n"); } -略- &jcode'convert(*tmp, $kcode_cgi); このふたつです。jcode.plを読み込めない為にもれなく後出の呪文が効かないんだろうなという事は推測しているのですが。 このためフルパスでも試しましたが変化なし。 この読み込みをしなければ、CGIは取りあえず表示します。 なので、日本語変換プログラム以外は正常に動作しているようです。 どなたか同じような経験の有る方いらっしゃいませんか? アドバイスよろしくお願い致します。
- FORMボタン
このフォーム変なのですか? 見た目は、[年月] [GO] となっていて、 [年月]のセレクトで選んで、 [GO]ボタンを押せばそのページに飛ぶのだと思いますが、 [GO]を押さなくてもセレクトを選んだだけで動作します。 この[GO]のボタンの意味あるんでしょうか? それとも何か間違っていますか? 正しい記述方法があれば教えてください。 <form> <select name="u" onchange="JavaScript:location.href=this.value;return false;"> <option value="http://~~/2009-05-1.html">2009/05</option> <option value="http://~~/2009-04-1.html">2009/04</option> </select> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> </form>
- ベストアンサー
- HTML
- takumana20
- 回答数3
- JavaScript でメールアドレスのチェックをするには・・・?
入力フォームで正しいメールアドレスが入力されたのかを確認するため、以下のようなJavaScriptを記述しましたが、動作しません。 関数FormCheckは動作するのですが、関数Checkは動作しません。 現状では、メールアドレスを入力する欄に「www」とだけ入力しても チェックされないので、その他の入力項目がきちんと入力できていれば メール送信されてしまいます。 どのようにすればこのCheck関数が動作するのかどなたか教えていただけないでしょうか?よろしくお願いします。 --------------------Java Script 部分--------------------------- <script language="JavaScript"> <!-- //必須項目のチェック function FormCheck(Form) { Error = new Array(); i = 0; // 氏名の入力チェック if ((Form["name"]) && (Form["name"].value == "")) { Error[i] = "氏名は必須項目です。"; i++; } // メールアドレスの入力チェック if ((Form["email"]) && (Form["email"].value == "")) { Error[i] = "メールアドレスは必須項目です。"; i++; } // 質問したい支店の選択チェック if ((Form["address"]) && (Form["address"][0].selected == true)) { Error[i] = "質問したい支店は必須項目です。"; i++; } // 未入力があればアラート if (Error.length > 0) { ErrorText = Error.join("\n"); alert ("未入力項目があるので送信できません。\n\n"+ErrorText); return false; } } // --> <!-- //メールアドレスチェック var mail; function Check(){ mail = document.myform.email1.value; if(!mail.match(/.*@.*\..*/i)){ alert("メールアドレスが不正です。"); } } // --> </script> --------------------HTML 部分----------------------------------- <body> <table width="419" height="453"> <tr> <td width="732"> <form action="./cgi/test/sendmail.cgi" name="myform" method="POST" target="_self" onSubmit="return FormCheck(this);Check()"> <table width="481"> <!--氏名を入力 --> <tr> <td><strong>氏名</strong></td> <td><input type="text" name="name" size="30" maxlength="50"></td> </tr> <!--メールアドレスを入力 --> <tr> <td><strong>メールアドレス</strong></td> <td><input type="text" name="email" size="50" maxlength="60"></td> </tr> <!--支店選択 --> <tr> <td><strong>質問したい支店</strong></td> <td> <select name="address"> <option value="" selected></option> <option value="aaa@hoemail.com">A支店</option> <option value="bbb@hoemail.com">B支店</option> <option value="ccc@hoemail.com">C支店</option> </select> </td> </tr> </table> <!--送信・キャンセルボタン --> <center> <table> <tr> <td><input type="submit" name="submit" value="送 信"></td> <td><input type="reset" name="reset" value="キャンセル"></td> </tr> </table> </center> </form> </td> </tr> </table>
- ベストアンサー
- JavaScript
- apena2
- 回答数3
- html詳しい人でもわからなかった問題。
回答が来ないかもしれないですが・・・。 フォルダの中身を、「一発で」html化して、さらにリンク化したいのです。 クリックしたら飛べるようにしたいのです。 動画集みたいなものを作ってまして、 自分で作った動画ファイルが200個くらいあるんです。 これをいちいち、ファイル名を書き込んで、ディレクトリにリンクを貼って・・・ とやっていると日が暮れます。 一発でhtmlを作るフリーウェアなどがあったと思うんですが。 ------------- たとえば /動画フォルダ1 の中に a.mp4 b.mp4 という二つのファイルがあるとします。 で、これをまずhtml化する。 たとえば1.htmlというファイルを作って、 で、それを開くと a.mp4 b.mp4 という風に青文字下線リンクが、出力されていて、 しかも、a.mp4を押すと、 /動画フォルダ1/a.mp4 に直リンクされていて、動画が表示される。 こういうhtmlファイルを、 一発で作りたいのです。 説明がへたくそ&ややこしい話で本当にすいません。 期待せずに待っています。
- FORMボタン
このフォーム変なのですか? 見た目は、[年月] [GO] となっていて、 [年月]のセレクトで選んで、 [GO]ボタンを押せばそのページに飛ぶのだと思いますが、 [GO]を押さなくてもセレクトを選んだだけで動作します。 この[GO]のボタンの意味あるんでしょうか? それとも何か間違っていますか? 正しい記述方法があれば教えてください。 <form> <select name="u" onchange="JavaScript:location.href=this.value;return false;"> <option value="http://~~/2009-05-1.html">2009/05</option> <option value="http://~~/2009-04-1.html">2009/04</option> </select> <input type="button" value="GO" onclick="JavaScript: location.href=this.form.u.value; return false;" /> </form>
- ベストアンサー
- HTML
- takumana20
- 回答数3
- ハッシュの中身の表示
ハッシュの中身の確認ができなくて困っています。 下記のような実行文においてです。 当然、test の戻り値は、スカラーとハッシュです。ハッシュを戻すときには参照渡し記号の\もつけています。 my ($return_code, %hash_data) = test(); 表示しようとすると、 Hash(0x5b04) のような表示にしかなりません、、 (試した表示方法は、下記4つです。) (環境は、WindowsXP上での、ActivePerl-5.10.0.1004 です。) foreach $key ( keys( %Hash ) ) { print "キー値 : $key\n"; print "値 : $Hash{$key} \n " } while ( ( $key , $value ) = each %Hash ){ print "キー値 : $key\n"; print "値 : $value \n " ; } use Data::Dump qw(dump); print dump(\%hash); #print %display_test; 宜しくお願いします。
- ベストアンサー
- Perl
- TeferiMage
- 回答数2
- 実行可能な外部コマンドは?
cgiプログラムから外部コマンドを実行させたいのですが,できることとできないことの区別が明確でありません. システムコマンドのlsは実行できず,wc や cp は実行できます. 自作のプログラムはcgiプログラムと同じところある物は動きますが,それを/binや/usr/binに移動させると動かなくなります. これはサーバのセキュリティがそのように設定されているということなのでしょうか?
- ベストアンサー
- CGI
- sunasearch
- 回答数3
- 実行可能な外部コマンドは?
cgiプログラムから外部コマンドを実行させたいのですが,できることとできないことの区別が明確でありません. システムコマンドのlsは実行できず,wc や cp は実行できます. 自作のプログラムはcgiプログラムと同じところある物は動きますが,それを/binや/usr/binに移動させると動かなくなります. これはサーバのセキュリティがそのように設定されているということなのでしょうか?
- ベストアンサー
- CGI
- sunasearch
- 回答数3
- CGI.pmで日本語をURLエンコードするとおかしい
CGI.pmで日本語をURLエンコードするとおかしくなります。 print($q->unescape($q->escape('あ')), "\n"); このコードは文字'あ'をURLエンコードしたものをURLデコードして表示するはずです。 すなわち'あ'と表示するはずです。 しかし実際には'a??'と表示されてしまいます・・・ 何か他の関数をかまさないといけないのでしょうか???
- 実行可能な外部コマンドは?
cgiプログラムから外部コマンドを実行させたいのですが,できることとできないことの区別が明確でありません. システムコマンドのlsは実行できず,wc や cp は実行できます. 自作のプログラムはcgiプログラムと同じところある物は動きますが,それを/binや/usr/binに移動させると動かなくなります. これはサーバのセキュリティがそのように設定されているということなのでしょうか?
- ベストアンサー
- CGI
- sunasearch
- 回答数3
- 見た目はまったく同じなのに・・・
とあるHPを修正していまして、 修正前と修正後のレイアウトに違いがあり、どこが原因か切り分けしていたところ、 ズレる→<form id="ajaxSearch_form" action="result.html" method="post"> 正常 →<form id="ajaxSearch_form" action="result.html" method="post"> の1行に問題があるようでした。 (見た目は完全に同じなのですが) この1行以外は両ファイルともコピペして同じものにしています。 ズレているファイルに、正常の方の1行を張り付ければ正常になります。 正常のファイルに、ズレる方の1行を貼り付けるとズレてしまいます。 でも、まったく見た目は同じです。 で、2つのファイルの違いを調べるソフトを使って調べたところ ズレている方のファイルには (←で表示される特殊文字。i>>?の逆さまのような文字)<form id="ajaxSearch_form" action="result.html" method="post"> と表示されているのです。 スペースも改行もなくして試しても同じ結果でした。 どなたか原因等わかる方、よろしくお願いします。
- 見た目はまったく同じなのに・・・
とあるHPを修正していまして、 修正前と修正後のレイアウトに違いがあり、どこが原因か切り分けしていたところ、 ズレる→<form id="ajaxSearch_form" action="result.html" method="post"> 正常 →<form id="ajaxSearch_form" action="result.html" method="post"> の1行に問題があるようでした。 (見た目は完全に同じなのですが) この1行以外は両ファイルともコピペして同じものにしています。 ズレているファイルに、正常の方の1行を張り付ければ正常になります。 正常のファイルに、ズレる方の1行を貼り付けるとズレてしまいます。 でも、まったく見た目は同じです。 で、2つのファイルの違いを調べるソフトを使って調べたところ ズレている方のファイルには (←で表示される特殊文字。i>>?の逆さまのような文字)<form id="ajaxSearch_form" action="result.html" method="post"> と表示されているのです。 スペースも改行もなくして試しても同じ結果でした。 どなたか原因等わかる方、よろしくお願いします。
- ハッシュの中に格納された配列の要素数を得る方法
予想配列のあるキーを配列とします。 %hash; @hash{'a'}=['aa','ab','ac']; 一方で普通の配列をスカラ変数として扱うと配列数を表します。 @array=(a,b,c,d,e); $num=@array; # $numは5になる。 それでは $num=@hash{'a}; あるいは $num=@{hash{'a'}}; としたらどうなるのって ARRAY(0x2438c4) みたいになって、$numに@hash{'a'}の要素数は入りません。 予想配列の中に格納された配列の要素数を取り出す簡便な方法はないものでしょうか。 お手数をお掛けします。
- UTF-8へのエスケープ方法
ホームページに検索窓をつけてYahoo辞書を検索するようなCGIを作ったのですが、検索すると、例えば、「辞書」と入れると、キーワードが%8E%AB%8F%91と、Shift-JISでエスケープされているようなんです。 これを%e8%be%9e%e6%9b%b8と、UTF-8でエスケープするようにするのはどうすればいいんでしょうか。 こんなソースです。 初心者なのでよろしくお願いします。 #!/usr/local/bin/perl #use strict; my %engine = ( google => 'http://www.google.com/search?ie=Shift_JIS&safe=off&q=', yahoo => 'http://search.yahoo.co.jp/search?ei=SJIS&p=', kokugo => 'http://dic.yahoo.co.jp/dsearch?enc=UTF-8&stype=0&dtype=0&p=', eigo => 'http://eow.alc.co.jp/', ); my (%in); %in = map { split(/=/, $_, 2) } split(/[&;]/, $ENV{QUERY_STRING}); search($in{word}, $in{engine}); exit; sub search { my ($word, $search) = @_; # 謎の検索エンジンだったら google $search = $engine{$search} || $engine{google}; # アルクは検索語をエスケープしない if($search eq "http://eow.alc.co.jp/"){ $word =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg; print qq(Location: $search$word/UTF-8/\n\n); }else{ print qq(Location: $search$word\n\n); } }
- 締切済み
- CGI
- mayumi9999
- 回答数6
- UTF-8へのエスケープ方法
ホームページに検索窓をつけてYahoo辞書を検索するようなCGIを作ったのですが、検索すると、例えば、「辞書」と入れると、キーワードが%8E%AB%8F%91と、Shift-JISでエスケープされているようなんです。 これを%e8%be%9e%e6%9b%b8と、UTF-8でエスケープするようにするのはどうすればいいんでしょうか。 こんなソースです。 初心者なのでよろしくお願いします。 #!/usr/local/bin/perl #use strict; my %engine = ( google => 'http://www.google.com/search?ie=Shift_JIS&safe=off&q=', yahoo => 'http://search.yahoo.co.jp/search?ei=SJIS&p=', kokugo => 'http://dic.yahoo.co.jp/dsearch?enc=UTF-8&stype=0&dtype=0&p=', eigo => 'http://eow.alc.co.jp/', ); my (%in); %in = map { split(/=/, $_, 2) } split(/[&;]/, $ENV{QUERY_STRING}); search($in{word}, $in{engine}); exit; sub search { my ($word, $search) = @_; # 謎の検索エンジンだったら google $search = $engine{$search} || $engine{google}; # アルクは検索語をエスケープしない if($search eq "http://eow.alc.co.jp/"){ $word =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg; print qq(Location: $search$word/UTF-8/\n\n); }else{ print qq(Location: $search$word\n\n); } }
- 締切済み
- CGI
- mayumi9999
- 回答数6
- UTF-8へのエスケープ方法
ホームページに検索窓をつけてYahoo辞書を検索するようなCGIを作ったのですが、検索すると、例えば、「辞書」と入れると、キーワードが%8E%AB%8F%91と、Shift-JISでエスケープされているようなんです。 これを%e8%be%9e%e6%9b%b8と、UTF-8でエスケープするようにするのはどうすればいいんでしょうか。 こんなソースです。 初心者なのでよろしくお願いします。 #!/usr/local/bin/perl #use strict; my %engine = ( google => 'http://www.google.com/search?ie=Shift_JIS&safe=off&q=', yahoo => 'http://search.yahoo.co.jp/search?ei=SJIS&p=', kokugo => 'http://dic.yahoo.co.jp/dsearch?enc=UTF-8&stype=0&dtype=0&p=', eigo => 'http://eow.alc.co.jp/', ); my (%in); %in = map { split(/=/, $_, 2) } split(/[&;]/, $ENV{QUERY_STRING}); search($in{word}, $in{engine}); exit; sub search { my ($word, $search) = @_; # 謎の検索エンジンだったら google $search = $engine{$search} || $engine{google}; # アルクは検索語をエスケープしない if($search eq "http://eow.alc.co.jp/"){ $word =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg; print qq(Location: $search$word/UTF-8/\n\n); }else{ print qq(Location: $search$word\n\n); } }
- 締切済み
- CGI
- mayumi9999
- 回答数6
- apache2でforbiddenになってしまう
apache2で質問です。 public_html/xxx.htmlは正常に表示されるのですが、 public_html/test/xxx.htmlはforbiddenになってしまいます。 まったく同じファイルです(パーミッションも)。 testフォルダはdrwxr-xr-xです。
- 締切済み
- CGI
- noname#115727
- 回答数2
- カンマを,以外で表現したい
実際にはCGIやPerlではなくHTMLの技術だと思いますがPerlがらみのことなのでこちらで質問させて頂きます。 PerlでCSVファイルを扱っているのですが、データの中にカンマ(,)が入るとそこで分割されて取り扱われるので、何か他のものに置き換えたいと思っています。 ですが勝手に自分で決めたものだと、表示する際に置き換えたデータを元に戻さないといけないし、万一自分が決めた形と同じ形のデータが存在すると表示するときに置き換えたデータをカンマに戻すとそのデータまで置き換わってしまうので、きちんとしたコードがないものかと思っているのですが、カンマのタグというものはないのでしょうか。 つまりは、半角スペースなら と置き換えられると思いますが、このようなコードで書き換えることはできないのでしょうか。 例) 「123,123」というデータを登録するのに分割されるのを防ぐために「,」を「、」に置き換えると、表示する際に再度置換する必要がある上、同一データ内に「私は、○○です。」があるとその「、」まで「,」に変換されてしまうのでそれを防ぎたいし、できれば表示する際置換しなくていいものがあれば。 PS 専門用語が分らないのでうまく説明できなくてすみません。
- textarea内を書き換えたいんです。
textarea内のvalueを書き換えたいんですが、下記のような形だとだめなんでしょうか。 <textarea name="text_name[0]"></textarea> <textarea name="text_name[1]"></textarea> <textarea name="text_name[2]"></textarea> document.enq_form.text_name[1].value = "テキスト"; 現状では、text_name[1]がundefinedになってしまいます。 ご教授お願いいたします。
- ベストアンサー
- JavaScript
- noname#110895
- 回答数2