トップページ⇒php
990コメント450KB

★三 【 スクリプト改造工房 PART 8 】 ★三

■ このスレッドは過去ログ倉庫に格納されています
0001sage04/02/23 17:36ID:???
#================================
# スレッドの説明
#================================

「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り

前スレ http://pc2.2ch.net/test/read.cgi/php/1063780103/
0067nobodyさん04/03/20 04:22ID:GW6tuM2Y
スイマセン質問させてください。

ttp://tackysroom.com/sample/smp_annecho.cgi

このCGIのスケジュール帳の、開いた時に表示される月を、当月でなく
他の月(例えば今なら5月とか)にしたいのですが、どこをどう
いじればよろしいでしょうか。

諸先輩方、お教えくださいませ。
0068nobodyさん04/03/20 11:23ID:???
>>67

>>1
0069nobodyさん04/03/20 12:19ID:???
>>62>>66
#!/usr/local/bin/perl

use strict;
require 'cgi-lib.pl';
my $cgi = "kensaku.cgi";
my $file = "db.csv";
my %in;
&ReadParse(\%in);
print &PrintHeader();
#print &HtmlTop("");

print <<"_HTML_";
<HTML>
<HEAD>
<STYLE type="text/css">
<!--
.a{
border-width : 1px 1px 1px 1px;
border-style : solid solid solid solid;
border-color : black black black black;
}
-->
</STYLE>
</HEAD>
0070nobodyさん04/03/20 12:21ID:???
<BODY style="padding-top : 0px;padding-left : 0px;padding-right : 0px;padding-bottom : 0px;margin-top : 0px;margin-left : 0px;margin-right : 0px;margin-bottom : 0px;">
<form action="$cgi" method="post" style="padding-top : 0px;padding-left : 0px;padding-right : 0px;padding-bottom : 0px;margin-top : 0px;margin-left : 0px;margin-right : 0px;margin-bottom : 0px;">
<input type="text" size=15 name="name">
<input type="submit" value="商品検索">
</form>
_HTML_

if ($in{'name'} ne ""){
 my $flag=0;
 my $found=0;
 open (IN,"$file") || &CgiDie ("データファイルが開けません。");
 while (<IN>){
  chomp;
  my ($name,$teika,$hanbai,$image) = split(/,/,$_);
  if ($in{'name'} eq $name){
   if ($found == 0){
    print qq(
<BR>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TBODY>
);
   }
   if ($found % 3 == 0){
    print qq(
<TR>
);
   }
0071nobodyさん04/03/20 12:22ID:???
   print qq(
<TD>
<TABLE border="0" cellpadding="3" cellspacing="0">
<TBODY>
<TR>
<TD align="center" class="a"><IMG src="image/$image.jpg" border="1"><BR>
<BR>
<B><FONT color="#666666">商品名<BR>
<BR>
</FONT></B>
<TABLE border="0">
<TBODY>
<TR>
<TD align="right">定価:</TD>
<TD>$teika</TD>
</TR>
<TR>
<TD align="right">販売価格:</TD>
<TD><FONT color="#666666">$hanbai</FONT></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
);
0072nobodyさん04/03/20 12:24ID:???
   $found++;
   if ($found % 3 == 0){
    print qq(
</TR>
);
   }
   $flag=1;
  }
 }
 close (IN);
 if ($flag == 1){
  if ($found % 3 == 1){
   print qq(
<TD>
</TD>
<TD>
</TD>
</TR>
);
  }elsif ($found % 3 == 2){
   print qq(
<TD>
</TD>
</TR>
);
  }
0073nobodyさん04/03/20 12:24ID:???
  }
print qq(
</TBODY>
</TABLE>
);
 }
 ($flag) || print "$in{'name'}はデータファイルにありませんでした。<p>\n";
}
print &HtmlBot();
exit;
0074nobodyさん04/03/20 12:27ID:???
説明よりやったほうが早いから全部書いたけど丸投げスレのほうが良かったかも。
00756704/03/20 16:17ID:GW6tuM2Y
すいません>>67です。
再度質問です。

スクリプトはこれです。

ttp://hy-t.hp.infoseek.co.jp/sc.txt

これだけでいいでしょうか?
よろしくご教授お願いいたします。

