KENT-WEB サポートコーナー 過去ログ [ 0194 ]


記事No: 2988
投稿日: 2008/02/25(Mon) 11:15:30
タイトルYY-BOARDの投稿項目を変更
ID情報: poiu3
投稿者: poiu
URLhttp://poiu.sakura.ne.jp/yybbs.cgi

YY-BOARDを使わせていただこうと思っているのですが、投稿項目を以下のように変更したいのです。

--------------------
タイトル:
投稿日 :
投稿者 :
性別  :
年齢  :
--------------------

参照先をなくし、性別/年齢を入力できるようにしたいのですが、どこをどう記述したらよいでしょうか?
よろしくお願いいたします。


記事No: 2992
投稿日: 2008/02/25(Mon) 23:40:59
タイトルRe: YY-BOARDの投稿項目を変更
ID情報: fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> YY-BOARDを使わせていただこうと思っているのですが、投稿項目を以下のように変更したいのです。
>
> --------------------
> タイトル:
> 投稿日 :
> 投稿者 :
> 性別  :
> 年齢  :
> --------------------
>
> 参照先をなくし、性別/年齢を入力できるようにしたいのですが、どこをどう記述したらよいでしょうか?
> よろしくお願いいたします。

性別/年齢をクッキーに記憶させる方が好ましいと思いますので以下の方法に変更してください。

●form.pl

