CGIぱらだいす!!
日本ぱらだいすねっとわ〜く Web新撰組

このサイトについて利用規定お問い合わせ

サンプルスクリプト読者サポート重要なお知らせダウンロードファイルコンバータ

ホームページ Web新撰組の CGI 100番勝負
Web新撰組の CGI 100番勝負!
読者サポートのページ

番号:

Vol.029

スクリプト名:

スキーム掲示板

修正日:

2002年5月1日

症状:

データ削除が出来ない。

内容:

bbs2.cgiの後半

##############################
# 削除実行
##############################
sub GoDel{

のサブルーチンの中の
if($BBS_CHK == 1){
	if($passwd ne $mpassword){
		if(param('membernum')){
			$id = param('membernum');
		}else{
			&bbserr(820,'メンバーIDを書いて下さい');
		}
		$COOKIE{'membernum'}=$id;
		&UserCheck(1);
	}
}


の部分を以下のように修正して下さい。

if($BBS_CHK == 1){
	if($mpassword ne crypt($passwd,$mpassword)){
		if(param('membernum')){
			$id = param('membernum');
		}else{
			&bbserr(820,'メンバーIDを書いて下さい');
		}
		$COOKIE{'membernum'}=$id;
		&UserCheck(1);
	}
}


また、

&Lock(1);
open(IN,"$BbsLog") || &bbserr(830,'ログファイルがありません',1);
while(){
	$data=$_;
	$dmy = $data;
	chop($dmy);
	($fnum,$fid,$fname,$fabout,$ftime,$fsubject,$fmess,$fimg,$fimgsn,$fimgsubject,$dkey,$fmailadd) = split(/Enc_Sep_Code/,$dmy);
	if(($fnum eq $num)||($fnum =~ /^$num\-/)){
		if($BBS_CHK == 1){
			if($passwd ne $mpassword)&&($fid ne $id)){
				&bbserr(840,"本人以外の書き込みは削除出来ません",1);
			}
		}else{
			if($passwd ne $dkey){
				&bbserr(840,"本人以外の書き込みは削除出来ません",1);
			}
		}
		if($fimg){
			$delimg=$UploadDir . $fimg;
			unlink($delimg);
		}
		if($fimgsn){
			$delimg=$UploadDir . $fimgsn;
			unlink($delimg);
		}
	}else{
		push (@newlog,$data);
	}
}
close(IN);

の部分を以下のように修正して下さい。


&Lock(1);
open(IN,"$BbsLog") || &bbserr(830,'ログファイルがありません',1);
while(){
	$data=$_;
	$dmy = $data;
	chop($dmy);
	($fnum,$fid,$fname,$fabout,$ftime,$fsubject,$fmess,$fimg,$fimgsn,$fimgsubject,$dkey,$fmailadd) = split(/Enc_Sep_Code/,$dmy);
	if($fnum eq $num){
		$fdkey = $dkey;
		$ffid = $fid;
	}
	if(($fnum eq $num)||($fnum =~ /^$num\-/)){
		if($BBS_CHK == 1){
			if(($mpassword ne crypt($passwd,$mpassword))&&($ffid ne $id)){
				&bbserr(840,"本人以外の書き込みは削除出来ません",1);
			}
		}else{
			if($passwd ne $fdkey){
				&bbserr(840,"本人以外の書き込みは削除出来ません",1);
			}
		}
		if($fimg){
			$delimg=$UploadDir . $fimg;
			unlink($delimg);
		}
		if($fimgsn){
			$delimg=$UploadDir . $fimgsn;
			unlink($delimg);
		}
	}else{
		push (@newlog,$data);
	}
}
close(IN);

							

ダウンロード:

Windows用

Windows用
左のアイコンをクリックして下さい。

Mac用

Macintosh用
Optionキーを押しながら左のアイコンをクリックして下さい。


前のページへ