トップページphp
1001コメント358KB

△▲ WebProg 初心者の質問 Part13 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/09(木) 16:05:29ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3
0082nobodyさん2006/02/17(金) 17:51:12ID:???
>>69->>70
ワロタ
0083nobodyさん2006/02/17(金) 17:52:59ID:???
IDさらして自演とかそんな図太い真似出来ない

に ち ゃ ん ね る っ て す ご い ね
0084nobodyさん2006/02/17(金) 22:54:10ID:CB9LbJEF
1<>てすと<>てすと<>
のように"<>"で区切られたdatファイルをよく見るのですが、
<>ごとに読み取って変数に格納するにはどのような操作をすればよいのでしょうか?
0085nobodyさん2006/02/17(金) 23:11:21ID:???
>>84
split
0086nobodyさん2006/02/18(土) 05:19:30ID:???
split(/<>/, $buff);
0087nobodyさん2006/02/19(日) 13:02:33ID:qZLcstMn
CGIで以下のことをやりたいと思ってます

1. test.cgiにアクセス
2. test.cgi内で、あるURLにアクセスしてローカルに保存
例: www.yahoo.co.jp/index.html → yahoo.txt
3. test.cgiでyahoo.txtを読み込み、必要な情報をhtmlでprint

perlは多少分かるのでローカルにさえ持ってこれればと思ってます
保存する箇所の簡単な仕組みをお願いします
0088nobodyさん2006/02/19(日) 13:18:09ID:???
>>87
つ【LWP】
0089nobodyさん2006/02/19(日) 14:42:42ID:???
>>88
おーーーーー超簡単に実現できました。
超ありがとうございます!
0090nobodyさん2006/02/19(日) 19:47:24ID:6/Fk1U6b
Windows 2000でMySQLのサービスが開始できなくなり、MySQLが使えなくなって大変困っています。エラーとこれまでの経過は、以下の通りです。

コントロールパネル -> 管理ツール -> サービス

