インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
お名前:  ←パスワード(修正用)
アドレス:
タイトル:

本文:
  表示数

1162 海豚 [RE] 2001/01/29 10:13 [修正]
RE4:平仮名入力エラー表示
 ありがとうございます。
英字を入力して試してみました。
「sub yomi」は通っているようですがそのまま行ってしまいました。
以下内容です。
ご教授の程宜しく御願い致します。

=================================

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error('エラー','使い方が間違っています.'); }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {

    ($name, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    &jcode'convert(*value,'euc');
#   &jcode'convert(*value,'sjis');

    $value =~ s/
/g; $value =~ s/\r//g; $value =~ s/\t//g; $value =~ s/\,//g; $FORM{$name} = $value; } #入力チェック $FORM{'q01'} =~ s/ //g; $FORM{'q01'} =~ s/ //g; if ($FORM{'q01'} eq "") { &error('入力エラー','氏名が入力されてません。'); } $FORM{'q02'} =~ s/ //g; $FORM{'q02'} =~ s/ //g; $yomi = $FORM{'q02'}; $error = "名前の読みはひらがなだけです。" if (&yomi($yomigana) == 0); if ($FORM{'q02'} eq "") { &error('入力エラー','ふりがなが入力されてません。'); } ・ ・ ・ ・ ・ sub yomi{ local($yomi) = @_; jcode::convert(*yomi,"euc"); @name = unpack ('C*',$yomi); while ($line = $name[$y++]){ if ($y % 2){ $line == 164 or return 0; }else{ ($line <= 243 and $line >= 161) or return 0; } } return 1; } ==================================</=>

1161 水原麗名とも呼ばれる人 [RE] 2001/01/28 04:17 [RES一覧] [修正]
RE3:平仮名入力エラー表示
#1159(海豚氏)の書き込みを引用します:
>凄い雪ですね!
>#1158(水原麗名とも呼ばれる人氏)の書き込みを引用します:
>>昔私がやったときは「名前の読み方を入力」でした。
>>
>>@name = unpack ('C*',$name);
>>while ($line = $name[$y++]){
>>  if ($y % 2){
>>    $line == 164 or return 0;
>>  }else{
>>    ($line <= 243 and $line >= 161) or return 0;
>>  }
>>}
>>return 1;
>>文字コードをEUCに変換してからここに渡すとひらがな以外があると0を返します。
>
>ありがとうございます。
>私も、「名前の読み方を入力」を使用しようとしています。
>でも私には難しすぎるのですが・・・。
>上記のようにそのまま入れたらエラーになってしまいました何故でしょう?
>と言っても分からないですよね・・・。そのままじゃダメなのでしょうか?
>原因が分かるようでしたら御願い致します。

もしかしたらサブルーチンじゃないのが原因かもしれません。
ってことで当時書いたそのままのサブルーチンです。

sub yomi{
  local($yomi) = @_;
  jcode::convert(*yomi,"euc");
  @name = unpack ('C*',$yomi);
  while ($line = $name[$y++]){
    if ($y % 2){
      $line == 164 or return 0;
    }else{
      ($line <= 243 and $line >= 161) or return 0;
    }
  }
  return 1;
}

このサブルーチンが入っている状態で
入力を受けとった後で
$error = "名前の読みはひらがなだけです。"  if (&yomi($yomigana) == 0);
とするとOKなはずです。

えんいー。</=>

1160 わかやま神 [RE] 2001/01/28 00:35 [修正]
RE3:平仮名入力エラー表示
#1159(海豚氏)の書き込みを引用します:
>上記のようにそのまま入れたらエラーになってしまいました何故でしょう?
>と言っても分からないですよね・・・。そのままじゃダメなのでしょうか?
>原因が分かるようでしたら御願い致します。

水原麗名先生の書かれたルーチンに渡す前に文字コードを「EUC」に変換していますか?

1159 海豚 [RE] 2001/01/27 21:32 [RES一覧] [修正]
RE2:平仮名入力エラー表示
凄い雪ですね!
#1158(水原麗名とも呼ばれる人氏)の書き込みを引用します:
>昔私がやったときは「名前の読み方を入力」でした。
>
>@name = unpack ('C*',$name);
>while ($line = $name[$y++]){
>  if ($y % 2){
>    $line == 164 or return 0;
>  }else{
>    ($line <= 243 and $line >= 161) or return 0;
>  }
>}
>return 1;
>文字コードをEUCに変換してからここに渡すとひらがな以外があると0を返します。

ありがとうございます。
私も、「名前の読み方を入力」を使用しようとしています。
でも私には難しすぎるのですが・・・。
上記のようにそのまま入れたらエラーになってしまいました何故でしょう?
と言っても分からないですよね・・・。そのままじゃダメなのでしょうか?
原因が分かるようでしたら御願い致します。


>>また、「英字」以外はエラーメッセージを表示するもご存知でしたら御願い致します。
>こちらはもっと簡単でしょう。
>
>$line =~ /^[A-Za-z]$/ or &error("英字以外が含まれています");
>
>これだけでOKだと思います。文字コードはShift-JISかEUCで。</=>

こちらの方は出来ましたありがとうございます。

1158 水原麗名とも呼ばれる人 [RE] 2001/01/26 23:04 [RES一覧] [修正]
RE:平仮名入力エラー表示
#1156(海豚氏)の書き込みを引用します:
> こんにちは。
>「うはく」さん「わかやま神」さん色々とありがとうございます。
>
>入力画面はHTMLで、その入力された文字が「平仮名」以外ならばエラーメッセージを表示すると言う事は可能でしょうか?
昔私がやったときは「名前の読み方を入力」でした。

@name = unpack ('C*',$name);
while ($line = $name[$y++]){
  if ($y % 2){
    $line == 164 or return 0;
  }else{
    ($line <= 243 and $line >= 161) or return 0;
  }
}
return 1;
文字コードをEUCに変換してからここに渡すとひらがな以外があると0を返します。


>また、「英字」以外はエラーメッセージを表示するもご存知でしたら御願い致します。
こちらはもっと簡単でしょう。

$line =~ /^[A-Za-z]$/ or &error("英字以外が含まれています");

これだけでOKだと思います。文字コードはShift-JISかEUCで。</=>

1157 海豚 [RE] 2001/01/26 09:59 [修正]
入力文字
 下のは色々やってみたのですが無理ですね。
1文字入ってもエラーを表示させるというのは。

ところで、入力された内容と同じ内容ならその文字に1足して保存する。
と言うのをやりたいのですが、以下の物を考えてみたのですが
「***」「***1」「***2」「***3」迄は行くのですが次が「***2」となり
その次は「***3」となって後は繰り返しになってしまいました。
これを数字を増やして行くにはどうすればいいのでしょう?
またこれだと「***9」迄しか出来ませんがずっと続ける(「***99」とか)
というのは簡単に出来るでしょうか?

===================================

if ($FORM{'q03'} eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.1; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.2; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.3; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.4; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.5; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.6; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.7; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.8; }
if ($q3 eq $a03) { $roma = 1; $q3 = $FORM{'q03'}.9; }
}
if ($roma == 1) { $FORM{'q03'} = $q3; }

===================================

1156 海豚 [RE] 2001/01/25 12:51 [RES一覧] [修正]
平仮名入力エラー表示
 こんにちは。
「うはく」さん「わかやま神」さん色々とありがとうございます。

入力画面はHTMLで、その入力された文字が「平仮名」以外ならばエラーメッセージを表示すると言う事は可能でしょうか?
また、「英字」以外はエラーメッセージを表示するもご存知でしたら御願い致します。

1155 わかやま神 [RE] 2001/01/08 23:33 [修正]
RE3:CGIでメールアドレス
#1154(海豚氏)の書き込みを引用します:
>「¥」って@の前に付けるんですね。
>おかげさまで解決いたしましたありがとうございます。

それはよかったです(汗)
あっ!!そうか!エスケープする場所間違えていましたね。
出先だから参考書ないとわからんもんですな(爆)
覚える気が無いとも言えるけど・・・

1154 海豚 [RE] 2001/01/08 10:23 [RES一覧] [修正]
RE2:CGIでメールアドレス
#1152(わかやま神氏)の書き込みを引用します:
><a href="mailto:abc@\abc.ne.jp">abc@\abc.ne.jp</a>
>じゃないですか?

間違えて書き込んでしまいました。その通りです。

>それとも、
>$mail='abc@abc.ne.jp';
><a href="mailto:$mail">$mail</a>
>とするとか・・・

上記のようにしたのですが変わりませんでした。

#1153(うはく氏)の書き込みを引用します:
>「¥」をつける位置が違うようです。
>abc@¥abc.ne.jp
>ではなく
>abc¥@abc.ne.jp
>ならOKかと。

「¥」って@の前に付けるんですね。
おかげさまで解決いたしましたありがとうございます。

1153 うはく [RE] 2001/01/08 00:03 [修正]
RE:CGIでメールアドレス
#1151(海豚氏)の書き込みを引用します:
>CGIでメールアドレスを表示させようとして試行錯誤の結果
><a href=\"mailto:abc@\abc.ne.jp\">abc@\abc.ne.jp</a>
>というようにしたらちゃんとCGIが実行されたのですが
>表示画面が「abc@bc.ne.jp」というように
>変な表示になってしまいました。
>どの様にすればちゃんと表示されるようになるのかご存知でしたら教えて下さい。御願い致します。

「¥」をつける位置が違うようです。
abc@¥abc.ne.jp
ではなく
abc¥@abc.ne.jp
ならOKかと。

もしくはわかやま先生のようにされるとよいかと。

1152 わかやま神 [RE] 2001/01/07 22:29 [RES一覧] [修正]
RE:CGIでメールアドレス
#1151(海豚氏)の書き込みを引用します:
> お久しぶりです。
>CGIでメールアドレスを表示させようとして試行錯誤の結果
><a href=\"mailto:abc@\abc.ne.jp\">abc@\abc.ne.jp</a>
>というようにしたらちゃんとCGIが実行されたのですが
>表示画面が「abc@bc.ne.jp」というように
>変な表示になってしまいました。
>どの様にすればちゃんと表示されるようになるのかご存知でしたら教えて下さい。御願い致します。
>
>何回かの実験の結果aaa@angel.ne.jpだと上記のようになってしまうみたいです・・・。困った

<a href="mailto:abc@\abc.ne.jp">abc@\abc.ne.jp</a>
じゃないですか?

それとも、
$mail='abc@abc.ne.jp';
<a href="mailto:$mail">$mail</a>
とするとか・・・
ところで、これヒアドキュメントで出してるのかな?

1151 海豚 [RE] 2001/01/07 20:44 [RES一覧] [修正]
CGIでメールアドレス
 お久しぶりです。
CGIでメールアドレスを表示させようとして試行錯誤の結果
<a href=\"mailto:abc@\abc.ne.jp\">abc@\abc.ne.jp</a>
というようにしたらちゃんとCGIが実行されたのですが
表示画面が「abc@bc.ne.jp」というように
変な表示になってしまいました。
どの様にすればちゃんと表示されるようになるのかご存知でしたら教えて下さい。御願い致します。

何回かの実験の結果aaa@angel.ne.jpだと上記のようになってしまうみたいです・・・。困った

1150 ひろす [RE] 2000/12/05 21:43
iモード対応HP作ってみました。
早速HP作ってみました。
暇な方は遊びにきてね。

1149 カエル [RE] 2000/11/16 12:35
わずらわせてすいませんでした。
自分もまだまだ勉強ぶそくすぎなので、なにかしら調べてみます。
どうも、ありがとうございました!

1148 水原麗名@ういんずはーと [RE] 2000/11/13 17:11 [修正]
RE:レスをありがとうございます。
#1146(カエル氏)の書き込みを引用します:
>実は、「perl」自体がLANでつながっているほかのサーバーにある場合でも
>可能ですか?(自分のクライアントには「parl」が入っていない。)

Windowsマシンなら
z:\
だか
(マシン名)\\
を最初につけてPerlの場所を指定すれば多分大丈夫だと思います。(自信なし)
LANは私もやったことないです。

1147 うはく [RE] 2000/11/13 13:24 [修正]
RE:レスをありがとうございます。
#1146(カエル氏)の書き込みを引用します:
>実は、「perl」自体がLANでつながっているほかのサーバーにある場合でも
>可能ですか?(自分のクライアントには「parl」が入っていない。)

だっ大丈夫なんではないでしょうか…。多分。
LAN 良くわかんないのでしどろもどろです。
(LAN ってそういうの意識しなくても良いように出来てるもんじゃないのかなぁと勝手に思ってみたりして…)

ここでヘルプカード使います。
「ヘルプ」

やってみるのが一番という話もないのかな?やはりわかんないです。ごめんなさい。

1146 カエル [RE] 2000/11/12 00:59 [RES一覧]
レスをありがとうございます。
実は、「perl」自体がLANでつながっているほかのサーバーにある場合でも
可能ですか?(自分のクライアントには「parl」が入っていない。)

1145 うはく [RE] 2000/11/08 23:36 [修正]
RE:はじめまして
#1144(カエル氏)の書き込みを引用します:
>parlの所在場所を、CGIやSSIのスクリプトの上のディレクトリーに置いて
>ある場合でも大丈夫ですか?

「perl」自体はどこにあっても良いのではないかと。
本書のスクリプトをそのまま使う場合は最初の行
(「#!」で始まる行)
をperlを置いた場所に変更しなくてはなりません。

1144 カエル [RE] 2000/11/03 00:51 [RES一覧]
はじめまして
parlの所在場所を、CGIやSSIのスクリプトの上のディレクトリーに置いて
ある場合でも大丈夫ですか?
初心者なので、キチガイなことを言ってるようですけど・・・。

1143 水原麗名@ういんずはーと [RE] 2000/10/31 04:15 [修正]
RE:SSIのアクセスログについて。
#1141(HIJET氏)の書き込みを引用します:
>こんばんわ!
>SSI式のアクセスログ取得のスクリプトを使いたいのですが、
>フレームを使っている場合はどのように設置したらよいのでしょうか?
>どうか教えてください。

CGIにしてフレームを読む時にアクセスログをとる…ってのはダメ?

あと521個の発言があります。 [さらに20個を読む]
[トップページに戻る]管理人 : キャメル