#-------------------------------------------------
# 投稿画面
#-------------------------------------------------
sub form {
local($nam,$eml,$url,$pwd,$ico,$col,$sub,$com) = @_;
local(@ico1,@ico2,@col);

#if ($url eq "") { $url = 'http://'; } ## ← ★コメントアウト
$pattern = 'https?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+';
$com =~ s/<a href="$pattern" target="_blank">($pattern)<\/a>/$1/go;

print <<EOM;
<table border="0" cellspacing="0">
<tr>
<td><b>お名前</b></td>
<td><input type="text" name="name" size="28" value="$nam" class="f"></td>
</tr>
<tr>
<td><b>Eメール</b></td>
<td><input type="text" name="email" size="28" value="$eml" class="f" style="ime-mode:inactive"></td>
</tr>
<tr>
<td><b>タイトル</b></td>
<td>
<input type="text" name="sub" size="36" value="$sub" class="f">
<input type="submit" value="投稿する"><input type="reset" value="リセット">
</td>
</tr>
<tr>
<td colspan=2>
<b>メッセージ</b><br>
<textarea cols="56" rows="7" name="comment" class="f">$com</textarea>
</td>
</tr>
<tr>
<td><b>性別・年齢</b></td><!-- ★修正 -->
<td><input type="text" size="52" name="url" value="$url" class="f" style="ime-mode:inactive"></td>
</tr>
EOM

# 管理者アイコンを配列に付加


●yybbs.cgi

#-------------------------------------------------
# 記事表示部
#-------------------------------------------------
sub log_view {
# ページ繰越
local($resfm);
foreach ( keys(%in) ) {
if (/^page:(\d+)$/) {
$page = $1;
}
if (/^res:(\d+)$/) {
$resfm = $1;
last;
}
}
# 返信フォーム押下
if ($resfm) { &res_form; }

# クッキー取得
local($cnam,$ceml,$curl,$cpwd,$cico,$ccol) = &get_cookie; ## ←★元に戻す
#if (!$curl) { $curl = 'http://'; } ## ←★コメントアウト

-- 途中省略 --

#-------------------------------------------------
# 返信フォーム
#-------------------------------------------------
sub res_form {
# 投稿キー
local($str_plain,$str_crypt);
if ($regist_key) {
require $regkeypl;

($str_plain,$str_crypt) = &pcp_makekey;
}
$in{'no'} = $resfm;

# クッキーを取得
local($cnam,$ceml,$curl,$cpwd,$cico,$ccol) = &get_cookie;
#if (!$curl) { $curl = 'http://'; } ## ← ★コメントアウト

-- 途中省略 --

#-------------------------------------------------
# 投稿画面
#-------------------------------------------------
sub form_disp {
# 投稿キー
local($str_plain,$str_crypt);
if ($regist_key) {
require $regkeypl;

($str_plain,$str_crypt) = &pcp_makekey;
}

# クッキーを取得
local($cnam,$ceml,$curl,$cpwd,$cico,$ccol) = &get_cookie;
#if (!$curl) { $curl = 'http://'; } ## ← ★コメントアウト


●read.cgi

#-------------------------------------------------
# 記事個別閲覧
#-------------------------------------------------

-- 途中省略 --
# 整形
if ($eml) { $eml = qq |&nbsp;&lt;<a href="mailto:$eml">$eml</a>&gt;|; }
#if ($url) { $url = qq |<a href="$url" target="_blank">$url</a>|; } ## ←★コメントアウト

print <<EOM;
<blockquote>
<table>
<tr>
<td>タイトル</td><td>: <b style="color:$subcol">$sub</b></td>
</tr>
<tr>
<td>投稿日</td><td>: $dat</td>
</tr>
<tr>
<td>投稿者</td><td>: <b>$nam</b> $eml</td>
</tr>
<tr>
<td>性別・年齢</td><td>: $url</td><!-- ★修正 -->


#-------------------------------------------------
# 返信専用フォーム
#-------------------------------------------------
sub reply_form {
print <<EOM;
<p>
<hr>
<b>- 返信フォーム</b>
<p>
EOM

# クッキー取得
local($cnam,$ceml,$curl,$cpwd,$cico,$ccol) = &get_cookie; ## ←★元に戻す
#if (!$curl) { $curl = 'http://'; } ## ←★コメントアウト


記事No: 2996
投稿日: 2008/02/26(Tue) 09:18:56
タイトルRe^2: YY-BOARDの投稿項目を変更
ID情報: poiu3
投稿者: poiu
URLhttp://poiu.sakura.ne.jp/msgenq/msgenq.cgi?

ありがとうございます。
教えていただいた通りに記述してみたのですがうまくいきません。
当方で何か勘違いしているのかもしれませんが、どこが間違っているのかご指摘いただけませんでしょうか?
よろしくお願いいたします。


記事No: 3007
投稿日: 2008/02/26(Tue) 16:52:49
タイトルRe^3: YY-BOARDの投稿項目を変更
ID情報: fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> ありがとうございます。
> 教えていただいた通りに記述してみたのですがうまくいきません。
> 当方で何か勘違いしているのかもしれませんが、どこが間違っているのかご指摘いただけませんでしょうか?
> よろしくお願いいたします。

性別・年齢はクッキーで記憶させる方が便利ですのでやり方を変更しました。No.2992の記事を修正済み。
細かい所の修正はまだ残っていますがとりあえず形だけということで。


記事No: 3010
投稿日: 2008/02/26(Tue) 20:30:37
タイトルRe^4: YY-BOARDの投稿項目を変更
ID情報: poiu3
投稿者: poiu
URLhttp://poiu.sakura.ne.jp/msgenq/msgenq.cgi?

お手数をおかけしまして恐縮です。
できれば性別と年齢はそれぞれ別で入力(プルダウンで)させたいのですのですが、そうするにはかなりの手間がかかってしまうものなのでしょうか?


記事No: 3011
投稿日: 2008/02/26(Tue) 20:49:26
タイトルRe^5: YY-BOARDの投稿項目を変更
ID情報: fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> お手数をおかけしまして恐縮です。
> できれば性別と年齢はそれぞれ別で入力(プルダウンで)させたいのですのですが、そうするにはかなりの手間がかかってしまうものなのでしょうか?

修正箇所が3倍程度になります。
項目を増やす改造は改造の中でも初歩的な物ですのでCGIに慣れてくれば出来ると思います。


記事No: 3012
投稿日: 2008/02/26(Tue) 21:56:40
タイトルRe^6: YY-BOARDの投稿項目を変更
ID情報: poiu3
投稿者: poiu
URLhttp://poiu.sakura.ne.jp/msgenq/msgenq.cgi?

KENTさんの著書やその他Perlの専門書を買ってきて読んではいるんですが、なかなか思うように操れないんですよね。


記事No: 3018
投稿日: 2008/02/28(Thu) 07:14:35
タイトルRe^7: YY-BOARDの投稿項目を変更
ID情報: dd77dd
投稿者: ひよこ
URLhttp://www.chaponay.com/sissi/sissi.cgi

poiuさん、

わたしの場合、KENTさんのwebsiteにもリンクがある『とほほのwww入門』を徹底的に
暗記することから勉強しようと考えましたよ。CGIの改造に関しては、それからでも全く
遅くはないので(3年間のブランクがありますが)。

書店へ行くと、山のようにCGI初歩版に関する書籍が多すぎて、どれを?という感じ
です。ですから自分に合ったスタイルで無理なく学んでいこう..とわたしは考えました。
特別にSEになろう、とか、なりたい等の考えは全くありませんでしたから。

HTMLに関しましても言えることですが、慣れれば結構優しいですよね。CGIにも同じ
ことが言えると思うのです。KENTさんも仰られておりますが、『Perlは奥が深い』等と。


人間は不完全な生き物なので、完璧を求めなくってもよいと思いますし、神様では
ありませんから、ヒューマンエラーは避けられません。ですから、プロであるKENTさんも
常に勉強を心がけておられると思います。その点では皆さんと同じなのですよ。

このサポート掲示板は、基本的には『皆さんと一緒に学んでいく』というのがテーマでも
あるのです。

そうですよね>KENTさん



> KENTさんの著書やその他Perlの専門書を買ってきて読んではいるんですが、なかなか思うように操れないんですよね。


[検索ページ]