00766704/03/20 16:25ID:GW6tuM2Y
あ、これって丸投げ行きなんでしょうか…
スレ違いなら移動します、すいません。
0077nobodyさん04/03/21 11:32ID:J3gw5AMh
62>
掲示板みたいに縦一列に吐き出す香具師でも、CSS使えば横に並べ、
指定数で折り返す事もできるよ。

#wrapper{
width: 630px;
}

#box{
float: left;
width: 200px;
margin: 10px 5px 10px 5px;
padding: 0px 0px 0px 0px;
}



<div id="wrapper">
  <div id="box">
    コンテンツ
  </div>
</div>

みたいな感じでさ。
ブラウザ選ぶかもしんないけど、漏れの環境(Win IE5 IE 5.5 IE6)
だと思うように表示されたからいいべ。
0078nobodyさん04/03/22 07:21ID:???
皆様初めまして。

http://mo-mo.vis.ne.jp/chatread/mo-chat.htm
こちらで配布されているチャットで参加者表示の部分を
名前(状態):名前(状態)
というように状態(ROM等)を表示させたいと思っています。
$nameを参考に$conを作って試行錯誤してみたのですが
自分の入力した状態が他の方の状態にも適用されてしまいます。
名前A(状態A):名前B(状態B)としたい所が
名前A(状態A):名前B(状態A)になってしまうといった具合で。

http://www.lislis.info/ichat.txt
余計な部分まで触ってあるかもですが・・・。
何卒ご教授お願い致します。
0079nobodyさん04/03/29 16:03ID:???
スクリプトを改造しているけどうまくできない場合のヘルプはこちらで。

配布先でアドバイスが得られない場合、ここで聞けば
親切な人が助言してくれるかもしれません。

依頼テンプレ

【.  CGI名  .】 複数のバージョンがある場合には正確に        (必須)
【配布先URL】 教えてくれる人が参照する場合があるので       (必須)
【. 置き場所 .】 配布先が閉鎖の場合、すぐ見られるようtxtなどで
          upした場合、 デザインをhtmlで作成した場合など  (任意)
【ヘルプ内容】 どのように改造したくてどのようにうまくできないか  (必須)
          機能・動作などを簡潔かつ詳細に
0080nobodyさん04/03/29 17:00ID:???
>>79
改造中のスクも提出した方がいいな。
0081nobodyさん04/03/31 19:21ID:???
【. CGI名  .】 apeboard plus.cgi      
【配布先URL】 http://www.2apes.com/
【 スキン名 】 イメージダイアリー Ver.2
【配布先URL】  http://www.s-chimp.com/mc/
【. 置き場所 .】 http://ea.uuhp.com/~bluerose/cgi-bin/apeboard_plus.txt (CGI)
          http://ea.uuhp.com/~bluerose/cgi-bin/apeskin.txt (スキン)
【ヘルプ内容】 過去ログを読もうとすると「/back」というファイルに飛ばされてしまい、
          読むことができません。過去ログを読むようにするには
どこを改造すればいいのでしょうか?
          スキンのデザインには多少手を入れましたが、CGIはほとんどいじってません。
          よろしくお願いします。
00828104/04/01 22:05ID:???
すいません解決しました…。
0083nobodyさん04/04/07 23:29ID:opKZAzOm
こっちは寂れているのぅ
0084未承諾広告※ ◆TWARamEjuA 04/04/08 10:16ID:???
ま、ぼちぼちと行けばよいでしょう(^o^) マターリ
0085nobodyさん04/04/09 22:18ID:47xZN9AW
【.  CGI名  .】 SmallPICT
【配布先URL】 http://hdml.cside.com/DLcgi/spict/
【ヘルプ内容】 spictlog.cgiに書き込む情報を追加したいが、うまく出来ない

pc.plのsub dispForm内に<input type='text' name='kaizou'>を追加し、
smallpict.cgiのsub doWrite内に<>$kaizou<>を追加するなどして動かそうとしたんですが、
投稿画面で入力したkaizouのデータがspictlog.cgiに書き込まれません。

改造漏れがあるんだと思い探し回ってみましたが、見つけることができませんでした。
具体的にやりたいのはPC上でのアイコン表示で、手動でログに<>*.gif<>と書き込んで記事上で表示させる改造はできましたが、投稿画面のデータをうまく渡す改造ができませんでした。

