新規記事投稿 フォロー記事投稿 記事のキャンセル
From: 三葉工房の管理者 <nature-create@amy.hi-ho.ne.jp>
Subject: エラーの原因(黒幕的存在がいた!)
Date: 1999/02/05 17:10:59

エラーの原因(黒幕的存在がいた!)
エラーの原因(黒幕的存在がいた!)
先程の三葉工房です。色々とアドバイスありがとうございます。
ようやく,ユーザーパスワードのエラーの原因を突き止めました。 foreach文 foreach $keymatch(@keymatch){ ($mail,$yourname,$date,$gurl,$hpagename,$coment,$password)=split(/&&/, $keymatch); $password=~ s/\n//g; if($in{'pawin'} eq $password){ $keyflag=$keyflag+1; }} という形の投稿前の書き方で正しかったです。では,何がいけなかったか? それは,全く予想のない存在でした。 それは,キーワードでした。 私の場合, "$in{'要素1'}&&$in{'要素2'}&&$in{'要素3'}\n"で,unshift方式で いきなり,書き込みファイルから新規記事が最上段にプリントされる書き方を してますが,パスワードの要素の位置がラストと$in{'要素3'}に当り, その要素の右側に改行コードが書かれてして,それを,ボードに出力する場合, foreach文とsplitを使いますが,splitの分割対象が"&&"で"\n"では,無く, それにより,$in{'要素3'}に\nと一体になった要素が作られてしまい,そして, その要素の一番最後のにだけ\nがないので,その最後のパスワードだけしか マッチせず,他のは,"要素3"と"要素3\n"なので,一致せず,それに気付く事 なく,数日も立ち往生していました。 それに,気付きのその\nを$password=~ s/\n//g;で省いて目的のユーザーパスワード システムは,動かす事が出来る様なりました。
今は,変更システムの研究に励んでいますが,変更記事をunshiftを利用して, トップに新たに上書きする形は簡単に出来るそうです。 それでは,又,不明な点がありましたら,今度こそ謙虚な態度で,投稿させていただこうと 思います。
御迷惑お掛けしました。