「ローカルコンピュータのMySQLサービスを開始できません。エラー1058:指定されたサービスは無効であるか、または有効なデバイスが関連付けられていないため、開始できません。」
0091nobodyさん2006/02/19(日) 19:52:22ID:???
>90
それだけだとスレ違い。
データベース板へどうぞ
0092nobodyさん2006/02/19(日) 20:01:07ID:6/Fk1U6b
わかりました。
0093nobodyさん2006/02/19(日) 22:58:35ID:???
WEBプログラミングをするのに一番お勧めな言語はどれですか?
0094nobodyさん2006/02/20(月) 05:54:21ID:???
仕事にも活かしたいならPHP、Java
兎に角人に聞く性分であったりするならPerl
ってところか
0095nobodyさん2006/02/20(月) 07:31:46ID:???
>>93
チョット作って使い捨てならPHP。とにかく手っ取り早く作りたい人向け。
規模が大きめなものを作るのならJavaか.NET(C#)。個人や趣味プログラマには不要かも。
0096nobodyさん2006/02/20(月) 09:19:24ID:QuT/2iwf
>>81
情報ありがとうございます。調べてみます。
0097nobodyさん2006/02/20(月) 09:27:09ID:???
>96
Flashが一番敷居が低いと思う
金銭的敷居ならVBでActiveXってとこだと思う
0098nobodyさん2006/02/20(月) 12:54:29ID:???
ActiveX(´,_ゝ`)
0099nobodyさん2006/02/20(月) 16:55:02ID:???
お前帰れ
0100nobodyさん2006/02/21(火) 12:39:55ID:???
perlでcgi作ってるんですが、

&A(x,y,z);
&B(x,y,z);
とやって、サブルーチンAには値が渡せるんですが、
サブルーチンBにはわたりません。
いろいろ調べましたが(本とかネットとか)、ちょっと分かりません。
理由として何が考えられるでしょうか?


あとサブルーチンに
sub A{
・・・
exit;
}
とか書くと、なんかまずいんでしょうか?
0101nobodyさん2006/02/21(火) 13:33:58ID:???
値が渡らないことをどうやって確認したの?
0102nobodyさん2006/02/21(火) 13:49:07ID:???
>>101
レス有難うございます

subAとsubBにそれぞれ下記のようなことを書いて表示しました
同時には出せないようなので、1度にどちらかだけですが

print <<EOM;
Content-type: text/html

<html><head><title>kakunin</title></head><body>
<form action=http://www.***.cgi method=POST>

<center><b>ありがとうございました。</b><br>
<table width=80% border=1>
<tr><td width=12%>住所</td><td width=68%> 〒$post $jusyo</td></tr>
<tr><td width=12%>電話番号</td><td width=68%> $tel</td></tr>
<tr><td width=12%>FAX番号</td><td width=68%> $fax</td></tr>
<tr><td width=12%>メールアドレス</td><td width=68%> $mad</td></tr>
<tr><td width=12%>備考(通信欄)</td><td width=68%> $bikou</td></tr>
</table>
<br>
<input type=HIDDEN name="conf" value="1">
<center><input type="submit" value="-送信する-"></center>
<center><input type="button" value="<< -前画面に戻って編集-" onClick="history.back()"></center>
</form>
</body>
</html>
EOM
0103nobodyさん2006/02/21(火) 13:55:33ID:???
&B(x,y,z);

sub B{
my($x, $y, $z)= @_; # こうやって、渡された値を受け取るんだよ

}
0104nobodyさん2006/02/21(火) 14:14:54ID:???
その関数を終らせるのは return
0105100=1022006/02/21(火) 14:58:53ID:???
>>103
それは書いてあります

>>104
sub A{
・・・
exit;
}

sub A{
・・・
return;
}
ということでしょうか?パクリ元のcgiにexitとあったのでそのままにしてたんですが?
0106nobodyさん2006/02/21(火) 15:15:32ID:???
まず、exitが何するステートメントなのかを調べよう
0107nobodyさん2006/02/21(火) 16:23:52ID:???
>100=102=105
つーかexitの意味ぐらい推測できないのか?
まだえいごをべんきょうしたことのない消防なのかな?
0108nobodyさん2006/02/21(火) 17:01:53ID:???
お前が煽ったことでこれまでのレスが全て無駄になったな
0109nobodyさん2006/02/21(火) 17:28:23ID:???
>>102(のHTML)に既視感覚えてさかのぼってみたら>>51の人か。
0110nobodyさん2006/02/21(火) 17:46:24ID:???
>>109
気が付いたお前すごいw
0111nobodyさん2006/02/21(火) 19:15:02ID:???
>>109
おれも気づいたw
インパクトあるHTMLだったからな
0112nobodyさん2006/02/21(火) 19:42:41ID:???
>>109
感動した!
0113nobodyさん2006/02/21(火) 21:06:56ID:???
このフォームが設置されているURLを探そうというゲームですか?
0114nobodyさん2006/02/21(火) 22:17:13ID:???
こんばんは。言語はPerlでPOSTされてきたナンバーの行を「0⇒1」に書き換える、
というスクリプトを作っているのですが
以下のスクリプトではなぜだか元の行も新しいファイルに書き込まれ、
しかもsplitしてるのに書き込み時、$a1a等にデータが入りません。
下記スクリプトで不具合箇所があれば是非教えてください。お願いいたします。
ロック処理、エラー表示サブルーチンなどは省いてあります。
log.cgi
-----------
1,test,0
2,test,0
3,test,0

-----------

$logfile_all = "./log.cgi";
@new=();
open(IN,"$logfile_all") || &error("error");
while (<IN>) {
($a1a,$a2a,$a3a) = split(/,/);
if ($in{'no'} == $a1a) {
$_="$a1a,$a2a,1,\n";
}
push(@new,$_);
}
close(IN);
open(OUT,">$logfile_all") || &error("error");
print OUT @new;
close(OUT);
0115nobodyさん2006/02/21(火) 23:39:16ID:???
$in{'no'}が偽の場合のエラー処理を加える
0116nobodyさん2006/02/22(水) 00:13:18ID:???
>>115さん
レス有難う御座います。
仰るとおり偽の場合の処理、今後加えたいと思います。
現状ではあくまで動作確認の段階なので偽になるはずがないのです。。
どうしてもわからないです。。ううむ。。
0117nobodyさん2006/02/22(水) 02:36:47ID:???
そりゃ元のファイルに書き出してれば上書きされるでしょ・・・

できれば $_ 再利用せず変数を利用した方がいいかと
0118nobodyさん2006/02/22(水) 02:56:49ID:???
>>117さん
有難う御座います。
結果を書くのを忘れていました。
-----------
1,test,0,
,1,
2,test,0,
3,test,0,

-----------
っていう風になってしまうのです。

もし宜しければこれと同じようなことをできる
ソースを教えて頂ければ幸いです。ヨロシクオネガイシマス。。
0119nobodyさん2006/02/22(水) 03:42:37ID:???
読み込み時に $a3a の改行コードを取り除いてないからです

IN の open から close までを書き直してみました


open(IN, "$logfile_all") || &error("error");
while($readline = <IN>){
$readline =~ s/\x0D\x0A|\x0D|\x0A//;
my($num, $name, $flag) = split(/,/, $readline);
if($in{'no'} eq $num){
$readline = "$num,$name,1";
}
$readline .= "\n";
push(@new, $readline);
}
close(IN);
0120nobodyさん2006/02/22(水) 04:58:45ID:???
なるほど!!・・・今すぐにでも試したいのですが
ソースを会社のUSBメモリにいれてPCにさしっぱにして忘れて来てしまったので
今日会社に着いたら即やってみたいと思います。結果必ず報告に来ます(^д^ゞ
まずはレスしてくれた感謝のお気持ちだけ。。
0121nobodyさん2006/02/22(水) 11:43:46ID:???
そんな時間まで起きてて会社か。大変だね。ちゃんと行けたか?
0122nobodyさん2006/02/23(木) 00:22:45ID:???
ほんとごめんなさい。
会社には行けたんですが通常業務が忙しすぎて手が回らなかった(というか回させてもらえない)
ので、実験できませんでしたT△T何分小さい会社なもので・・・。
明日には必ずやりますので報告もう少し遅れそうです。。
わざわざソース書いて下さったのにごめんなさい。
0123nobodyさん2006/02/23(木) 14:41:14ID:???
映画やドラマのデータベースの作成をしようと思ってます。
パソコンだけでなく携帯からもアクセス可能なものです。

タイトル:消える掲示板
制作年:774年
出演者:
名無しさん
夜勤さん
プログラマさん
内容:増大する維持費と転送量に挑む男達。淀んだ楽園の行方は?


こんな感じの内容を登録して携帯やパソコンから検索閲覧できるようにしたいのですがPHPとMYSQLで実現できますか?
ちなみにPHPとMYSQLはこれから勉強します。

よろしくお願いします。
0124nobodyさん2006/02/23(木) 14:43:27ID:???
さげてしまったので上げます。
0125nobodyさん2006/02/23(木) 15:09:03ID:Swl5xdsb
PERL等で
「呼び出されたらサーバのファイルに
処理だけしてHTMLを返さない」
というCGIはどうやって書くのでしょう。

具体的には
「FLASHからPERLのCGIを呼び出すが
処理後にいちいちページが変わったりしなくていい」
というものです。

処理した後にHTMLをブラウザに返す
ようなCGIしか作ったことがないので
FLASHの話なのかCGI全般の仕組みの話なのか
よくわからないのです。











0126nobodyさん2006/02/23(木) 15:09:41ID:???
>>123
できますよ。携帯は機種判定が面倒だけど。
0127脱帽2006/02/23(木) 15:25:40ID:???
>125
とりあえず出直してこい
0128nobodyさん2006/02/23(木) 16:50:09ID:???
>>125
status 204
0129nobodyさん2006/02/23(木) 18:32:56ID:Swl5xdsb
うう、ありがとうございます。できました。
print "Status: 204";
0130nobodyさん2006/02/23(木) 18:48:11ID:???
>>119さん
無事できました!わかりやすいソースですごく納得です。
改行コードの件、今度から忘れず気をつけたいと思います。
119さんの力量計り知れないですね^^;本当にどうもありがとう御座いました。
01311232006/02/24(金) 11:08:56ID:???
>>126
ありがとうございます。
これからですが頑張って勉強してみます。
0132nobodyさん2006/02/25(土) 21:34:11ID:???
例えば書評サイトを作るとしよう
・書籍名 :(さるでもわかるPHP)
・ジャンル:(ぱそこん)
・作家名 :(曾英知)
・出版社 :(PHP出版)
・書評  :(わからん)
・満足度 :(38%)
とソフトかなんかに伝プレのカッコ内だけ記入してアップロードしたら
かってに
・ジャンルごとに固めて五十音順にならべるてページ作ってくれる
・ジャンルごとに固めて満足度順に並べてページつくってくれる
とかしてくれるようにしたいんだけど
HTMLやCSS以外に何を勉強したらできるようになるのか教えてください、


blog使えばいいじゃねーかとか言われてもブログのデザインって
使いにくいしダサいし
0133nobodyさん2006/02/25(土) 21:46:49ID:???
>>132
プログラム言語と 英語の習得を比較するとこんな感じ。
言語を取得してからも実用的な物を作れるようになるまでの道のりは長いぞ。

[プログラム言語の習得]        [英語の習得]
関数・構文を覚える           単語・構文を覚える
簡単なものを作る            簡単な文章を作る
必要な知識(プロトコルとか)を習得  ジョークの理解に必要な歴史的背景や風俗を知る
より効率的な作り方を身に付ける  古典的なアメリカンジョークを聞きつづける
実用的な物を作る            どっかんどっかん受けるようなアメリカンジョークを作る
0134nobodyさん2006/02/25(土) 23:02:09ID:???
>132
blogだってCSSをいじれば相当デザインを良くできると思うが。

ま、PerlかPHPのどっちかでも勉強すればいいんじゃね。
0135nobodyさん2006/02/25(土) 23:42:54ID:???
任意の項目でソート(降順・昇順ともに)するなら PHP+DB がいいんじゃないかな
IBM の DB2 だっけ? とか商用の廉価版でフリー製品あるし DB は好きなの選べるから
今から勉強するなら面白いとは思う
0136nobodyさん2006/02/26(日) 16:36:58ID:???
というかブログのデザインカスタマイズはXHTMLとCSSでやるもんだけど…。
0137nobodyさん2006/02/26(日) 19:48:31ID:???
XHTMLは必ずしも必要ではないチンカスです
0138でもどり2006/02/26(日) 21:50:01ID:gbKgppEZ
会社ではWindowsサーバーでASPとSQLServerを使って開発をしているものです。
ある団体のホームページを作っていて、プロバイダは@niftyです。
自分で調べたところ、@niftyで使用されているサーバのOSはFreeBSDでASPは使えないとわかりました。
OSがFreeBSDでASPのようにデータベースに接続して登録や照会処理ができるような技術を調べたところ、
Apache、PostgreSQLなどがあるようなのですが、どれが習得しやすく使いやすいですか?
アドバイスや参考なるページをご存知の方は教えてください。
よろしくお願いします。
0139nobodyさん2006/02/26(日) 22:04:33ID:???
Apacheでプログラミングなんてすごいな
0140nobodyさん2006/02/26(日) 22:05:03ID:???
>>138
名称        キミの環境      代替手段
------------------------------------------------------
OS         windowsの何か   FreeBSD、Linuxとか
Webサーバ    IISとか(よく知らね) apache
データベース   SQLServer      PostgreSQL、MySQLとか
プログラム言語 ASP          Perl、PHP、JSPとか
0141nobodyさん2006/02/26(日) 23:06:43ID:???
>>138
Windowsしか知らんのなら、素直にWindowsサーバ使えるところでホームページ作れば?
今までWindows+ASP+SQLServerしか触ったことのない人が、一からApacheとPostgreSQLの
環境を構築してUNIXの勉強もしなきゃならないというのはキツいよ。っつーか無謀。

趣味ならともかくお仕事なら、
・Windowsサーバを使えるところで作る
・移行環境(何にするか知らんが)に詳しい技術者を連れてくる
のどっちかにすれ
0142nobodyさん2006/02/28(火) 15:59:50ID:???
掲示板て普通はPerlで作るの?
0143nobodyさん2006/02/28(火) 16:29:21ID:???
別に何でもいいんじゃね
0144nobodyさん2006/02/28(火) 16:30:42ID:???
>>142
別に言語は何でもいいんでないかな。
Perlの掲示板が多いのは、

サンプル・フリー配布スクリプトが多い、
レン鯖、プロバイダ鯖等でもPerlがインストール済みの確率は多言語に比べ高い

なんかが理由だと思う。
0145nobodyさん2006/02/28(火) 16:35:18ID:???
関係ないけどPerlてスクリプトだったんだ・・・
0146nobodyさん2006/02/28(火) 16:38:56ID:???
スクリプト言語ね。
>>142
さすがにCGIはC言語で書く人は少ないだろうね。
0147nobodyさん2006/02/28(火) 16:45:58ID:???
>>146
文字列処理が弱いからな。
POSIX正規表現も低速だし、使いづらい。

Perl普及の背景には強力な正規表現が実装されててCGIに必要不可欠な文字列処理が強力だったって言うのもあるな。
0148nobodyさん2006/02/28(火) 16:48:48ID:???
低速といっても、Perlから見た低速とは意味が違うけどな。
0149nobodyさん2006/02/28(火) 17:02:23ID:???
今からCGIやるなら、PerlよりもPHPのいいですかね?
JavaScriptはこれらとは別物なんですよね?
0150nobodyさん2006/02/28(火) 17:13:09ID:???
>>149
JavaScriptはクライアントサイドスクリプト。
ブラウザ上などで実行される。

対してPerlやPHPはサーバサイドスクリプト。
サーバー上で実行され、実行結果がクライアントに返る。

PerlとPHPと言うのは好みだろう。
0151nobodyさん2006/02/28(火) 17:42:59ID:???
仕事でもやっていきたいならPHPかJavaかという選択肢
正直新規のプログラムでperlを使うってのは少ない
DBを扱うなら尚更perlの出番なし
好きなんだけどねperl…
0152nobodyさん2006/02/28(火) 17:49:33ID:???
掲示板を扱うならば、PerlかPHPがお勧めで、どちらを選ぶかは好みの問題。
ってことでおk。
0153nobodyさん2006/02/28(火) 17:57:24ID:???

皆さんはCGIを動かす為のWebサーバソフト(フリー)は何使われてますか?
0154nobodyさん2006/02/28(火) 17:59:04ID:???
Apache
0155nobodyさん2006/02/28(火) 18:00:48ID:???
ttp://www.kent-web.com/www/index.html

これとかどうなんだろ?
0156nobodyさん2006/02/28(火) 18:02:28ID:???
個人的にAnHTTPDはアレだ
0157nobodyさん2006/02/28(火) 18:09:13ID:???
あれとは?
0158nobodyさん2006/02/28(火) 18:17:58ID:???
Apache。

使ったことないから実際にどうなのかは知らんのだけど、
AnHTTPdがアレだという話は確かによく聞くな。
0159nobodyさん2006/02/28(火) 18:24:56ID:???
lighthttpd
0160nobodyさん2006/02/28(火) 19:17:33ID:???
AnHTTPdはPHPとPerlを動かすと正常に動いてたPerlスクリプトにエラーが出るようになる
CGI アクセスが多いと (といっても1日のトータルで2〜3000ほど) 1日経たずにサヨナラ
0161nobodyさん2006/02/28(火) 19:39:22ID:???
Apacheが一番無難そうだね。ユーザーも多いし。
0162nobodyさん2006/02/28(火) 19:48:01ID:???
ある程度CUI操作に慣れてればAnHTTPDを使う理由も無いしな。
0163nobodyさん2006/02/28(火) 20:04:21ID:???
Apacheって2.2と1.3がある。どちらも最新バージョンらしいし、どちらを選べばいいのか
もう訳わからんです
0164nobodyさん2006/02/28(火) 20:06:19ID:???
>>163
2.0系統使え
0165nobodyさん2006/02/28(火) 20:07:29ID:???
WindowsユーザーがとっつきやすいWeb鯖ってなんですか?
0166nobodyさん2006/02/28(火) 21:07:35ID:???
Perl CGI で。
外部公開ウェブサーバのCGIで受けたPOSTデータを、そのまま
ローカルウェブサーバのCGIにリダイレクトしたいのですが…
可能でしょうか??
0167nobodyさん2006/02/28(火) 21:56:54ID:???
> 163
1.3 のほうが微妙に速いこともあるけど、使うなら2系がいい

> 165
Apache

> 166
できるっぽいけど俺には探せなかった
ごめ
0168nobodyさん2006/02/28(火) 22:04:28ID:???
>>166
リバースproxyでググれ
っつーかCGIに何の関係もないけどな
0169nobodyさん2006/02/28(火) 22:56:59ID:???
Linuxで見ると文字化けします。
良い解決策教えてください。
すべてShift-JISで作ってました。
0170nobodyさん2006/02/28(火) 23:03:39ID:???
何を何で見て化けてるのか知らないけど、
Linux板のくだ質で聞いたほうがよくない?
0171nobodyさん2006/02/28(火) 23:29:23ID:???
> 167, 168
ありがとうございます。

リバースproxyってのは知らなかったなぁ。
特定のURLだけでリバースproxyを使うって設定はできるのかな??

調べてみます。
0172nobodyさん2006/03/01(水) 01:39:06ID:Au3MGlrq
Perl等の言語ごとにベンチマークをはかりたいのですが、
Perlをコンパイルして保存、それをFastCGIでPersistentにすることってできるでしょうか??
0173nobodyさん2006/03/01(水) 05:29:37ID:QDiV6++O
「enctype="multipart/form-data"」のフォームで送られてきたデータは
それぞれの項目が改行で区切られるているらしいのですが、
その際の改行コードはクライアントのプラットフォームに関係なく
絶対にCRLF(\r\n)なんでしょうか?
0174nobodyさん2006/03/01(水) 06:21:35ID:???
>>173
区切りは改行じゃなくてセパレータ文字列じゃなかったっけ?
単なる改行ならCRLFが有力候補だけど、ブラウザまかせ。要テストですね。
0175nobodyさん2006/03/01(水) 06:25:23ID:???
>>173
つRFC2046
結論から言えばRFC常は必ずCRLF

この辺参照
4.1.1 Representation of Line Breaks
> The canonical form of any MIME "text" subtype MUST always represent a
> line break as a CRLF sequence. Similarly, any occurrence of CRLF in
> MIME "text" MUST represent a line break. Use of CR and LF outside of
> line break sequences is also forbidden.

5.1.1 Common Syntaxの拡張BNF
> body-part := MIME-part-headers [CRLF *OCTET]
> delimiter := CRLF dash-boundary

01761752006/03/01(水) 06:33:30ID:???
セパレータじゃなくてバウンダリだったか。
01771752006/03/01(水) 06:34:20ID:???
ごめん大ボケやった…4.1.1はtextサブタイプだけだ
でもセパレータの前やMIMEヘッダ中に入ってる改行はCRLFで間違いないはず。
準拠してないブラウザが存在しないとは保障できないけど
01781742006/03/01(水) 06:38:46ID:???
名前欄ミスごめん。>>176は俺ですた。ごめんね>>175
01791752006/03/01(水) 06:41:42ID:???
>>178
いやいや、見事な未来レスw
リロードしとけば漏れまで間違えること無かったのにillorz
01801742006/03/01(水) 08:08:27ID:QDiV6++O
どうもありがとうございます!

>>177
>準拠してないブラウザが存在しないとは保障できないけど

境界線の形式が、例えば
-----------------------------7d61f4206e0
(最後だけは-----------------------------7d61f4206e0--)
みたいになっているとも限らないんでしょうか?
0181nobodyさん2006/03/01(水) 08:09:09ID:QDiV6++O
あ、すいません。上の名前は173です。
■ このスレッドは過去ログ倉庫に格納されています