よろしくお願いします。
0086nobodyさん04/04/09 22:40ID:ria3nPCP
>>85
ログは<>区切りで書き込むところがあちこちあるようだけど
漏れなく全部に<>$kaizou<>を追加した?
もちろん読み込み時に<>でsplitする部分もあちこちあるから
そこにも受け取る変数を増やさなければならないが。
そういう部分はsmallpict.cgiだけじゃなくいくつものファイル内にあるぞ。
00878504/04/09 23:28ID:47xZN9AW
>>86
レスありがとうございます。

split(/<>/)とid<>で検索を掛け、引っかかった所で書き込みに関係あるところは<>$kaizou<>を追加しました。
投稿画面から投稿してFTPでログを落として書き込まれてるかを確認という方法でいじってるんですが、
$kaizouに上手くデータが渡ってないため、<><>とだけ書き込まれています。
読み込み部分はあっさり改造できたんですけどね・・・orz
0088nobodyさん04/04/09 23:59ID:???
>>87
フォームデコード部で受けた値は$in{'kaizou'}に入るようだが、
それを$kaizouに代入してるのか?
00898504/04/10 00:35ID:???
sub doWrite内の
$newUpwd = $in{'upwd'};の下に
$newkaizou = $in{'kaizou'};
を書き足し、
# 親記事の場合
# レス記事の場合
の最後を
<>$UNIQUEID<>$newkaizou<>\n");
としてあります。
お手数掛けますですorm
0090nobodyさん04/04/24 08:05ID:???
kentの夢カウンタなんですが、
(http://www.kent-web.com/count/dream.html)
時計表示という機能も付いてるんですが、
年、月、日、時、分 というデフォルト表示から
年、月、日(曜日)、時、分 に変更したいのですが、
どのようにすればよいでしょうか?
曜日表示は画像でなくてhtml出力でも構いませんので。
0091nobodyさん04/04/25 18:20ID:???
kentのPetitBoardの携帯対応版ってありません?
0092nobodyさん04/04/25 18:23ID:???
 
0093nobodyさん04/04/26 00:12ID:WNaDiJfM
http://www.kent-web.com/bbs/joyful/joyful.cgi

joyful.cgiの投稿画面を別のページにしたいのですが
そこで↓ここで改造版をみつけたのですが、
http://www.handley2.fsnet.co.uk/graphic/cgi.html
名前欄だけを増やしたいのです。
投稿画面にも名前欄を増やし、ログにも$nameで追加したのですが
かきこまれません。
0094nobodyさん04/04/26 01:05ID:???
>>90
dream.cgiのsub get_timeでlocaltimeを[1..5]だけ受けているから曜日の分も
受け取って使えばいいだけ
0095nobodyさん04/04/26 01:10ID:???
>>93
投稿画面が別のページの改造版ってどれのことだ?
それに改造したコードも晒さずに言われても間違っているか足りないから
としか言いようがない
00969304/04/26 01:39ID:???
あ。
ここの
http://www.handley2.fsnet.co.uk/graphic/cgi.html
violet diaryってやつです。
0097nobodyさん04/04/26 02:00ID:???
で、ログに追加する$nameっていうのはどうやって得ているんだ?
sub decodeを見ればわかるがフォームに追加した項目に相当する
$in{'キー'}に入っている値を$nameへ代入しているのか?
0098nobodyさん04/04/26 02:39ID:???
スクリプト:PHPぁぷろだ(シンプル版)
ソース:http://php.s3.to/bbs/bbs5.php
     up.zip内のupload.php
配布元:ttp://php.s3.to/
ヘルプ内容:
元の仕様ではダメ文字(ソや表など)をファイル名に入れると
拡張子より前のファイル名が消えてしまいます。
例:ソース.jpg → .jpg

↓ここでは消えてしまいます
http://php.s1.xrea.com:8080/upup/

しかしながら、このスクリプトを使ってこの問題を回避している
サイトを見つけました。

↓ここでは消えません
ttp://cgi.f7.aaacafe.ne.jp/~ohfuji/phpup/upload.php

このように消えないようにするにはどのように改造をすれば良い
のでしょうか。
文字列をいじるのか、エンコード設定をいじるのか・・・イマイチ
良く解っておりません。

よろしくお願いします。
0099nobodyさん04/04/26 02:44ID:???
>>98
配布元に「バグ報告、要望、その他突っ込みは掲示板へどうぞ 」と書いてあるが
01009804/04/26 02:45ID:???
慌てて微妙にリファ切り抜けてました・・・トホホ
01019804/04/26 02:50ID:???
>>99
深夜に即レスありがとうございます。

配布元で聞いてみます。
0102nobodyさん04/04/26 17:35ID:???
【.  CGI名  .】 One Line BBS

【配布先URL】 http://dream.lib.net/room/cgi/e_linebbs.html

【ヘルプ内容】

ここの一行掲示板、レスが古い順に並ぶようになっているのですが、
これを新しい順に並ぶように改造できませんでしょうか。
0103nobodyさん04/04/26 17:45ID:???
>>102
できますがそれがどうかしましたか?





(´-`).。oO(ここは丸投げスレじゃないからなぁ…)
010410304/04/26 17:54ID:???
過疎板だからお客さんは大事にしないといけないなと反省。

>>102
http://pc5.2ch.net/test/read.cgi/php/1063780103/110
ここで>>102と同じ依頼をしている香具師がいる。
http://pc5.2ch.net/test/read.cgi/php/1063780103/111-120
あたりを参考にすれ
010510204/04/26 18:25ID:???
>>103=104
どうもすみません、ありがとうございます。
参考にします。
0106nobodyさん04/04/27 01:41ID:???
(103はいいやつだなあ
0107nobodyさん04/04/27 23:57ID:???
なんか微笑ましいな。。。
0108ken ◆fmJRnC5rvE 04/05/02 11:01ID:DCaidvkb
配布先:http://dream.lib.net/room/に配布されているICHAT
ソース:http://com.s66.xrea.com/ichat.txt
改造してほしい内容:
参加者表示の部分を
名前(状態):名前(状態)
というように状態(ROM等)を表示させたいと思っています。
0109nobodyさん04/05/02 11:08ID:???
>>108
ここは自分で改造する人がアドバイスを受けるスレ。

■ 自分で改造できない場合には
【 スクリプト改造依頼スレ 】(丸投げ)
http://pc5.2ch.net/test/read.cgi/php/1076831972/324(テンプレ)
0110nobodyさん04/05/08 15:03ID:jodQmWfe
WebProg初心者から流れてきました。お願いします。
プロフィール登録CGIを探しています。 がらくたBOOK(http://tinkle.cside.com/book/)さんの「すぽっとりんく」に画像アップロード機能が無かったので、
とほほさんのところで配布している「wwwupl2」を組み込んでみようとしたのですがうまく出来ません。

本来ならバナー登録部分に「<INPUT type=\"file\" name=\"AAA\" size=\"40\">」として直接アップさせたかったのですが、うまく動作しませんでした。
そこで、ちょっと方法を変えいくつかの実験をしてみました。
まず、「wwwupl2」を丸々コピーして「spotlink.cgi」内に「sub up{ }」として記入。(もちろん#!/usr/local/bin/perl等は削除)
元々の登録サブルーチン「sub new_entry { }」を「sub new_entry_of_main { }」として退避。
新しく登録サブルーチン「sub new_entry { }」を作り、
print "<FORM method=\"$method\" enctype=\"multipart/form-data\" action=\"$script\"><BR>\n";
print "<input type=hidden name=mode value=\"up\">\n";
print "<INPUT type=\"file\" name=\"AAA\" size=\"40\"><BR>\n";
print "<INPUT type=\"submit\" value=\"送信\"></FORM>\n";
(一部抜粋)を作成。
メインプログラムに「 elsif ($mode eq "up"){&up;} 」を追加。
でも、こうすると、送信を押してもトップ画面(一覧を表示する通常表示画面)に行ってしまいます。
で、何が悪いのかが良くわからなかったため、
<FORM method=\"$method\" enctype=\"multipart/form-data\" action=\"$script\">
これを
<FORM method=\"$method\" action=\"$script\">
こうすると、ファイルはアップされないのですが、「sub up { }」に移動します。(「下記のファイルを受け取りました」だけ表示。)
一体どうしたら良いのでしょうか?
中途半端ですが、ファイルをアップします。
http://www.geocities.co.jp/SiliconValley/9193/spotlink.txt
出来るなら、バナー登録部分を「<INPUT type=\"file\" name=\"AAA\" size=\"40\">」として直接アップする方法を教えていただきたいです。
お願いします。
0111nobodyさん04/05/08 17:50ID:???
>>110
multipart/form-data をデコードしていないから。
CGI.pm でも入れてみれば?

(´-`).。oO(相変わらずグタグタやねぇ。。。> と)
0112>>11004/05/09 01:15ID:???
>>111
返答ありがとうございます。
>CGI.pm でも入れてみれば?
って事なんですけど、とりあえず、CGI.pmは同じフォルダに入れました。
で、
require './CGI.pm';
として見ましたが状況に変化無しです。
何がいけないのでしょう。
お願いします。

0113nobodyさん04/05/09 01:47ID:???
もじゅーるロードは use を使う。
use CGI;

perldoc -m CGI
0114nobodyさん04/05/09 04:37ID:???
Yomi-Search
モバイル型
0115nobodyさん04/05/09 04:41ID:???
>>114
それがどうかしましたか?
0116nobodyさん04/05/09 04:58ID:???
>>115
丸投げスレじゃないのに丸投げしちゃいました
丸投げスレでもこれじゃあ叩かれますが・・・すいませんでした
0117>>11004/05/09 11:37ID:???
>>113
またまた返答ありがとうございます。
やはり状況に変化無しです。
何か根本的に間違っているのでしょうか…
ファイルアップして置きます。

http://tool-ya.ddo.jp/2ch/trash-box/file/20040509113059336.txt

CGI.pmのパーミッションは644でいいですよね?
0118nobodyさん04/05/09 11:59ID:???
>>117
perldoc -m CGI ;

おいおいおーい
0119>>11004/05/09 12:17ID:???
>>118

??
ごめんなさい。まったく意味がわからないのですが、不必要って事なんですか?
0120nobodyさん04/05/09 12:31ID:???
>>119
うむ、
コマンドで打ち込んでごらん、説明が出るから
0121nobodyさん04/05/09 12:34ID:???
perlがインストールされてるマシンで
perldoc -m CGI
で、CGI.pmについての解説が読める。

つまり、それを読んでdecode部とかをmultipart/form-dataを処理するように自分で書き換えましょう、と。
sub decodeで何をやってるか理解できる程度の知識は必要だな。
あ、一応言っておくが、数行追加した程度では無理だぞ。数十行の書き換えが必要。
0122nobodyさん04/05/09 12:36ID:???
それにCGI.pmは標準モジュールぢゃ。
わざわざ>>119がUPする必要も無かろう。
0123nobodyさん04/05/09 12:42ID:???
ついでに
use CGI;
の下に
use CGI::Carp qw(fatalsToBrowser);
と書いておくがよい。
素人には役に立つおまじないぢゃ。
0124>>11004/05/09 13:04ID:???
>>121
何度も回答ありがとうございます。

>sub decodeで何をやってるか理解できる程度の知識は必要だな。
えーと、理解出来てるわけではないので無理だと思います。(T.T)

何度かのやり取りでわかっていただけるかと思いますが、私に出来る事と言えばせいぜい他のCGIから
コピペして帳尻を合わせる程度です。

方法を丸々教えていただくわけには行かないでしょうか?
宜しくお願いします。

0125nobodyさん04/05/09 13:36ID:???
>>124
だから CGI.pm を読みましょうと云っているわけです。
ここはそういう主旨のスレッドですから。
0126>>11004/05/09 13:55ID:???
>>125
では、もう少し努力して見ます('◇';ゞ

>perlがインストールされてるマシンで
>perldoc -m CGI
>で、CGI.pmについての解説が読める。

これは自分のPCでと言う事ですか?それともレンタルサーバでって事でしょうか?
・・・
えーと、バカな事やってるなぁって笑わないでくださいね(;´Д`)
コマンドプロンプト(XP)からCGI.pmがある場所に移動して「perldoc -m CGI」ってやって見ましたが
だめでした。

借りてるサーバはロリポップです。どこでどうしたら良いのでしょう?
お願いします。
0127nobodyさん04/05/09 14:10ID:???
CGI.pm multipart でググれ
0128nobodyさん04/05/09 17:04ID:???
>>126
おまいはローカルに開発環境が無いのか?
まさか、
ローカルでスクリプトを編集→FTPでUP→500エラー→(◎_◎) →最初に戻る
してるんじゃないのか?

行き詰ったらこちらへどうぞ。
【 スクリプト改造依頼スレ 】(丸投げ)
http://pc5.2ch.net/test/read.cgi/php/1076831972/l50
優しい神様が居られるといいですね♥
0129>>11004/05/09 22:38ID:???
>>128
>ローカルでスクリプトを編集→FTPでUP→500エラー→(◎_◎) →最初に戻る
その通りです(T^T)

【 スクリプト改造依頼スレ 】(丸投げ) に逝ってきます。
0130ぷーた04/05/09 23:44ID:zdsKN9LG
カウントアップするときに数値を1〜9の間でランダムにカウントアップ
させたいのですが、どうすればよいのかわからないのですがだれか教えてくれませんか?

if ($voteflag){
open (IO,"+<$datadir/$id.dat");
eval{flock(IO,2)};
@temp1 = split(/<>/,<IO>);
@temp1 = split(/<>/,&backupload($id)) if $temp1[0] eq "";
if ($temp1[0] ne "datamissing"){
#$temp1[0] = time();
$temp1[11]++;
$temp1[13]++;
$temp1[15]++;
truncate(IO,0);
seek(IO,0,0);
foreach(@temp1){print IO $_."<>";}
close(IO);
}else{
close(IO);
&syslog("AUTO","<font color=purple>データ消失(ID:$id)</font>");
&dataerase($id);
}
}
0131nobodyさん04/05/09 23:59ID:???
$count+= substr('123456789', int(rand(9)), 1);
0132ぷーた04/05/10 00:20ID:J17kBtwc
どうもです。 早速やってみます。
0133ぷーた04/05/10 00:29ID:J17kBtwc
う〜ん上記のスクリプトにどう埋め込んだらよいかわかりません。。
だれか助けて。。
0134nobodyさん04/05/10 00:42ID:???
datのうち、どの部分が「カウント」なのか分からんとどうしようもない。
っつうか、勉強する気がない奴は丸投げスレへ。
0135お願いします04/05/10 22:25ID:VaFCZTZV
ttp://www.booboo.ne.jp/contents/cgi/program/analyz/index.html
にある、BooGetData ver1.00というスクリプトについてアドバイスをお願いします。

このスクリプトは、フォームから受け取ったデータを
CSVファイルに追記保存していくというものです。

このスクリプトに、
・書込むCSVファイルの内容が消えないようなファイルロック機能と、
・管理者へフォームから受け取ったデータをメールで送信する機能を
つけたいと思っています。
flock関数やsendmailの使い方がよくわからないので出来ませんでした。
perlを初めてからまもなく知識には乏しいですが、
頑張って理解していこうと思いますのでお願いします。

ファイルアップしておきます。
ttp://tool-ya.ddo.jp/2ch/trash-box/file/20040510222032501.txt
0136お願いします04/05/10 23:20ID:???
自分でファイルロック処理だけ書いてみたのですが、
112行目からを

sub outputdata{
# 現在の時間を取得
($sec,$min,$hour,$day,$mon,$year) = localtime(time);
$mon++;
$year += 1900;
$stmp = sprintf("%04d/%02d/%02d-%02d:%02d:%02d",$year,$mon,$day,$hour,$min,$sec);

open (DAT,">>$output");
&body;
flock(DAT,2);
print DAT "$body,$stmp\r\n";
flock(DAT,8);
close (DAT);
}

こうしてみました。これだけでいいのでしょうか?
0137お願いします04/05/10 23:20ID:???
すみません、間違えました…
112行目からじゃなくて102行目からでした。
逝ってきます。
0138nobodyさん04/05/10 23:31ID:???
>>136
>flock(DAT,8);
これはいらない。

sendmailのサンプルはすぐ見つかるからがんばれ。
0139nobodyさん04/05/10 23:46ID:???
追加書き込み(>>)ならファイルロックしなくても普通は飛ばないけどね。
&bodyはopenの前にしておいた方がいいと思う。
みんなが使うファイルを手に持ったまま関係ない仕事をするのはマナーが悪い。
0140お願いします04/05/11 00:12ID:???
>>138-139
ありがとうございます。flock(DAT,8)を消すのと、
&bodyの位置を変えます。

正直なところ、&bodyがなんなのかすらわかってません(T-T)
0141お願いします04/05/11 01:44ID:???
色々調べつつ下記の様に書いて見たんですが、全然メール来る気配なしです。
何が間違ってるのか全然わかりません。

sub outputdata{
# 現在の時間を取得
($sec,$min,$hour,$day,$mon,$year) = localtime(time);
$mon++;
$year += 1900;
$stmp = sprintf("%04d/%02d/%02d-%02d:%02d:%02d",$year,$mon,$day,$hour,$min,$sec);

&body;
open (DAT,">>$output");
flock(DAT,2);
print DAT "$body,$stmp\r\n";
close (DAT);

#メール送信
$myaddress = '[email protected]';
open(MAIL,"|$sendmail $myaddress");
print MAIL "Subject: title\n";
print MAIL "$body,$stmp\n";
close(MAIL);
}
これではダメなのでしょうか?
0142nobodyさん04/05/11 02:44ID:???
>>141
sendmail へのパスが設定されていないから?> $sendmail の中身は?
あと、 man sendmail して使用上の注意をよく読んでお使い下さい。
0143nobodyさん04/05/11 09:29ID:???
>140
サブルーチン。調べてみるとひとつレベルが上がると思う。
とりあえずsub bodyでファイル内を検索してみな。

sendmailについては使えない鯖も多い。
どのみちsendmailのパスが分からないと使えないので、ページ置いてる鯖のFAQとかを嫁。
0144お願いします04/05/11 13:56ID:???
$sendmailのパスは上の方に書いてあります…。
今はWIN機で書いているので、
$sendmail
0145nobodyさん04/05/11 19:44ID:???
print MAIL "Subject: title\n";
を
print MAIL "From: $myaddress\n";
print MAIL "To: $myaddress\n";
print MAIL "Subject: title\n\n";
に書き換え、でどうよ。
0146nobodyさん04/05/11 19:53ID:???
いや、
open(MAIL,"|$sendmail $myaddress");
ここが間違ってないか?

とあるスクリプトの該当部分を貼っておく
参考しる

open(MAIL,"| $sendmail -t") or &error("sendmailの起動ミス");

print MAIL "To: $mailto\n";
print MAIL "From: $mailfrom\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "\n\n";
print MAIL "$body\n";

close(MAIL) or &error("メールの送信ミス");
0147nobodyさん04/05/11 19:58ID:???
>146
sendmail -t
To: [email protected]
(略
と、
sendmail [email protected]
To: [email protected]
(略
は全く同じ。sendmail -tの"-t"の意味、分かってないだろ。
ま、鯖側で-tオプションをつけて起動する事を義務付けてる可能性も無くはないけどな。
014814604/05/11 20:08ID:???
>147
意味わかってなかった。ありが�d
0149お願いします04/05/14 01:20ID:???
色々な助言ありがとうございます。
自分なりにも色々いじってみたんですが、
どうしても出来ませんでした。

今やってたのは「フォームから受け取った
データをCSVに保存するCGIにメール機能をつける」
だったんですが、考え直しまして、
「普通のフォームメールにCSV保存機能をつける」
に方向転換しようかと思います。
こっちの方が簡単なんじゃないかと…
0150nobodyさん04/05/14 01:31ID:???
まあそうしたいならそれでもいいけど。
できなかったでやめていたらいつまでたってもできないぞ。
それに何がどうできなかったか書かなければアドバイスだってしようがない。
0151nobodyさん04/05/16 08:38ID:???
質問させていただきます。
KENTWEBで配布しているYYCHATなんですが、
発言の文中にURLが表記されたときに自動にリンク貼れるように改造したいのですが、

if ($com) { $com ="<a href=\"$com\" target=\"_blank\">$com</a>\n";} (397行目あたり)

というスクリプトにすると普通の文章までリンクしようとしてしまいます。
URLだけリンク貼れるようにするにはどの辺りを直せばいいのでしょうか?
よろしくお願いします。
0152nobodyさん04/05/16 09:09ID:???
お前面白いな
ネタにマジレス
URLだけならURLを抜き出せ
当たり前だろ
0153nobodyさん04/05/16 09:13ID:???
>>151
ここは丸投げスレじゃないから厳しいぞ。
>>152ほどじゃないがな

どぞ↓
http://www.google.com/search?num=100&hl=ja&ie=UTF-8&q=perl+%E6%96%87%E4%B8%AD%E3%81%AEURL+%E8%87%AA%E5%8B%95%E3%83%AA%E3%83%B3%E3%82%AF&lr=
015415104/05/16 10:17ID:???
ありがとうございました。
>>153さんのアドのところから調べて無事解決できました。
もっとよく調べてから聞くべきでした(´・ω・`)
0155nobodyさん04/05/16 17:51ID:???
■ 設置の方法がわからない場合には
CGI設置について質問
http://pc5.2ch.net/test/read.cgi/php/1054216089/15(テンプレ)

■ 自分で改造できない場合には
【 スクリプト改造依頼スレ 】(丸投げ)
http://pc5.2ch.net/test/read.cgi/php/1076831972/324(テンプレ)

■ 自分で改造するアドバイスが欲しい場合には
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/79(テンプレ)
0156nobodyさん04/05/17 14:13ID:HUxEX/E5
KENT WEBのショッピングカートcgi「Shopping Cart」を
設置しました。無事機能してます。

で、新規追加の画面から販売物を追加していくと、トップの販売画面に

□ □
□ □
□ □...

と言うように販売物のテーブルが追加されていくんですが、
これを、2列折り返しでなく、1列にするにはどーすればいいんでしょうか?
単純にどっかに改行タグ入れればいいんだと思うですが....
0157nobodyさん04/05/17 15:09ID:???
505 :nobodyさん :04/05/14 19:29 ID:AHTH/fbA
KENT WEBのショッピングカートcgi「Shopping Cart」を
設置しました。無事機能してます。

で、新規追加の画面から販売物を追加していくと、トップの販売画面に

□ □
□ □
□ □...

と言うように販売物のテーブルが追加されていくんですが、
これを、2列折り返しでなく、1列にするにはどーすればいいんでしょうか?
単純にどっかに改行タグ入れればいいんだと思うですが....

http://pc5.2ch.net/test/read.cgi/php/1054216089/505-
0158nobodyさん04/05/17 15:23ID:???
506 :nobodyさん :04/05/14 19:53 ID:???
スレ違い。
というかHTMLすら分からないようであればCGIの改造は到底無理。
素直に諦めるか勉強しろ。
015915604/05/17 22:36ID:UCKt7Cge
誘導されたので来たのですが。。。
016015604/05/17 22:37ID:UCKt7Cge
それじゃ次は丸投げ行きます!(予告)
0161nobodyさん04/05/17 22:40ID:???
誰がどこで誘導したのか知らんが来る場所は間違っていないか?
0162nobodyさん04/05/17 23:09ID:???
http://www.206.usn.ac/cgi/in.cgi?id=usagi

ここで勉強する!
0163座敷荒氏04/05/22 19:14ID:???
教えてくださいませm(_ _。)m
以下、内容を自分宛にメールで送信する部分です。
「$in{'_email'}」は相手のメアドをFrom:にしないで、
本文のほうに載せたい場合どうしたらいいのでしょうか?
**************************
if (!open(OUT,"| $sendmail -t")) { &error("異常停止","$!","back"); }

print OUT &jis("X-Processed: $date_now\n");
print OUT "X-SENDER: $REMOTE_HOST\[$REMOTE_ADDR\]\n";
print OUT &jis("X-AGENT: $HTTP_USER_AGENT\n");
print OUT "From: $in{'_email'}\n";
print OUT "To: $mailto_order\n";
print OUT &jis("Subject: $mail_subject [$date_num]\n");
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/plain; charset=iso-2022-jp\n\n";

print OUT "\n";
foreach (@in) {

s/"/"/g;
s/&/&/g;
s/</</g;
s/>/>/g;

if (/^\.\t(.*)/) { print OUT &jis("$1\n"); }
elsif (/(.*)\t(.*)/) { print OUT &jis("[$1] $2\n"); }
}
print OUT "\n";

print OUT &jis("$sign\n");
close(OUT);
**************************
0164nobodyさん04/05/22 21:58ID:???
>>163はマルチなので放置
0165座敷荒氏04/05/22 22:39ID:???
放置とかやめた方がいいぞ?
0166nobodyさん04/05/22 23:14ID:???
なんでよ。
■ このスレッドは過去ログ倉庫に格納されています