カレッヂ |
質問者 なおこ
投稿日 2005/1/7(金) 15:41:03
2005年初の書き込みなので、回答頂けるかちょっと不安です。 よろしくお願いします! 登録の項目を「名前」「星座」「血液型」に絞り登録をし、 「星座」「血液型」の項目選択で両方が一致した人の 「名前」を検索結果に出そうと思っています。 登録は、csvへデータを送るところまで出来ましたが、 検索の部分で search.cgiを ($d,$DATE,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); とし、それぞれ $data = $data2 = $BASE[$num]; &jcode'convert(*data,'euc'); ($d,$DATE,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); # 血液型 if ($FORM{'BLOOD'} ne 'all') { if ($BLOOD eq $FORM{'BLOOD'}) { ; } else { next; } } # 誕生日 if ($FORM{'BIRTH'} ne 'all') { if ($BIRTH eq $FORM{'BIRTH'}) { ; } else { next; } } にしたのですが、「●ご指定の条件では見当たりませんでした.」とでます。 else を試しに、allにしたら、登録項目全てが出てきましたので この辺りの問題なのでは?と思っております。 初心者なのですが、みなさま是非!是非!お教えいただければと 思います。よろしくお願いします!!
【習熟度】(未選択) |
回答者 hiro
[削除]
投稿日 2005/1/10(月) 20:07:26
私も初心者で、ここでつまづきました。 ($d,$DATE,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); を ($d,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); と、$DATAを消したらうまくいきましたよ。 同じ初心者同士頑張りましょう(^^) |
質問者 なおこ
[削除]
投稿日 2005/1/13(木) 19:24:36
hiro 様 ご回答頂きありがとうございます。 ご助言どおり行ってみたのですが、結果は同じでした。。。 どこが間違っているのでしょうか? 改造箇所 index.html・・・フォームのカスタマイズ regist.html・・・フォームのカスタマイズ regist.cgi・・・#入力チェック部分、{'EMAIL'}の削除(未使用のため) search.cgi・・・ ($d,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); とし、それぞれ $data = $data2 = $BASE[$num]; &jcode'convert(*data,'euc'); ($d,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); # 血液型 if ($FORM{'BLOOD'} ne 'all') { if ($BLOOD eq $FORM{'BLOOD'}) { ; } else { next; } } # 誕生日 if ($FORM{'BIRTH'} ne 'all') { if ($BIRTH eq $FORM{'BIRTH'}) { ; } else { next; } } と改造。と、最小限のカスタマイズをしたつもりですが、どうしても ●ご指定の条件では見当たりませんでした. となります。 データ自体はcsvedit.cgiで確認しても、登録はされているようです。 その他、考えられる原因、お分かりになりますでしょうか? 何卒!何卒!よろしくお願いいたします。 |
回答者 hiro
[削除]
投稿日 2005/1/13(木) 19:56:01
どうもこんにちは。 私も迷ったのですが、これではいかがでしょうか? これでダメなら、もう一度$DATAを入れてやってみてください。 きっと分かる人ならすぐに分かるんでしょうけど、 なにせ私も初心者なもので、あまりうまく説明できず申し訳ないです。 $data = $data2 = $BASE[$num]; &jcode'convert(*data,'euc'); ($d,$NAME,$BLOOD,$BIRTH) = split(/\,/,$data); # 血液型 if ($FORM{'BLOOD'} ne 'all') { if ($BLOOD =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'BLOOD'}/i) { ; } else { next; } } # 誕生日 if ($FORM{'BIRTH'} ne 'all') { if ($BIRTH =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'BIRTH'}/i) { ; } else { next; } } |
質問者 なおこ
[削除]
投稿日 2005/1/13(木) 20:07:54
hiro様 たびたび、ありがとうございます。 やはり。。。治りませんでした(>o<") パミッションの設定も再度確認したんですが、問題ないようなので どこが問題なのか、皆目分からず状態です。。。 たびたび、ありがとうございました。 もう少し、頑張ってみます! |
回答者 ACHA
[削除]
投稿日 2005/1/28(金) 00:56:14
regist.cgiの68行目あたりは、 #書きこむ if (!open(OUT,">>$file")) { &error('システムエラー','ファイルを書きこみオープンできません.'); } print OUT "?,$FORM{'NAME'},$FORM{'BLOOD'},$FORM{'BIRTH'}?n"; close(OUT); となっていますか? |
質問者 なおこ
[削除]
投稿日 2005/1/28(金) 13:30:40
ちょっと前の質問にも関わらず、 ご返信いただきまして、ありがとうございました。 再度、こちらで、やるべくnameを変えないようにやったら 動くようになりました。 やはり、素人はあれこれイジってはダメですね。 ありがとうございました!! |
このページは終了したので返信(回答)は書きこめません
Web裏技 |