△▲ WebProg 初心者の質問 Part13 ▼▽
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/ ・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/ お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3
3 :
nobodyさん :2006/02/09(木) 22:18:11 ID:BV7NBQ79
環境− IIS 5.0、ASP.NET つい先日WEBプログラム作り始めたばかりの初心者です。 やりたいことは、ログインが出来たユーザーにサーバ上に置いてあるEXECLファイル等のDLを出来るようにしたいということです。 最初はファイルの一覧を表示して、それにリンクを貼る方法を思いつきましたが、 これではファイル名を直接URLに入力することでログインしてないユーザーにもファイルをDLされてしまうことに気付きました。 本屋でざっとWebプログラム関係の書籍を読んでみたところ、 通常はWebから直接クセス出来ない場所にファイルを置いておき、アクセスがあった場合にだけ、 アクセスできる場所に乱数を使用したファイル名でファイルをコピーしてそれをDLさせる、 という方法があることが分かりました。 この方法が一般的な会員制のサイトでは使われているのでしょうか? そして、別のもっとシンプルでプログラミングしやすい方法はあるのでしょうか?
ベーシック認証なり、ダイジェスト認証をどうぞ
5 :
nobodyさん :2006/02/10(金) 06:31:23 ID:FbzTORhy
どうもです。調べてみます
6 :
5 :2006/02/10(金) 06:38:47 ID:FbzTORhy
このログインっていうのは、Windowsの認証画面が出るのではなくASP.NETで既に作られているものです。 記述不足だったと思うので追記します。
べつに思いついた方法で好きにやれよ ダウンロードで指定する先をCGIなりにしておけばいいのでは
WEBの認証をイマイチ理解してないな 出直したほうがよろしいかと思われ
9 :
nobodyさん :2006/02/10(金) 22:09:06 ID:DEtK4uW2
イマイチどころか全く理解出来てないですよ〜 まあ焦ってトリッキーなもの作ったりしないように、基礎からきちんと勉強していくことにします。 今までやってたDBはそうやって一歩一歩進んで行ったし、見得張っても仕方ないですから。 気でも向いたら、出直し勉強してくるのに良い書籍かHPを知ってたら教えてくださいませ。 みさなんありがとうございました。では。
Windows でサーバー立ててるから認証=Windowsログオンと勘違いしがち とりあえず OS は Windows だけに非ず ってことです
11 :
nobodyさん :2006/02/10(金) 23:45:18 ID:LjpdlGCG
windowsXPにおいてphp5.1.2でpearをインストールしたいのですが、 commandで cd c:\php go-pear.bat と打ち込むと次の文章がでてきます。 are you installing a system-wide PEAR or a local copy? これでそのままENTERをおすとインストールされるのですがDBに関係するものが インストールされません。 どなたかご教授お願いします。
>11 英文ちゃんと読め
PHPで動くWEBサイトを作っています。 基本的にHTMLのタグ等は回避するコードを入れてありますが、 それでも未だユーザーから送信された文字列で一部動作が おかしくなってしまうしてしまうケースがあります。 確認したもので2つ。 "++ strings ++-" というものと "~{ strings }" の2つです。 ページにダブルコーテーションの中の文字列が混入すると、 文字化けしたりポストできなかったりという不具合が発生します。 これらは元々どういった目的で存在するのでしょうか? またこの他にも似たようなケースがあれば教えて頂けると嬉しいです。 宜しくお願いします。
何言ってんのかワカンネ それを再現できる最小限のコードを掲示しておくれ。てかPHPスレの方がいいのか?
>>14 HTMLの中にダブルコーテションで括った文字列を入れてブラウザで見てみて下さい。
stringsの部分は任意のASCII文字列で結構です。
"++ strings ++-"が混入すると他のページに正常にポストできなくなります。
"~{ strings }" が混入すると文字化けします。
ちなみに私の使用しているブラウザはIE6です。
16 :
13 :2006/02/11(土) 13:52:52 ID:???
>"~{ strings }" が混入すると文字化けします。 については自己解決しました。 ページ内にマルチバイト文字を使用せず、尚且つ文字エンコーディングを 指定していない場合に文字化けしてしまうようです。
普通そんなことにならない。大体PHPの問題か?それ
おっとリロードしてなかった
>>16 それは当たり前
19 :
nobodyさん :2006/02/11(土) 17:23:09 ID:SAxLq4wU
mysqlについて。 HTMLのFORMから名前とパスワードを入力してもらい、PHPでデータベースに登録するコードを作りました。 データベース側で名前とパスワードのデータの種類で妥当なものはvarcharでよろしいのでしょうか?
>>19 文字数の上限を明示してあるなら、それで良い。
21 :
nobodyさん :2006/02/12(日) 01:46:38 ID:+pADw+zg
>>20ありがとうございます。
携帯からでも更新/観覧可能な"更新履歴"みたいCGIってありますか?
25 :
sage :2006/02/13(月) 13:18:13 ID:???
はじめまして、たまにROMってました。 HTMLからチェックボックスで「&gyou=2&gyou=6&gyou=12」等、行数を POSTしたのをCGIで受け取って、受け取った行数目をCSVで出力し ダウンロード(表示)するスクリプトを作ろうとしてますが、 複数行ならともかく一行引き抜くのもできてません。。 CSVはヤマトのB2用に作っているので先頭に行番などを書き込んでおくこともできません。 流れ的にはfor文で指定行までループしてwhileでCSVをループ、ifで一致した行を読み込む なんて意味不明なことしか思いつきませんが、それすらまともに動きません。 ヒントなど是非教えてください。よろしくお願いします。
>>25 > 流れ的にはfor文で指定行までループしてwhileでCSVをループ、ifで一致した行を読み込む
「for文で指定行までループして」のところが余計だから訳解らなくなってるんだと思う。
whileで現在の行数を数えながらループして、
指定の行番号と一致したら必要な処理をする、で良いんジャマイカ
後、具体的なアドバイスを受けたいなら言語指定汁
27 :
sage :2006/02/13(月) 15:14:23 ID:???
26タン、すみません、ほんとすみません。 言語Perlです。forとwhileとifが鍵っぽくて あれこれやってみたのですがPOSTされた何個かの行数目を ひとつのCSVにまとめて出力するなんていう書き方がまったくわからず。。 かれこれ1週間ぐらい色んなところ探し回って見つけられておりません。。
まず入力されたフォームのデータの分解にどこのサイトのを使ってるかだ cgi-libならマルチプルは対応してる 某偉大なるK○NTさんのは未対応かもしれん cgi-libを使ってるなら my(@selected) = split(/\0/, $in{'gyou'}); で分解すればいいです
29 :
sage :2006/02/13(月) 18:40:23 ID:???
ゴメンナサイ、説明がへたくそでごめんなさい。 特にどちらのスクリプトも使用せず、自前で作ってます。 が、受け取った何個かの行数を分解したあと どうやって自動的に「その行数目」を連続で抜き出すのかがわかりません。。 お礼出せますので是非お手伝いしていただけたら幸いです。。
>>29 複数の値との比較ができないのかな?それとも行番号が入ってる特殊変数 $. を知らないのかな?
とりあえず @want_line_nums = (2, 6, 12); といった情報は既に取得できてるとして、
ファイルを舐めるwhileループの中で for(@want_line_nums){ if( $. == $_ ){...}_} と2重ループさせても構わないし、
全ての行番号をキーにしたハッシュを作っておいてループ中に if( exists $target{ $. } ){...} と判断してもいいし、
csvの中身を配列に格納しておいて添え字で選択してもいい。
31 :
sage :2006/02/14(火) 15:02:40 ID:???
>>30 タン、ご丁寧に有難う御座います。
今から作ってみます。それと、特殊変数$.の存在を知りませんでした。。
暗黙の変数以外にも色々とあるのですね。。知識不足でした。
早速やってきます!また報告にきます。皆さんのお助け、本当に感謝です。
32 :
nobodyさん :2006/02/14(火) 16:02:45 ID:d9pRn32t
すみません。 CGIを公開してない、プロバイダーでサーバーサイドプログラムを走らす事ってむりなんでしょうか?
33 :
sage :2006/02/14(火) 16:14:18 ID:???
>>30 タン、できました!!
ほぼとかそういうレベルじゃなく、完璧期待通りのものができました!
本当に有難う御座いました。まさに30タンが言ってくれた
特殊変数$.が役に立ち、無事できましたT△T
他にも26タン、28タンも助言有難う御座いました。
30タンに直接お礼したいけどIDもトリもないから直接できないのが残念だけど
このスレのみんなにも感謝の意をこめて、ちょっとだけクォリティ高いことしてきます。
今まで一回しかしたことないや^^;ではまたあとで報告にきます。
34 :
sage :2006/02/14(火) 17:01:16 ID:???
さて、やってきました。スレとまったく関係ないことですが。。
お礼を兼ねてますのでお許しを。。
自分は犬が好きなのでそこらへんに寄付という形でお礼をさせていただきました。
ttp://www.h-guidedog.org/ http://m.pic.to/50dxv 振込写真
今日はあえてお金持って来てなかったのを忘れてたので
2170円の中から2000円+手数料60円という形で寄付してきました。
ちゃんと通信欄にここのスレ名書いてきましたよ(w
それではほんとに有難う御座いました!
>>32 Apacheとかが、走ってることでしょう。
>>34 2ちゃんに貢献なら、●もお忘れなく。
36 :
nobodyさん :2006/02/16(木) 00:12:48 ID:hjkq5viF
>>36 <div id="header" style="background:url(/a_images/banar/headerimg28.jpg) top center no-repeat;">
の部分かな、アクセスごとに変わるから、CGIで動的に吐いてるみたいね。
でもこの程度なら、鯖負担も考えてJavaScriptでしてください。
38 :
36 :2006/02/16(木) 00:36:29 ID:???
>>37 はい、まさにその部分です。
JavaScriptはJavaScriptを切ってる人には無効になるので、
ぜひCGIで実行したいです。
よろしくお願い致します。
>38 opendir(DIR, "topimg/"); @files = grep { /^\./ && /\.jpg$/ } readdir(DIR); close(DIR); $imgcnt = @files; $imgnum = int(rand($imgcnt)); $imgtag = "<img src=\"$topimg/$files[$imgnum]\">";
40 :
38 :2006/02/16(木) 02:17:46 ID:???
順を追って説明(後々そこはなにやってるんですか?とかが予想されるので・・・) ディレクトリを開く 頭文字がドットで始まっておらず最後が jpg で終わるファイルを @files へ格納 (※ .. は1つ上のディレクトリ、. はそのディレクトリを表す) ディレクトリを閉じる 見つかったファイルの総数を得る (例として50個) 使用する画像番号を得る(randで0〜49までの数字を得て、intで小数点を切り落す) HTML のタグを作成
41 :
36 :2006/02/16(木) 03:18:10 ID:???
ご教授ありがとうございます。
index.htmlファイルにその画像を読み込みする場合はどうすればよろしいですか?
仮にtopimageフォルダを作りその中に
>>39 をコピペでindex.cgi(パーミッションは?)を作って
ひとつ上の階層のindex.htmlファイルにそのランダム画像を呼び出したいのですが。
ど素人で申し訳ないです。
>>41 借りている鯖がindex.cgi、index.phpでいけるなら、そのまま利用するか、
index.htmlのインラインフレームでcgiを呼ぶか、
index.shtmlで呼ぶか。
43 :
38 :2006/02/16(木) 04:57:23 ID:???
index.html で画像を表示するところに ##TOPIMG## と書いておく index.cgi で open(IN, "index.html"); read(IN, $htmlfile, (-s IN)); close(IN); $htmlfile =~ s/##TOPIMG##/$imgtag/; print "content-type: text/html\n\n"; print $htmlfile;
44 :
38 :2006/02/16(木) 05:03:00 ID:???
あっ、色々書き直し ◆ topimg.cgi opendir(DIR, "topimg/"); @files = grep { /^\./ && /\.jpg$/ } readdir(DIR); close(DIR); $imgcnt = @files; $imgnum = int(rand($imgcnt)); open(IN, "topimg/$files[$imgnum]"); read(IN, $jpegdata, (-s IN)); close(IN); binmode(STDOUT); print "content-type: image/jpeg\n\n"; print $jpegdata; ◆ index.html <img src="topimg.cgi"> 詳細なディレクトリ構造がわからんので、使う際は自分の環境に合わせて変更してください
展開不要な部分はシングルクオートで囲むと、ちょびっと幸せ。
46 :
36 :2006/02/16(木) 15:48:27 ID:???
ご丁寧にありがとうございます。
メモ帳にて
>>44 のtopimg.cgiのopnedir以降の部分をコピペ
↓
topimg.cgiと名前を付けて、index.htmlファイルと同じ階層にアップロード
↓
index.html階層にtopimgフォルダを作成し、そこにjpgファイルをアップ
↓
最後にindex.htmlに<img src="topimg.cgi">を貼り付け
したのですが、うまくいきません。
どこか間違っていますか?
47 :
38 :2006/02/16(木) 16:13:59 ID:???
ディレクトリ見ずにどやって画像ファイル名を取得してますか?
48 :
36 :2006/02/16(木) 16:44:55 ID:???
大変お手数ですが、初心者にもわかるように1から10までご教授願えないでしょうか。 英単語の組み合わせのhtml,cssならわかるのですが、特殊な記号などがある言語はとても苦手です。 それぞれの記号の意味などもぐぐってみたのですが、さっぱりでした・・・ よろしくお願いします。
>>48 これ以上は金を払うべきだと思う漏れがいる。
そもそもCGIが使える鯖なのかと。。。
あと、
>>44 の書いたtopimg.cgiには
#!/usr/local/bin/perl
↑のような最初の一行が省略されている。
自分の環境に合わせたものを書きなさい。
>>初心者にもわかるように1から10までご教授願えないでしょうか。 「家庭教師の2ちゃんねる」で起業したら儲かりそうですね。
初めてカキコします。よろしくお願いします。 いま自分の会社のcgiを作っています(リライトですが)。 もとのcgiが、web上で問い合わせ情報を記入してもらって、それをリストに落としていくperl のプログラムで、それに確認画面と、確認メール発送の機能をつけようとしています。 cgiでhtmlを記載して確認画面(「この内容でOK?」みたいなの)はできました。 OKの場合、ボタン押してもらって、もとのcgiのプロセスに戻りたいんですが、戻れません print '<form action=(このcgiのアドレス) method=post>'; print "<center><b>以下の内容で間違いがないか、ご確認下さい。</b><br>"; print "<center><b>宜しければ下の「送信する」を、訂正があれば「前画面に戻って編集」を、押してください。</b><br>"; print "<table width=80% border=1>"; ・・・中略・・・ print "<tr><td width=12%>備考(通信欄)</td><td width=68%> $bikou</td></tr>"; print "</table>"; print '<center><input type="button" value="-送信する-" onClick="return"> <input type="button" value="<< -前画面に戻って編集-" onClick="history.back()"></center>'; print '</form>'; } 最後のところを<input type="submit" value="-送信する-">としてもダメです。 どなたか知恵を貸してください。 長文スミマセヌ
>>51 確認画面表示
↓
OKボタンを押す
↓
確認メール発送
↓
Locationで元のCGIに飛ばす
53 :
51 :2006/02/16(木) 18:54:18 ID:???
>>52 早速のレス有難うございます。
未熟者で内容がよく理解できておりませんが、
>51の内容はcgiの中のサブルーチンになっていて、cgiの途中でsubにとんで>51を表示したあと
もとのcgiに戻りたいんですが、上手く動かないんです。
Location を調べましたが、そういう機能のものなんでしょうか?
>>53 はい、確認メールを送信するスクリプトの直後にLocationで飛ばせばおk
55 :
51 :2006/02/16(木) 19:26:39 ID:???
>>54 たびたび申し訳ありません
素人ですいませんが、
Lcationでcgiの何行目指定で飛ばすのは、どうやって書けばよいのでしょうか?
>55=51 せっかくLocationというキーワードをもらったんだから ぐぐって調べるくらいしなよ
CGIの参考書を買ってきて勉強中の者です。 ハッシュを利用した集計について質問です。 @list = (10.10.20.13.15.20.30); というリストがあったとして、10はn個、20はn個という風に集計するとします。 持っている本では foreach $cnt(@list){ $shukei{$cnt}++} で、リスト内の数値をキーとして集計する、と書いてあります。 実際にその通りにやると集計できたのですが キーとしてハッシュへ格納するのに++を使う理由がどうしてもわかりません。 仕組みはすっとばしてそういうものだと覚えるべきなのでしょうか。
>> 57 $shukei{$cnt}++ じゃなくて $shukei{$cnt} = $shukei{$cnt} + 1 なら納得できるのか?
>>58 いえ、なんで+ 1するのかがわからないんです。
というか、
$shukei{$cnt}は、
%shukei = ($cnt =>n,)という風に捉えているのですが
ここからして間違ってるんでしょうか?
60 :
57 :2006/02/16(木) 22:10:40 ID:???
連投すいません。 もしかして $shukei{$cnt} = undef値(=0) ということでしょうか。 つまり $shukei{$cnt}++ ↓ $shukei{$cnt} =0+1=1 ということであってますか?
>>60 そうそう、無いキーは自動的に作られる。
んで無い値を数値として扱ったら0とみなされる。
文字列として扱ったら""ね。
「扱う」ってのは数値用と文字列用どっちの演算子を使うかってことね。
62 :
57 :2006/02/16(木) 22:40:59 ID:???
>>61 ありがとうございます。だいぶスッキリしてきました!
あともう一つなんですが、
>>57 のやり方で集計すると、
$shukei{ 10 } = 2;
$shukei{ 20 } = 2;
$shukei{ 30 } = 1;
というハッシュの式になるじゃないですか。
これって何の処理をしなくても
%shukei = (10 => 2, 20 =>2, 30=>1);
という具合に、勝手にリスト化されるもんなんでしょうか。
たびたびすいませんが、ご教授よろしくおねがいします。
63 :
nobodyさん :2006/02/16(木) 22:55:07 ID:??? BE:433026566-
test
64 :
nobodyさん :2006/02/16(木) 22:58:24
株 ID:??? BE:288684364-
test
ファイルをオープンして読み込ませるスクリプトで、
$QUERY=preg_replace("/(\.+\/*|member\/)/","",$QUERY);
if($QUERY=='') $QUERY='index';
$fp=fopen(($fname='page/'.$QUERY.'.dat'),'r') or
header("Location:
http://example.com/404 ");
という処理をして、ファイルが存在しない場合は404に飛ばすようにしたんだが、ローカルで実行してみるとレスポンスが非常に長い上CPU負荷が100%近くまでなってしまいました。
処理の結果としてはきちんと404に飛んでるんですが、XREAなどで実行するとタイムアウトされてしまうほどの長さです。
この処理の問題についてご教授お願いします。
66 :
65 :2006/02/17(金) 00:34:47 ID:lUAE0Mm/
PHPです。書き忘れ。
PHPでファイルマネージャーを作ったのですが、ディレクトリのパーミッションを変更しないとファイルのアップロードや削除が行えません。 セキュリティ面から考えると不安なのですが、方法はないのでしょうか?
68 :
67 :2006/02/17(金) 00:38:33 ID:???
×方法はないのでしょうか? ○他に方法はないのでしょうか? でした
69 :
51 :2006/02/17(金) 01:37:58 ID:???
もう!早く教えなさい! ちんたらしてたら日がくれちゃうでしょ!! なにやってんだよっ!はやくしてくれよ!!
70 :
51 :2006/02/17(金) 02:06:00 ID:???
↑ なんか偽者がw >69は僕じゃないですから 助言してくださった方有難うございます。いまだ解決には至りませんが(泣
71 :
nobodyさん :2006/02/17(金) 02:31:13 ID:yKdX52Nc
>>62 ハッシュはリストとは違うものだからリスト化される、というのがそもそも間違っている。
確かにハッシュの中身をリストとして表現することは可能だし、
ソースに書くときはそういう風に書くけれど、あくまでそれは構文上の話。
ハッシュはその名のとおりデータ構造にハッシュというのを使っている。
これは検索汁。簡単に言えば0~99の数があったとすると1の位が0..9の十個に分類して、
検索に掛かる時間1/10にする、みたいなアルゴリズム。
実際にはこの辺はもっとばらつきが少なくなるような方法を使うけどね。
>>65 exitなりdieなりしてないからそのまま処理を進めてしまっているのが原因じゃ?
あと、それ対策不十分。memmember//という場合を考えてみよう。
まずいのが入っていたらreplaceじゃなくてエラー扱いするべき。$QUERY='index';してしまうとか。
>>67 CGIモードでかつSuEXEC上で動かすしかない。
CGI使えてSuEXECが入ってないということは無いと思うが、
CGI版のphpが入ってなかったりCGI自体使えないサーバだったりしたら、
権限がApacheサーバのものになっちゃってるから残念だけど無理。
72 :
71 :2006/02/17(金) 02:49:17 ID:???
>>65 スマソ。例訂正
memmember/ber/だった
73 :
nobodyさん :2006/02/17(金) 12:01:12 ID:Zrn4G6r2
フォームから複数のファイルをアップロードする方法ってありますか? 例えば10個のファイルをUPしたい場合、10回は参照しないといけないのでしょうか?
>>73 ディレクトリで指定したいとかだったら無理
<input type="file">を10個並べろ
75 :
nobodyさん :2006/02/17(金) 12:36:54 ID:Zrn4G6r2
やっぱり無理なのですね。。。。大変残念です。 写真を一気に10個とか指定できると楽なのですが。
セキュリティ上の制約ですな
77 :
nobodyさん :2006/02/17(金) 12:53:06 ID:Zrn4G6r2
どうにか擬似的な方法ないですかね? ajaxな感じで簡単にUPするとか。うーん
クライアント(ブラウザ)の制限だからな。 ローカルのファイルをどうこうできると、ピンポイントで特定のファイルを こっそりアップロードする物ができちゃうんで、かなり制限がかかってる 複数選択ができないのは別の理由かもしれんが
79 :
67 :2006/02/17(金) 16:22:09 ID:???
80 :
65 :2006/02/17(金) 16:57:53 ID:???
>>71-72 よくよく考えればロケーションヘッダはブラウザが実行するものでした。
サーバー側で吐かせても処理は続きますからね。
不正文字列の置換処理じゃマズイとは思っていたのですが、memberは未実装なので放置していました。
Traversalは出来ないにしろ、抜け穴が明確になったため先ほど変更しました。
回答どうもありがとうございました。
ディレクトリ指定とか、任意の数の複数ファイルを指定したいならJavaアプレットかActiveXコンポーネントになっちゃうかと それかFlashでも出来たはず
IDさらして自演とかそんな図太い真似出来ない に ち ゃ ん ね る っ て す ご い ね
84 :
nobodyさん :2006/02/17(金) 22:54:10 ID:CB9LbJEF
1<>てすと<>てすと<> のように"<>"で区切られたdatファイルをよく見るのですが、 <>ごとに読み取って変数に格納するにはどのような操作をすればよいのでしょうか?
split(/<>/, $buff);
87 :
nobodyさん :2006/02/19(日) 13:02:33 ID: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は多少分かるのでローカルにさえ持ってこれればと思ってます 保存する箇所の簡単な仕組みをお願いします
>>88 おーーーーー超簡単に実現できました。
超ありがとうございます!
90 :
nobodyさん :2006/02/19(日) 19:47:24 ID:6/Fk1U6b
Windows 2000でMySQLのサービスが開始できなくなり、MySQLが使えなくなって大変困っています。エラーとこれまでの経過は、以下の通りです。 コントロールパネル -> 管理ツール -> サービス 「ローカルコンピュータのMySQLサービスを開始できません。エラー1058:指定されたサービスは無効であるか、または有効なデバイスが関連付けられていないため、開始できません。」
>90 それだけだとスレ違い。 データベース板へどうぞ
92 :
nobodyさん :2006/02/19(日) 20:01:07 ID:6/Fk1U6b
わかりました。
WEBプログラミングをするのに一番お勧めな言語はどれですか?
仕事にも活かしたいならPHP、Java 兎に角人に聞く性分であったりするならPerl ってところか
>>93 チョット作って使い捨てならPHP。とにかく手っ取り早く作りたい人向け。
規模が大きめなものを作るのならJavaか.NET(C#)。個人や趣味プログラマには不要かも。
96 :
nobodyさん :2006/02/20(月) 09:19:24 ID:QuT/2iwf
>>81 情報ありがとうございます。調べてみます。
>96 Flashが一番敷居が低いと思う 金銭的敷居ならVBでActiveXってとこだと思う
ActiveX(´,_ゝ`)
お前帰れ
perlでcgi作ってるんですが、 &A(x,y,z); &B(x,y,z); とやって、サブルーチンAには値が渡せるんですが、 サブルーチンBにはわたりません。 いろいろ調べましたが(本とかネットとか)、ちょっと分かりません。 理由として何が考えられるでしょうか? あとサブルーチンに sub A{ ・・・ exit; } とか書くと、なんかまずいんでしょうか?
値が渡らないことをどうやって確認したの?
>>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
&B(x,y,z); sub B{ my($x, $y, $z)= @_; # こうやって、渡された値を受け取るんだよ }
その関数を終らせるのは return
>>103 それは書いてあります
>>104 sub A{
・・・
exit;
}
を
sub A{
・・・
return;
}
ということでしょうか?パクリ元のcgiにexitとあったのでそのままにしてたんですが?
まず、exitが何するステートメントなのかを調べよう
>100=102=105 つーかexitの意味ぐらい推測できないのか? まだえいごをべんきょうしたことのない消防なのかな?
お前が煽ったことでこれまでのレスが全て無駄になったな
>>109 おれも気づいたw
インパクトあるHTMLだったからな
このフォームが設置されているURLを探そうというゲームですか?
こんばんは。言語は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);
$in{'no'}が偽の場合のエラー処理を加える
>>115 さん
レス有難う御座います。
仰るとおり偽の場合の処理、今後加えたいと思います。
現状ではあくまで動作確認の段階なので偽になるはずがないのです。。
どうしてもわからないです。。ううむ。。
そりゃ元のファイルに書き出してれば上書きされるでしょ・・・ できれば $_ 再利用せず変数を利用した方がいいかと
>>117 さん
有難う御座います。
結果を書くのを忘れていました。
-----------
1,test,0,
,1,
2,test,0,
3,test,0,
-----------
っていう風になってしまうのです。
もし宜しければこれと同じようなことをできる
ソースを教えて頂ければ幸いです。ヨロシクオネガイシマス。。
読み込み時に $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);
なるほど!!・・・今すぐにでも試したいのですが ソースを会社のUSBメモリにいれてPCにさしっぱにして忘れて来てしまったので 今日会社に着いたら即やってみたいと思います。結果必ず報告に来ます(^д^ゞ まずはレスしてくれた感謝のお気持ちだけ。。
そんな時間まで起きてて会社か。大変だね。ちゃんと行けたか?
ほんとごめんなさい。 会社には行けたんですが通常業務が忙しすぎて手が回らなかった(というか回させてもらえない) ので、実験できませんでしたT△T何分小さい会社なもので・・・。 明日には必ずやりますので報告もう少し遅れそうです。。 わざわざソース書いて下さったのにごめんなさい。
映画やドラマのデータベースの作成をしようと思ってます。 パソコンだけでなく携帯からもアクセス可能なものです。 タイトル:消える掲示板 制作年:774年 出演者: 名無しさん 夜勤さん プログラマさん 内容:増大する維持費と転送量に挑む男達。淀んだ楽園の行方は? こんな感じの内容を登録して携帯やパソコンから検索閲覧できるようにしたいのですがPHPとMYSQLで実現できますか? ちなみにPHPとMYSQLはこれから勉強します。 よろしくお願いします。
さげてしまったので上げます。
125 :
nobodyさん :2006/02/23(木) 15:09:03 ID:Swl5xdsb
PERL等で 「呼び出されたらサーバのファイルに 処理だけしてHTMLを返さない」 というCGIはどうやって書くのでしょう。 具体的には 「FLASHからPERLのCGIを呼び出すが 処理後にいちいちページが変わったりしなくていい」 というものです。 処理した後にHTMLをブラウザに返す ようなCGIしか作ったことがないので FLASHの話なのかCGI全般の仕組みの話なのか よくわからないのです。
>>123 できますよ。携帯は機種判定が面倒だけど。
127 :
脱帽 :2006/02/23(木) 15:25:40 ID:???
>125 とりあえず出直してこい
129 :
nobodyさん :2006/02/23(木) 18:32:56 ID:Swl5xdsb
うう、ありがとうございます。できました。 print "Status: 204";
>>119 さん
無事できました!わかりやすいソースですごく納得です。
改行コードの件、今度から忘れず気をつけたいと思います。
119さんの力量計り知れないですね^^;本当にどうもありがとう御座いました。
131 :
123 :2006/02/24(金) 11:08:56 ID:???
>>126 ありがとうございます。
これからですが頑張って勉強してみます。
例えば書評サイトを作るとしよう ・書籍名 :(さるでもわかるPHP) ・ジャンル:(ぱそこん) ・作家名 :(曾英知) ・出版社 :(PHP出版) ・書評 :(わからん) ・満足度 :(38%) とソフトかなんかに伝プレのカッコ内だけ記入してアップロードしたら かってに ・ジャンルごとに固めて五十音順にならべるてページ作ってくれる ・ジャンルごとに固めて満足度順に並べてページつくってくれる とかしてくれるようにしたいんだけど HTMLやCSS以外に何を勉強したらできるようになるのか教えてください、 blog使えばいいじゃねーかとか言われてもブログのデザインって 使いにくいしダサいし
>>132 プログラム言語と 英語の習得を比較するとこんな感じ。
言語を取得してからも実用的な物を作れるようになるまでの道のりは長いぞ。
[プログラム言語の習得] [英語の習得]
関数・構文を覚える 単語・構文を覚える
簡単なものを作る 簡単な文章を作る
必要な知識(プロトコルとか)を習得 ジョークの理解に必要な歴史的背景や風俗を知る
より効率的な作り方を身に付ける 古典的なアメリカンジョークを聞きつづける
実用的な物を作る どっかんどっかん受けるようなアメリカンジョークを作る
>132 blogだってCSSをいじれば相当デザインを良くできると思うが。 ま、PerlかPHPのどっちかでも勉強すればいいんじゃね。
任意の項目でソート(降順・昇順ともに)するなら PHP+DB がいいんじゃないかな IBM の DB2 だっけ? とか商用の廉価版でフリー製品あるし DB は好きなの選べるから 今から勉強するなら面白いとは思う
というかブログのデザインカスタマイズはXHTMLとCSSでやるもんだけど…。
XHTMLは必ずしも必要ではないチンカスです
138 :
でもどり :2006/02/26(日) 21:50:01 ID:gbKgppEZ
会社ではWindowsサーバーでASPとSQLServerを使って開発をしているものです。 ある団体のホームページを作っていて、プロバイダは@niftyです。 自分で調べたところ、@niftyで使用されているサーバのOSはFreeBSDでASPは使えないとわかりました。 OSがFreeBSDでASPのようにデータベースに接続して登録や照会処理ができるような技術を調べたところ、 Apache、PostgreSQLなどがあるようなのですが、どれが習得しやすく使いやすいですか? アドバイスや参考なるページをご存知の方は教えてください。 よろしくお願いします。
Apacheでプログラミングなんてすごいな
>>138 名称 キミの環境 代替手段
------------------------------------------------------
OS windowsの何か FreeBSD、Linuxとか
Webサーバ IISとか(よく知らね) apache
データベース SQLServer PostgreSQL、MySQLとか
プログラム言語 ASP Perl、PHP、JSPとか
>>138 Windowsしか知らんのなら、素直にWindowsサーバ使えるところでホームページ作れば?
今までWindows+ASP+SQLServerしか触ったことのない人が、一からApacheとPostgreSQLの
環境を構築してUNIXの勉強もしなきゃならないというのはキツいよ。っつーか無謀。
趣味ならともかくお仕事なら、
・Windowsサーバを使えるところで作る
・移行環境(何にするか知らんが)に詳しい技術者を連れてくる
のどっちかにすれ
掲示板て普通はPerlで作るの?
別に何でもいいんじゃね
>>142 別に言語は何でもいいんでないかな。
Perlの掲示板が多いのは、
サンプル・フリー配布スクリプトが多い、
レン鯖、プロバイダ鯖等でもPerlがインストール済みの確率は多言語に比べ高い
なんかが理由だと思う。
関係ないけどPerlてスクリプトだったんだ・・・
スクリプト言語ね。
>>142 さすがにCGIはC言語で書く人は少ないだろうね。
>>146 文字列処理が弱いからな。
POSIX正規表現も低速だし、使いづらい。
Perl普及の背景には強力な正規表現が実装されててCGIに必要不可欠な文字列処理が強力だったって言うのもあるな。
低速といっても、Perlから見た低速とは意味が違うけどな。
今からCGIやるなら、PerlよりもPHPのいいですかね? JavaScriptはこれらとは別物なんですよね?
>>149 JavaScriptはクライアントサイドスクリプト。
ブラウザ上などで実行される。
対してPerlやPHPはサーバサイドスクリプト。
サーバー上で実行され、実行結果がクライアントに返る。
PerlとPHPと言うのは好みだろう。
仕事でもやっていきたいならPHPかJavaかという選択肢 正直新規のプログラムでperlを使うってのは少ない DBを扱うなら尚更perlの出番なし 好きなんだけどねperl…
掲示板を扱うならば、PerlかPHPがお勧めで、どちらを選ぶかは好みの問題。 ってことでおk。
皆さんはCGIを動かす為のWebサーバソフト(フリー)は何使われてますか?
Apache
個人的にAnHTTPDはアレだ
あれとは?
Apache。 使ったことないから実際にどうなのかは知らんのだけど、 AnHTTPdがアレだという話は確かによく聞くな。
lighthttpd
AnHTTPdはPHPとPerlを動かすと正常に動いてたPerlスクリプトにエラーが出るようになる CGI アクセスが多いと (といっても1日のトータルで2〜3000ほど) 1日経たずにサヨナラ
Apacheが一番無難そうだね。ユーザーも多いし。
ある程度CUI操作に慣れてればAnHTTPDを使う理由も無いしな。
Apacheって2.2と1.3がある。どちらも最新バージョンらしいし、どちらを選べばいいのか もう訳わからんです
WindowsユーザーがとっつきやすいWeb鯖ってなんですか?
Perl CGI で。 外部公開ウェブサーバのCGIで受けたPOSTデータを、そのまま ローカルウェブサーバのCGIにリダイレクトしたいのですが… 可能でしょうか??
> 163 1.3 のほうが微妙に速いこともあるけど、使うなら2系がいい > 165 Apache > 166 できるっぽいけど俺には探せなかった ごめ
>>166 リバースproxyでググれ
っつーかCGIに何の関係もないけどな
Linuxで見ると文字化けします。 良い解決策教えてください。 すべてShift-JISで作ってました。
何を何で見て化けてるのか知らないけど、 Linux板のくだ質で聞いたほうがよくない?
> 167, 168 ありがとうございます。 リバースproxyってのは知らなかったなぁ。 特定のURLだけでリバースproxyを使うって設定はできるのかな?? 調べてみます。
172 :
nobodyさん :2006/03/01(水) 01:39:06 ID:Au3MGlrq
Perl等の言語ごとにベンチマークをはかりたいのですが、 Perlをコンパイルして保存、それをFastCGIでPersistentにすることってできるでしょうか??
173 :
nobodyさん :2006/03/01(水) 05:29:37 ID:QDiV6++O
「enctype="multipart/form-data"」のフォームで送られてきたデータは それぞれの項目が改行で区切られるているらしいのですが、 その際の改行コードはクライアントのプラットフォームに関係なく 絶対にCRLF(\r\n)なんでしょうか?
>>173 区切りは改行じゃなくてセパレータ文字列じゃなかったっけ?
単なる改行ならCRLFが有力候補だけど、ブラウザまかせ。要テストですね。
>>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
等
176 :
175 :2006/03/01(水) 06:33:30 ID:???
セパレータじゃなくてバウンダリだったか。
177 :
175 :2006/03/01(水) 06:34:20 ID:???
ごめん大ボケやった…4.1.1はtextサブタイプだけだ でもセパレータの前やMIMEヘッダ中に入ってる改行はCRLFで間違いないはず。 準拠してないブラウザが存在しないとは保障できないけど
178 :
174 :2006/03/01(水) 06:38:46 ID:???
179 :
175 :2006/03/01(水) 06:41:42 ID:???
>>178 いやいや、見事な未来レスw
リロードしとけば漏れまで間違えること無かったのにillorz
180 :
174 :2006/03/01(水) 08:08:27 ID:QDiV6++O
どうもありがとうございます!
>>177 >準拠してないブラウザが存在しないとは保障できないけど
境界線の形式が、例えば
-----------------------------7d61f4206e0
(最後だけは-----------------------------7d61f4206e0--)
みたいになっているとも限らないんでしょうか?
181 :
nobodyさん :2006/03/01(水) 08:09:09 ID:QDiV6++O
あ、すいません。上の名前は173です。
むしろそれに沿ってないデータは破棄でいいかと 最近マルチパートのテストしてたけどIEとfirefoxはだいじょぶ あとはsafari、operaで大丈夫ならいいんじゃないかな
Perlのソースコードを隠蔽して配布したい場合はどうすればいいですか?
>>184 コードに、
# やだ…覗かないで……。
って書いておく。
exe化するとか・・・
ソースをかける
188 :
nobodyさん :2006/03/01(水) 16:59:38 ID:Nh3Rcy5s
Web制作板からやってきました。 質問でつ。 HTML中に、JavaScriptから使うデータを埋め込もうとしているのですが、 以下のように自作タグにデータを入れた場合、DOMがタグを正しく解釈 してくれません。(iの子ノードに、jと/jが入る。) <i id = "data" name = 'T'> <j id = '1' text = '一番' key = 't1'></j><j id = '2' text = '二番' key = 't2'></j> </i> また、以下のように書くと、今度はFirefoxが正しく解釈してくれません。(jのid=1の子ノード にjのid=2のノードが入る) <i id = "data" name = 'T'> <j id = '1' text = '一番' key = 't1' /><j id = '2' text = '二番' key = 't2' /> </i> どのようにしてデータを埋め込めばよいのでしょうか。 なお、データを埋め込んでる目的は、Ajax用のスクリプトの実験・デバッグ用途です。 xmlとして読み込むのとページの要素として読み込むのではツリーが変わってしまうのでしょうか? ページの一部として、iタグの子ノードにjタグがid毎に入るようにはできないのでしょうか? ちなみに、ページのヘッダには <meta http-equiv="Content-Type" content="text/xml; charset=shift_jis"> というタグをいれてあります。 よろしくお願いします。
<!--##FLAG##--> 俺はこうやって HTML とかテンプレートなりに記述しておいて、 Perl で表示する際にちゃんとした HTML に置換してる
190 :
nobodyさん :2006/03/01(水) 18:22:41 ID:wgwTKro8
>189 tableタグとかに変換してるんですか? visible=false として?
191 :
nobodyさん :2006/03/01(水) 20:49:19 ID:UlTu9SDw
すみません、htmlでフレームを使用しています。 その中でメールフォームをパールで設置しているのですが、 送信ボタンを押すとnot foundと表示されてしまいます。 パスは何度も確認しました、サーバーに上がっていない状態を ブラウザで確認するとしっかり表示されます。 またフレーム未使用のhtmlならうまくいっています。 フレームが原因なのでしょうか? もし気をつける場所などありましたら教えていただきたいです。 お願いします。
>>191 not foundってことは、
1.パス指定が間違ってる。
2.メールフォーム自体が存在しない。
上の二つしか考えられないよ。
しっかり指定出来てる?
何なら必要な部分だけ晒してみそ。
193 :
nobodyさん :2006/03/01(水) 21:17:45 ID:i+mKc+lU
プロキシの検出やチェックや疑惑判定を診断くんのように行うためには どのようにすればよいしょうか? また、そのようなソースって公開されてますか?
apacheのmod_rewriteの質問なのですが
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteRule ^/abcde/(.*)$ /vwxyz/$1 [L]
とするとブラウザに
http://hoge/aBcdeなどと入力すると当然飛ばされずに 元のディレクトリが見えてしまいます。
どう直せばいいんでしょう?
助詞は‘には’だな
>189 DIVタグでうまくいきました。 IEだと、好きなアトリビュートをつかってもDOMで解釈してくれますが、 FFだと、インスペクタでは解釈されてるものの、スクリプトからはアクセスできませんね。 結局、害のなさそうなアトリビュートをstringの変数として使いました。 いっそ、jsファイルに、配列への代入式を列挙しても良かったかもしれません。 アリガトウございました。
>>199 うらにわにはにわにわにはにわにわとりがいる
>>201 Microsft IME
裏庭に埴輪庭には二羽鶏がいる
裏庭に埴輪に輪に埴輪鶏がいる 携帯@N901i
204 :
199 :2006/03/03(金) 19:08:05 ID:???
OK 俺が悪かった次行け次
裏庭に埴輪にわには二羽鶏が居る
206 :
nobodyさん :2006/03/05(日) 09:42:43 ID:DFwOEKgI
環境変数についての質問です。 実行しているスクリプト自身のURLを環境変数を使って取得する際 SCRIPT_URIで取得しようとすると、この変数はサーバーによっては 与えられてないことがあると聞いたので SERVER_NAMEとSCRIPT_NAMEとSERVER_PORTを組み合わせて取得しようと思いますが これら3つの変数も与えられていないことはあるんでしょうか?
数行で書けそう 走らせてみれば?
208 :
206 :2006/03/05(日) 09:54:04 ID:???
訳あって色々なサーバーで動かすことを想定して作っているので 取得できない可能性があるのか知りたいです。
>>208 負荷の問題がシビアでないならば
SCRIPT_URIがとれない場合は組み合わせから取得という処理にすればよいのでは?
ポイントサイトなどでよく見かける、www.XXX.com?ref=@@@のような、 紹介ID付きページの作り方が載っているプログラミング言語解説サイトを探しています。 できればPHPが良いのですが、知っていればサイト名もしくはURLを教えてください。
普通にphpの勉強をすれば すぐにたどり着くと思うけど。
212 :
nobodyさん :2006/03/05(日) 13:17:01 ID:HcMB9y3u
htmlで、画像にリンクをつけたのですが、青い枠が出来てしまいます。 青い枠を無くすにはどうすればいいですか?
>>212 img {
border: none;
}
しかしどうみても板違いです。
214 :
nobodyさん :2006/03/05(日) 13:26:18 ID:HcMB9y3u
>>213 わざわざ板違いなのに答えてくださり、どうもありがとうございます。
215 :
nobodyさん :2006/03/05(日) 20:48:45 ID:vCHMKEBI
phpで2chのsubject.txtからある特定のスレだけ絞り込む プログラムを書いているのですが、 日本語の文字列が格納されている配列から ある特定の文字列を含む要素だけを取り出したいときにはどのような操作をすればいいんでしょうか?
foreach→strposとか
>214 × わざわざ板違いなのに答えてくださり、どうもありがとうございます。 ○ 板違いなのにわざわざ答えてくださり、どうもありがとうございます。
>>206 あるよ
ぶっとびねっとという無料レンタルのhttpサーバにはろくな環境変数しかなかった
特殊な例だけどね
日本語でおk
220 :
nobodyさん :2006/03/06(月) 16:58:53 ID:/O3rK/5L
AJAXについて教えて欲しいのですが、外部ドメインのXMLを読み込もうとすると"アクセスが拒否されました" とエラーが出てしまいます。 phpのfile_get_contentsなどを通して処理をしてみてもできないみたいです。 どなたか外部ドメインのXMLを読み込む方法をご存知でしたら教えてください。 宜しくお願いします。
他ドメインにアクセスできないのはブラウザの制約だよ
それもセキュリティ上の配慮からだからアクセスできたら脆弱性だ罠
適当答えるな馬鹿共
>>223 何が適当で本当はどうなのか書かないと。ただの荒らしで適当なレス以下になっちゃうよ。
だから聞かせて。どのレスのどこが適当で、正しい答えは?
225 :
nobodyさん :2006/03/06(月) 21:13:02 ID:/O3rK/5L
>>221 >>222 RSSリーダーなどですと外部ドメインのXMLを読み込むことができますが、
どうしてできるのでしょうか。ソースを見てもよくわからないので。。。
教えてください。
それはただのHTTPリクエスト
227 :
shashin.us :2006/03/06(月) 22:57:45 ID:0hKTKa0S
>227 回転とかしたり、一気に移動したりしてると簡単にバグるのな てゆか壁紙ぐらい自分で作るよw
231 :
nobodyさん :2006/03/07(火) 02:38:22 ID:1LGbU75n
データベースのことは全然わかってないんですが、レン鯖支給のMySQLに接続して指示をだすソフト(?)ってのは自分で探して来て使うものなんですか?
>>231 普通はコマンドラインからいじるけど。
phpmyadminとか探して入れるのもあり。
勉強も兼ねてDB使ったスクリプトを作ろうと思ってたりするのですが、 DBそのものやテーブルが存在しなかった時は自動的に作ってあげるのがいいのか、 DBは作成させてテーブルは自動的に作ってゲルのがいいのか、 DBからテーブルまで利用者に作らせるのがいいのか・・・ 下手にスクリプトで作るより利用者に用意させたほうがいいとは思ったりしなくもないですが、 そこらへんはどうなんでしょか
作るスクリプトの内容と目的による
最初はDDLは避けて事前に用意しておく。 慣れたら対話的に必要なテーブルの作成もできるようにする。XOOPSみたいなの。
236 :
nobodyさん :2006/03/07(火) 14:21:54 ID:BZdlj2hH
名前を登録するとその名前のディレクトリを作って、その中にindex.htmlを生成するプログラムを作っているのですが そうもSAFEMODEが有効になっているらしく、copy()やfopen()を使っても Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 40327 is not allowed to access 〜〜 とエラーが出てしまいます。 どうにか解決方法はないものでしょうか・・・・
そのエラーはphp? わざわざディレクトリを作る理由は? ファイル構造の問題ならpathinfoを使えばすむと思うが。
238 :
nobodyさん :2006/03/07(火) 14:39:52 ID:BZdlj2hH
>>237 ID登録をしてもらってユーザーが中にどんどんファイルを格納していくので
ディレクトリにばら撒いていくとまずいかと・・・・
ディレクトリを作る理由しか回答していないわけだが。
是非教えてください。 Perlでアクセスしてきた人のIPを記述していくスクリプトを作りました。 仕様として日別にログを作ってIPを記述して行っているのですが 同日中の多重アクセスはIPを記述しないようにしたいのです。 どのように書いたらできるのか上手くわからず。。 是非教えてくださるとうれしいです。 スクリプトは以下のとおりです(一部) open(OUT,">>$dayfile") || &error("error $dayfile"); print OUT "$host\n"; close(OUT); ログは以下のとおりです。 2006-03-07.cgi --------------------------- 192.168.0.4 192.168.0.5 192.168.0.6 --------------------------- 書き込む前にログにアクセス者のIPがすでに記述してあれば 追加記述しない、なければ記述する、という感じでよろしくお願いします。
while (<OUT>) { chomp; exit if $_ eq $host; } print OUT $host, "\n";
my($exist) = 0; open(OUT, ">>log.dat"); seek(OUT, 0, 0); while(my $readline = <OUT>){ $readline =~ s/\x0D\x0A|\x0D|\x0A//; if($readline eq $ipaddr){ $exist = 1; last; } } if(!$exist){ seek(OUT, 0, 2); print OUT $ipaddr . "\n"; } close(OUT);
>>241 さん
即レス有難う御座います。
なるほど。。
でも読み込んだ内容の中身と一致したらexit、
としてしまうとそのあとにもソースが続いてて。。
教えて君で申し訳ないっす。。
うおっ、、
>>242 さん、
自分が書き込んでいる間に作ってくださっていたのですか。。
なんか・・・めっちゃ・・・すごい。。
早速今から試してきたいと思います!
また結果報告に参ります_(_ _)_
245 :
238 :2006/03/07(火) 21:19:56 ID:BZdlj2hH
>>243 簡略化したサンプルコード見てもわからないなら、諦めるのも一つの手
>>242 さん
無事できました!
フラグを作ってやればいいのですね。とても勉強になりました。
本当にどうも有り難う御座いました。
漏れならブロックにラベルをつけて一気に抜けるがなぁ WRITE_IPLOG: { open my $fh, '+>>', 'log.dat' # my $fhは5.6以降。5.005以前に対応するならIO::File or die $!; flock $fh, 2; seek $fh, 0, 0; # a+を適切にサポートしていないプラットフォームでは必要 while (my $read = <$fh>) { chomp $read; last WRITE_IPLOG if $read eq $ipaddr; } print $fh $ipaddr, "\n"; } # スコープアウトで$fhは自動で閉じられる
>>248 さん
なるほどなるほど、、そんな手法もあったのですね。。
今後のためにも早速保存させていただきました。
わざわざお手数をおかけし、感謝しております。
250 :
nobodyさん :2006/03/08(水) 00:57:26 ID:P2DaxRs0
$id = $_POST["id"]; $pass = $_POST["pass"]; $ok = "$id/$id.html"; $error_flag = 0; $userlines = file($userlist); for($i=0;$i<count($userlines);$i++){ list($user_id[$i],$user_pass[$i],$name[$i],$mail[$i])=split("<>",$userlines[$i]); print "$user_id[$i]"; if("$user_id[$i]" == "$id"){ if("$user_pass[$i]" == "$pass"){ header("Location:$ok"); }else{ $error_flag = 1; } }else{ $error_flag = 2; } } if($error_flag==1) echo "<p align='center'><font color='red'><b>パスワードが間違っています。</b></font></p>"; if($error_flag==2) echo "<p align='center'><font color='red'><b>IDが間違っています</b></font></p>"; このソースを実行すると、$userlistの文字が一文字づつしか読み込まれないのですが・・・・ ちなみに$userlistの中身は「guest<>guest」のように<>で区切られてかかれています。 読み込んだ$user_id[$i]をprintしてみると見事に1文字筒表示されてしまいます・・・・
当方、まったくの初心者です。こういう物が作りたいのですが…。 実は、効率的なデータ作成補助的なデータベースを作りたいのです。 設計としては、 ーーーーーーーーーーーーーーーーーー ●親データグループA(カテゴリー) ●親データグループB(カテゴリー) ↓ ↓ ↓ ↓ ↓ ●データグループA小A ●データグループA小B ●データグループA小C ●データグループB小A ●デー(ry ーーーーーーーーーーーーーーーーーー という風に 「あうとら(アウトラインプロセッサ)」 とかみたいに階層分けカテゴリ分けができて、 グループ数を自在に追加削除が可能なもので、 そこから 固体文字データ(仮に 「パピィ」)を選択クリックしたら、「パピィ」が 一覧Z に追記・コピーされる。 一覧Z(出力欄)幅、縦は、30行分くらい 横は80行分くらいが理想です、一杯、反映させるつもりなので。 なので、新しく、固体文字データB を選ぶと上書きはされずに一覧Z(出力欄)に追記という形が望ましいです。 更に、一覧(出力欄)も自在に追加削除が可能だと良いのですが。 どうでしょうか?
>>251 暇なので一緒に移動してきた。
で、まだ端折ってるのと、余計なのが多いのでエスパーが必要。
「追加」「削除」「反映」ってなに?
データグループって意味不明
一覧Zはどこ?
そもそもフォームの話?
253 :
251 :2006/03/08(水) 01:29:08 ID:???
>>252 「追加」「削除」[データグループ]ようするに、データを入れる箱とでも言うか収納場所というか…そんな感じです。
それを増やしたり、減らしたり自在にできたら良いな、と。
>一覧Z(出力欄)
選択クリックしたデータを追記する場です。
どうでしょう?
だから、データを入れる箱って何?フォームのテキストエリア?どこ?
255 :
251 :2006/03/08(水) 01:44:42 ID:???
>データを入れる箱って何?フォームのテキストエリア?どこ? 参照するデータが記録してある場所のつもりですがまだ、右も左も判らない状態なので…すいません。toriaezu フォームのテキストエリアではないと思います。 フォームのテキストエリアが一覧Z(出力欄)のイメージです。
向こうのスレでもいったけど、設計ができてない。 悪いけど、何がしたいのか自分でも判ってないみたいだから、今は諦めなさい。 基本的なところを覚えてからにしましょう。 とりあえずフォームから勉強して下さい。
257 :
251 :2006/03/08(水) 02:02:47 ID:???
>>257 えっとですね、DB系のサイトとかは作ってるから、構造とか判ってるんですけど、
そちらが理解できていないので、話が進まない、という意味です。
フォームでなければinnerHTMLで表示とか、
指定したワードを送信してCGIで加工してHTMLを表示とか、
そういう言葉が出てこない以上、そちらの知識がまだ可能な範囲に到達していないと判断する訳です。
はやる気持ちもわかりますが、おさらいし直すことが目標への近道だと思いますよ。
最悪、有料で作ってもらって下さい。
サンプルのような機能をHTMLで実現するには、数こなさないとムリです。
259 :
251 :2006/03/08(水) 02:39:26 ID:???
ああ、そういう意味でしたか…。初心者の私にそういう聞き方したって気付く訳ないじゃないですか・・・。 でも、お付き合いいただいてありがとうございました。
>>259 質問スレは、質問者のしたいことを聞いて回答する場所なので。
回答してもらえるように質問できないなら、それはまだムリだということです。
収束したみだいだが・・・ >251 は特務レベルのエスパーじゃないと解読不能 (;´Д`) >255 >フォームのテキストエリアではないと思います。 あんたが作ってるんじゃないのかよ!とw
>>250 問題なさそうだけどな
$userlines = file($userlist); の後に
print_r($userlines);
で確認
質問とは関係ないが正規表現を使わないならsplitよりexplodeのほうがはるかに高速だとマニュアルには書いてある
それとLocationするとクライアントとの通信が無駄なので
require $ok; exit;
の方がいいよ。
それと変数だけを" "で囲むのも無駄
print $user_id[$i];
if($user_id[$i] == $id){
でおk
263 :
nobodyさん :2006/03/08(水) 12:27:32 ID:ZIpXIBr9
質問です。HPを作成しまして、その中に予約フォームを作成したのですが、 その受信メールを、自動的にエクセルやアクセスで管理してくれるようなソフトをおしりでしょうか?? お願いします。
>>263 Accessは外部データベースにOutlookのPSTファイルを使えるけど、
これじゃ駄目なのか?
>263 WebProgと無関係 よって終了 はい次
質問です。HPを作成しまして、その中に予約フォームを作成したのですが、 その受信メールを、自動的にエクセルやアクセスで管理してくれるようなソフトを知ってますか?? お願いします。
>267 板違い
269 :
nobodyさん :2006/03/08(水) 14:29:52 ID:P2DaxRs0
>>262 ご指導ありがとうございます
$userlinesは<>区切りの1行づつが格納されてるのですが、
分割して表示するとやはり1文字になってました
explodeなんかも試してみます
Mod_Rewriteについて恐ろしく初心者な質問だと思いますが (アク禁条件)のあと ・RewriteRule ^/~ch/hoge/(.*)$ /~ch/fuga/$1 [NC] (1) ・RewriteRule ^/~bbbb/iii/(.*)$ /~cccc/hhh/$1 [NC] (2) 一つの条件について(1)と(2)の複数のルールを適応させるにはどうすればいいんでしょうか そのまま並べてしまうとアク禁条件に関係なく常に全員に(2)が適応されてしまいますよね [C]やら[S]やら試してみましたがよく分かりません。。。
>>270 やりたいことが良くわからないが
アク禁条件のものをRewriteしたいということなのかな
Manualにあったけどこんな感じ?
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$ /homepage.max.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
[L]はLastで条件が合ったらそこで終わり
>>269 ついでに、正規表現使って分割する場合もsplitよりpreg_split関数の方が高速。
更にバイナリセーフという点もある。
どうでもいいけどループ継続条件で毎回count関数が呼ばれるのは冗長な気がしないでもない。
273 :
nobodyさん :2006/03/08(水) 16:57:09 ID:P2DaxRs0
>>272 C言語と関数も云々も似てるし、変数の楽だということでCから来たもので
for文しか使えないという・・・・
>>273 Cやってた人ならなおさらループの前に
$linenum = count($userlines);
みたいなのを仕込んでおいて
ループ時にいちいちcount()が呼ばれない方向にしがちな気がする…のは俺だけなのかな?
「動きゃいい」のであのループ条件で別によいのですが。
275 :
nobodyさん :2006/03/08(水) 17:08:38 ID:P2DaxRs0
>>274 そのほうがどうせ何回も呼び出すことになりそうだから楽チンですね
リファレンス見るとforreach()ってのもあるらしいですけど、
これは使う前に$userlistの行数を判定しなければならないわけですよね?
276 :
272 :2006/03/08(水) 17:11:03 ID:???
私はPerl→C→PHPで、WebProgは専らPHP。 PHPはマニュアルがWeb上にあるから、調べながらやるといいと思う。
277 :
272 :2006/03/08(水) 17:14:22 ID:???
>>275 foreach構文は配列の要素数だけループする。
foreach($array as $value)
foreach($array as $key => $value)
配列の要素を全て吐き出すまでループさせるわけだから、行数なんて知らなくても問題ない。
>>275 行数判定要らないです。リファレンスに書いてあるとおり。
まともな説明と例があるはずなのでリファレンスよく読んでください。
Perl/PHPでは使われまくりです。
279 :
270 :2006/03/08(水) 17:21:43 ID:???
>>271 ルールの数だけ条件を書かなくちゃいけないんですかね。。。
アク禁条件が膨大なのでオーバーヘッドが大きくなりそう&スマートじゃないんでイヤなんですよね
280 :
nobodyさん :2006/03/08(水) 17:25:45 ID:P2DaxRs0
>>276-278 どうもありがとうございます
web上にリファレンスあるのってものすごく便利ですよね
テキストエディタさえあればコンパイラも要らないし。
PHPじゃなくてもリファレンスはあるわけだが。 本も一冊は持っておいたほうがいいよ。 便所で気張ってる間に読めるしね。
282 :
nobodyさん :2006/03/10(金) 02:42:50 ID:PHTY4Igu
スレッド型掲示板を作りたいんですが、 データをテキストファイルに保存するというやり方はマズいのでしょうか? データベースの方が重くなってしまうような気がするんですが・・・ ASPで作ります。よろしくおねがいします。
どっちでもいいよ。 重いかどうかなんて、使い方が悪いだけでしょ。 データベース板のぞいてこれば?
DB鯖とHTTP鯖は別に汁 でも、HTじゃなくて物理的にCPUがDUALで、メモリは2GB以上で、RAID5なら一緒でもいいかも
一緒だって問題なし。 掲示板程度の使い方で影響が出るもんでもない。 DBでやるとテキストでやるより面倒なコーディングが減っていいと思いますよ
SQLiteを使えば解決
自鯖以外じゃ無理なんですか
できたら苦労はしていませんよ(^^;
>>291 改造していただけますか?
PHPがBasic認証をサポートしてるし、認証成功の有無は戻り値を見ればわかると思うのだが・・・ そんな俺はPHP初心者なのでこれ以上はワカラナス
>>292 どんなログが欲しいの?
UAからIPまで全部?
それともエラーが出たか出ないかだけでok?
>>294 とりあえず今のところはbasic認証できればPHP
にアクセスしたらIPログ取得みたいなふうのがあればと思っています
IPログだけで問題はありません
>296 >295のマルチUZEeeeeeeeeeeeeee ってことですな
マルチじゃなくて、たらい回しだろw それで、こんなCGI探してますスレで言ってた話はどうなったんだろう。
299 :
295 :2006/03/11(土) 14:28:43 ID:???
ぐぐってみましたが自分に合ったものはありませんでした。 どこにレスしてよいかわからずマルチっぽくなってしまいましたが こちらで解決したいと思っています
300 :
299 :2006/03/11(土) 15:38:01 ID:???
cgiならあるみたいですが .htaccessが対応していないものでして すみませんが、ご教授ください
302 :
299 :2006/03/11(土) 19:24:43 ID:???
>299 レッツPHPのソースの echo $err; exit; の2行の間に (1)ファイルロック (2)ファイルを開く (3)エラーログを任意の書式で出力 (4)ファイルを閉じる (5)ロックを外す のコードを書けばOKです
304 :
299 :2006/03/11(土) 20:15:13 ID:???
>>303 (1)ファイルロック
(2)ファイルを開く
(3)エラーログを任意の書式で出力
(4)ファイルを閉じる
(5)ロックを外す
のソースはどこを参考にすればあるのでしょうか?
すみません
二行目あたりに、
$dat = "./log.dat";
って書いて、後は
>>303 の言う場所に以下を書き込む。
$fp = fopen($dat, "a+");
flock($fp, LOCK_EX);
fputs($fp, $_SERVER['REMOTE_ADDR'];
fclose($fp);
テストしてないけど、こんな感じ。
>304 んだよ。俺には聞いてないんじゃなかったのか?
誘導先の質問放置してるし、個人的にはマルチ扱いなのでスルー
308 :
299 :2006/03/11(土) 23:28:32 ID:???
>>305 ありがとうございます
上記の通りやると22行目がParse errorします
>>308 閉じカッコ抜けぐらいは自分で気付いていただきたい。
あと実際には開けなかった際のエラー処理、改行を書き出す等処理が日東洋
310 :
299 :2006/03/11(土) 23:45:49 ID:???
できました、ありがとうございました logの書き出しも成功しました ところでこの認証はIPが変わるまで持続しますか?
これまたスレ違いのエスパー希望とはハイレベルな(;´Д`) 予想される原因 (1) そのスクリプトが同一ホスト内からの行き来は無視してる可能性も (2) (1) が考えられる場合 → / が受け取ったリファラは JavaScript の replace() で /redirect.html へ移動すると、 redirect.html は / で受け取ったリファラを受け取れたと思ったが、ブラウザによって動作は違うかも知れん (3) てゆか、そのスクリプトはちゃんと動いてるん? (4) てゆか、あんたの契約したプランでPHP動くんか?
315 :
299 :2006/03/12(日) 23:31:51 ID:???
今思うとIP認証の持続は関係ないですね logファイルでの質問です、IPアドレスですが 100.100.100.100のIPとして 連続認証すると100.100.100.100100.100.100.100 となってしまいます、IPを個々に区切るのにはどうすればよいでしょうか?
>>315 区切りの文字(
>>316 のように改行でもいい)を一緒に書き込めよ
頭使ってそのくらい自分で考えつけよ
windows上でPerlを動かしたいんだけど、 サーバーソフトをインストールしてperlを動かす…以外に、簡単な方法ないですか? お手軽に動作確認したいんだけどなあ…。
CGIじゃ無ければ関連付けてダブルクリック、 またはプロンプトでperl hoge.cgi[enter]
320 :
nobodyさん :2006/03/13(月) 23:31:51 ID:VsZ33fK9
質問です。 とあるURLにPOSTするCGIを作っています。 送信元のエンコードはEUCなんですが、 送信先のパラメータはSJIS限定で受け取る仕様になっています。 POSTするCGIは、PHPで動的に、全てHIDDENタイプで作成しています。 あらかじめHIDDENが埋め込まれているページをPHPで作成した後、 ボタンを押すとPOSTという流れになっています。 このような状況なのですが、2バイト文字を送信すると文字化けしてしまいます。 送信元のページのエンコーディングがEUCなので文字化けするのが当然と思い、 送信する2バイト文字の部分だけmb_convert_encodingでSJISに変換して ページを作成しましたがこれでも失敗しました。 (CGIページのソースは、EUCで開くとPOSTの値の部分だけが文字化けしていて、 SJISで開くとPOSTの値以外の2バイト文字が化けている状況です) この方法は理屈として間違っているんでしょうか?
phpの内部処理エンコードの設定は?
SJIS変換されたのをページに埋め込んじゃだめ POSTされた時にSJIS変換すればよいです
323 :
nobodyさん :2006/03/14(火) 03:21:19 ID:+hWFz/5m
じゃあ折れも joyful noteに元のファイル名表示させて
325 :
nobodyさん :2006/03/14(火) 17:57:17 ID:SDrkLE3p
Mac OS X(10.4.5)上でeclipse(3.1)を使用してJSPの開発を行いたいのですが、うまくいきません。 tomcat(4.1.31)は動作しているのですが、作ったものをブラウザで確認しようとしても Error repot(404)と表示されます。 コンテキスト記述子はconfディレクトリ下に置いてありますが自信がありません。 どなたか、よろしくおねがいします。
327 :
nobodyさん :2006/03/14(火) 18:37:00 ID:SDrkLE3p
>>326 ソースとは、何を書けばよいでしょうか?
すいません、、、
いったい、何をしてどういう動作を期待したの?
まずWebアプリルートを/Documents/workspace/jspAndServlet/ に置いています。 次にjakarta-tomcat-4.1.31/conf/jspBook.xml このようにコンテキスト記述子を置いています。 jspBook.xmlの中身は <Context path="/jspBook" docBase="/Users/username/Documents/workspace/jspAndServlet/"> </Context> eclipse上からtomcatを起動(これはうまくいっているようです)、webブラウザから localhost:8080/jspBook/view/chap08_jsp/sec01/helloJSPWorld.jspにアクセスすると HTTP Status 404 - /jspBook/view/chap08_jsp/sec01/helloJSPWorld.jsp type Status report message /jspBook/view/chap08_jsp/sec01/helloJSPWorld.jsp description The requested resource (/jspBook/view/chap08_jsp/sec01/helloJSPWorld.jsp) is not available. との表示が出ます。
申し訳ないのですが自己解決いたしました。 Tomcat5を扱っているテキストを見ながらTomcat4.1を動かそうとしてうまくいってませんでした。 Tomcat5が動けば問題なかったのでしょうが、なぜかJ2SE 5.0に更新しても認識してくれず… xmlを追加するのではなくserver.xmlにcontext pathを書き加える事で解決しました。 もっと勉強します。ありがとうございました
追記ですが、J2SE 5.0をインストールし、環境変数も設定したのですが eclipse上での環境設定が1.4のままであることに気がつきました(致命的!)。 1.5.0に設定(選択)し直し、tomcatも5.5を入れ直したところ問題なく動きました。 コンテキストもapache-tomcat-5.5.16/conf/Catalina/localhost/ 下に.xmlを置いて 問題なく動作しました。 初歩的なミスで大変ご迷惑をおかけしました。失礼いたします。
致命的なのは、スレ違いと気が付かずチラシの裏として使い続けていること。
333 :
nobodyさん :2006/03/15(水) 02:33:08 ID:JC2/F7sS
質問なんですが 最近掲示板を作っているんですが 1ページとか2ページとかページ移動とかできるようにしたいんですが... どうすればいいのかわからないんです ----------- # 1ページ最大数 $pagemax = 5; # 処理 if ($no > $pagemax) { } ----------- …処理がわからないんです。。。 わかるかたおしえててください!
>>333 扱うアイテムの総数、ページあたりの表示数
あとは割り算とか割り切れるかどうかで考えれば OK
336 :
nobodyさん :2006/03/15(水) 03:36:31 ID:JC2/F7sS
>>334 レスありがとうございます
すいません、みてませんでした
それで
KENTWEBのASKAのをみてみてやってみたんですが
ちゃんと移動するようにはできたんですが...
記事ごとに「次のページ」というボタンが表示されてしまいます。。。
-------
$i = 0;
〜〜〜〜〜〜〜書き込み出力〜〜〜〜〜〜〜〜
$i++;
next if ($i < $page + 1);
next if ($i > $page + $pagemax);
# ページごとに記事表示
print "<form action=\"$main\" method=\"POST\">\n";
$next = $page + $pagemax;
$back = $page - $pagemax;
if ($back >= 0) {
print "<input type=submit name=\"page$back\" value=\"前の$pagemax件\">\n";
}
if ($next < $no) {
print "<input type=submit name=\"page$next\" value=\"次の$pagemax件\">\n";
}
print "</form>\n";
------------------
というようにしてみたんですが…どうすれば解決するでしょうか?
質問してばかりですいません
>>336 googleとかでどんなクエリ送ってるか見たらいいじゃん。
それともクエリの読み方わからないだけ?
それは単に貼り付ける場所が間違ってるからでしょ?
339 :
nobodyさん :2006/03/15(水) 13:17:37 ID:1XZxSsJw
初心者です。PHP4を使ってます。「Mysql入門以前」を購入して奮闘中です。 かいさでWebのグループウェアを作ることになったんですが、 @サイトを訪れるときにユーザーID、パスワード認証 AユーザーID、パスワードOKで表示されたページがログインページで ユーザーID、パスを要求 という2段構えでいきたいんですが、これについて書いてある おすすめの書籍またはWebサイトありますか? なんかいきなしセッションとかなんとか認証とか言われてもわけわかめで
340 :
333 :2006/03/15(水) 14:00:34 ID:???
無事できました、レスしていただいた方々ありがとうございました
>>339 BASIC or Digest>CGI
フォーマット済み日付文字列をtime値に変換してくれる関数ってPerlにありませんか?
初心者です。 掲示板等で最新書き込みだけ違う形で表示したいのですが、ifの後に どういう条件で分岐させたらいいでしょうか? 別に書き込み順をつけるような改造が必要でしょうか?
>>343 書き込みをどうやって管理してるのか書かないと、誰も答えられんと思うよ。
エスパーを待ちますか。
>>343 何をもって最新とするんだ。
例えばここ3日以内を最新とするなら、書き込まれた日付と今の日付を比較すればいいし、
上位3レスくらいを最新とするなら、
書き込まれた
>>346 やはりモジュールにありますか。
ありがとうございました。
>>345 >何をもって最新とするんだ。
最新というのは書き込まれたのが(時間)一番新しいもの(一つ)という意味です。
>>346 $dateというのがありましたけど、このdateは下のものから取得しているようですが、何せ基本的なことがわかっていないので、もうちょっと勉強してみます。
ありがとうございました。
349 :
348 :2006/03/16(木) 00:05:16 ID:???
改行が多すぎるといわれたので二つに分けます。 sub time{ @MONTHS=(31,28,31,30,31,30,31,31,30,31,30,31); @week=('日','月','火','水','木','金','土'); # 今日の日付(グリニッジ時間を読み込み、日本時間に変換) ($sec,$min,$hour,$mday,$tmon,$tyear,$wday)=(gmtime(time))[0..6]; if ($sec < 10) { $sec = "0$sec"; } if($tyear > 97){ $tyear+=1900; }else{ $tyear+=2000; }
# 閏年の確認 if(($year % 4 == 0)&&($year % 400 != 0)){ $MONTHS[1]=29; } $hour+=9; if($hour > 23){ $hour-=24; $mday++; $wday++; $wday=0 if($wday > 6); if($mday > $MONTHS[$tmon]){ $mday=1; $tmon++; if($tmon > 11){ $tmon=0; $tyear++; } } } $tmon++; $year=$tyear; $mon = $tmon; $wday=$week[$wday]; $date="$year年 $mon月 $mday日($wday) $hour時 $min分 $sec秒";
351 :
348 :2006/03/16(木) 00:26:59 ID:???
うーん、考えてみると、書き込みのところに表示されるデータってのは その書き込み自体と直接結びつける方法がぜんぜんわからないですね。
何したいのかさっぱりなんだけど、最新書き込みのチェックならtime保存して数値ソートが一番速い
>>352 最新書き込み一つだけ、ちょっと違うスタイルで表示したいんですけど、
(例えばタイプライター風に打ち出す)。
>>352 datファイルそのものは数値ソートされて並んでいるんですけど、その一番上だけを
違う形で表示した言ってことなんですけど。
配列をshiftして取り出して、先頭だけ違う書式で出力。 他はforで回して同じ書式で出力。
>>355 ありがとうございます。
ちょっと検索してみましたが、それがいいみたいです。
知識がないのでできるかどうかわかりませんが、やってみます。
またわからない事がありましたら聞きに来ますのでよろしくお願いします。
>356 いや、もう来るな
思い切り塩まきましたね。
閏年の確認が思い切り間違ってるな。 2000年問題の一端を垣間見た思いだ。 まあもはや問題にはならんが
本人があれでいいならいいじゃんw
if($tyear > 97){ $tyear+=1900; }else{ $tyear+=2000; } これじゃまずいだろ(97がどこから来たのかも謎だ) しかもgmtimeして手動で閏年補正(しかも間違い)か (´・ω・`) カワイソス
適切な板が見つからないのでこちらで質問させていただきたいのですが
Flash Communication Server を探しているのですが新バージョンのFlash Media Server 2しかDLできないようです。
Flash Communication Serverのページは見つかったのですが、もう販売していないように見受けられます。
ttp://www.macromedia.com/jp/support/flashcom/ 可能であればFlash Communication Serverを使用したいのですがもう無理なのでしょうか?
364 :
nobodyさん :2006/03/17(金) 01:17:50 ID:ypCQkPkZ
C言語のように数字の桁数揃えを行うのってphpではどのようにすればよいのでしょうか?(´・ω・`) (1なら00000001、12なら00000012)
Cと同じ printf ("%08d", $number);
366 :
nobodyさん :2006/03/17(金) 01:55:34 ID:ypCQkPkZ
367 :
nobodyさん :2006/03/17(金) 02:12:50 ID:ypCQkPkZ
続けてで申し訳ないのですが、ブログランキング的スクリプトを書いています。 データは ID<>名前<>URL<>今日の投票数<>昨日の投票数 のようになっています。 今日の投票数の多い順に $lines = file("ログファイル");
368 :
途中できれちゃいました。 :2006/03/17(金) 02:14:20 ID:ypCQkPkZ
で読み込んだ行を並び替えたいのですが、 ログファイル分割 ↓ 投票数多い順にソート ↓ 再度結合させて並び替え ↓ 分割して表示 とするしかないのでしょうか? どうも回りくどいような気がするのですが。。。。
Perlなら @array = { (split ('<>', $b) )[3] <=> (split ('<>', $a) )[3] } @array; だけど、PHPはどうだろ?usortしらべてみてちょ。
配列?
371 :
途中できれちゃいました。 :2006/03/17(金) 02:50:10 ID:ypCQkPkZ
>>369 了解しました!
↓ソースは現在こんな感じなんです
$logfile = "blog.dat";
$lines = file($logfile);
echo "<table border='1' bordercolor='#3366ff' cellspacing='0' cellpadding='2'>
<tr align=center><td>順位</td><td>紹介</td><td>本日の投票数</td><td>昨日の投票数</td></tr>";
for($h=0;$h<count($lines);$h++){
$tmplines = file("./tmp/blogtable.html");
list($id,$url,$name,$intro,$d_access,$w_access) = explode("<>",$lines[$h]);
for($i=0;$i<count($lines);$i++){
$tmplines[$i] = str_replace("&num",$count,$tmplines[$i]);
$tmplines[$i] = str_replace("&url",$url,$tmplines[$i]);
$tmplines[$i] = str_replace("&name",$name,$tmplines[$i]);
$tmplines[$i] = str_replace("&intro",$intro,$tmplines[$i]);
$tmplines[$i] = str_replace("&d_access",$d_access,$tmplines[$i]);
$tmplines[$i] = str_replace("&w_access",$w_access,$tmplines[$i]);
echo $tmplines[$i];
}
}
echo "</table>";
>>371 <?php
function hoge($a, $b) {
list (,,,$aa,) = explode("<>", $a);
list (,,,$bb,) = explode("<>", $b);
return ($bb - $aa);
}
$list[] = "aa<>bb<>cc<>5<>6";
$list[] = "dd<>ee<>ff<>3<>8";
$list[] = "gg<>hh<>ii<>10<>1";
echo "<pre>\n";
print_r($list);
echo "\n";
usort($list, "hoge");
print_r($list);
echo "</pre>";
?>
373 :
nobodyさん :2006/03/17(金) 23:38:39 ID:ypCQkPkZ
>>372 ありがとうございます。
何行かわからないログファイルをソートしていくときはfor文とかでまわせばいいんでしょうか。。。。
phpとperlじゃ動作違うかもしれんけど、perlの場合はwhileで回した方がメモリ効率いい phpはどうなんでしょ?>php屋さん
375 :
nobodyさん :2006/03/18(土) 11:58:43 ID:GWKJv43r
プログラムというより画面設計的なことです。 項目数として300項目もの大量のデータを一覧画面に表示させたいと思っております。 (横に300項目です。データの分類はなく、キーにひもづいたべたな300項目です。) 表示件数は抑制するとして、やはり300項目もの大量ですと、横スクロールが多くなり操作性を損なうことになるかと思います。 ページ切り替えなど対策はいくつかあるかと思いますが、 比較的簡単な技術で操作性を損なわないような良い方法はないでしょうか。 ページ切り替えのコンポーネントやクライアント側のスクリプトでウィンドウ分割など うまくいかないものか模索しております。 #Ajaxとかで何かできないかなと考えております。 ServletのWEBアプリケーションです。
エスパーさん招集かかってますよ〜!
display:noneとDHTML活用して表示非表示切り替えたら良いんじゃないの?
378 :
nobodyさん :2006/03/18(土) 19:32:53 ID:PidsL1Fk
>>372 のソース改造してランキングphpを書いてる者なんですが
hoge()でfor文をログファイルの行数分まわして、アクセス数を格納した配列を作って
アクセス数のみを格納した配列を作っても、
usort($list,"hoge");
で関数を参照した時点では、その配列はhoge()のループカウンタでまわしたものであって、
IDやら名前やらという情報はそこから参照することってできませんよね>?
>>375 データに対してどんな閲覧(アクセス)が出来たら快適なんだろう?
とりあえず表は縦長に組替えた上で表示列選択機能つけるとか。
380 :
nobodyさん :2006/03/19(日) 11:03:38 ID:vocIfk6G
>とりあえず表は縦長に組替えた上で表示列選択機能つけるとか。 そうですね。どう考えても縦の方が画面を有効に使えるし、いいですね。 >display:noneとDHTML活用して表示非表示切り替えたら良いんじゃないの? これって、よくXMLとかで+を押すと閉じたり、開いたりするやつのことですか? それいいですね。ちょっと考えて見ます。
if文は「もし〜だったら」、while文は「〜の間ずっと」と訳せますが、 for文の上手な訳が見つかりません。 どういう表現をすれば良いですか?
382 :
nobodyさん :2006/03/19(日) 13:31:15 ID:ADveJ82p
FOR(A;B;C) AからBまで
whileもforも「〜の間ずっと」でいいんじゃないかな。 英語の文章で使う時もそうだべ。
プログラムしたことないのですがサーバサイドのプログラムで はじめるとしたらどれがおすすめですか? 難しさとか応用が利くとか将来性とかも教えて欲しいです。
ちょっと前だったら迷わず Perl、だったけど今は後継も育ってきてるから悩むかもね 選択肢としては Python・Ruby のどちらか。これっきりにしたいなら PHP とか。 まぁ一番有力なのは Scheme だね。SICP とか読んで勉強するといい。
私はPHPをおすすめします。 PHPはウェブサーバでの運用を主な目的としているので、HTMLとの 親和性がとても良いです。 少ない学習量で実用的なプログラムを組むのにはPHPが最適かと。
>>385 確かにプログラミングの入門という観点で見るとSchemeは良いと思うが、
Schemeインタプリタが入っている鯖なんて殆どないから、
自鯖でやるくらいじゃないと無理があるだろ…
クロスコンパイルしてバイナリ作って放り込む手もあるけどさぁ
;; とScheme勉強中の漏れが言ってみるテスト
388 :
384 :2006/03/19(日) 19:37:13 ID:???
>>385-387 レスどうもありがとうございます。
紹介していただいたものの中から、
ネット上のドキュメント等を参照してみて
理解しやすそうなものを試してみたいと思います。
少し検索してみたのですが、Schemeというのは他の言語と少し違うみたいですね。
C言語/C++ CGI
趣味とはいえ、いい加減DBの扱いを覚えようかと思ってます。 MySQLとかDB2とかOracleとかPostgresとかありますが、環境構築が比較的易しいDB環境ってどれでしょうか?
MySQL
SQLite
祖父が使ってる帳簿
394 :
nobodyさん :2006/03/20(月) 22:22:23 ID:iXZRZ5Y3
すみません、 if ($sss=='11111'||$sss=='22222'||$sss=='33333') {;} これをもっと簡潔に表記するにはどうしたらよいのでしょうか?
>>394 言語を指定汁。それじゃPerlかPHPか判らん
==で文字列と比較しているからPHPか?
396 :
394 :2006/03/20(月) 22:33:46 ID:iXZRZ5Y3
>>395 うっかりしていました。すみません、Perlです。
(1|2|3){5}
111112
>>394 sub any(&@) {
my ($c, @arr) = @_;
&$c && return 1 foreach @arr;
0;
}
というのを作って
if (any { $_ == $sss } (11111, 22222, 33333)) {}
とかどうよ。モジュールが使えるならこれがList::MoreUtilsにある。
若しくはPerl6::JunctionかQuantum::Superpositionsを使うと、
もっと面白い書き方が出来る。
if ($sss == any(11111, 22222, 33333)) {}
400 :
394 :2006/03/20(月) 22:50:20 ID:???
>>399 なるほど、ありがとうございます。
List::MoreUtilsは使えないので、この方法でやってみます。
Perlってすげーな。
perlなんですが、コーディングに関する質問ではないのでperlスレではなくこちらに書かせて頂きます 実行してるスクリプトが使用してるメモリ使用量を任意の場所で取得できますか?
Tomcat で質問です。 あるフォルダの jsp ファイルだけ、 Tomcat が動いているのとは異なる JRE のバージョンで動かしたいのですが、 藤設定したらよいのでしょうか?
404 :
403 :2006/03/21(火) 02:08:53 ID:???
ちょっと書き損じました。 どう設定したらよいのでしょうか?
406 :
nobodyさん :2006/03/21(火) 14:07:17 ID:dP5FK3Mm
Macのサファリ、WinのIE、LinuxのFireFoxなどなど 一般的なブラウザで、尚且つActiveXやFlashなどを使わずに、mp3のストリーミング再生をしたいのです。 どのような方法がありますか? 今流行のAjaxで、ちょっとしたシステムを作りたいのですが、その中で必要なのです。 サーバーサイドのプログラムは、出来ればC♯、PHPのどちらかで作れるものがいいです。
>>407 レスありがとうございます。
ところで、この方法だと、WMPなどが起動してしまうと思うのですが
そういうのを隠す方法はありますでしょうか?
postgresqlで質問です 2つのテーブルに共通したユニークなカラムがあって 片方のテーブルAから1レコード消えていたら もう片方のテーブルBで対応するレコードをセレクトする方法はありますか?
消えたデータをどう復元して参照するんだ???
411 :
nobodyさん :2006/03/21(火) 19:18:21 ID:yr+ep2Pt
ものすごくアホな質問をさせてください。 Perlの正規表現って、何で正規表現というのですか?
regular expression
会員登録するときにメールアドレスを入力して、そのアドレスに自動的に送られてきた メールにあるURLを押すと会員登録が終了するシステムがありますよね? あれってどういう風に作るんでしょうか?
414 :
nobodyさん :2006/03/21(火) 19:40:52 ID:yr+ep2Pt
>>412 あ、いえ、つまり、なぜ"regular(正規)"というのかが疑問なんです。
>>413 Webprogだけじゃなくて、メールサーバーと連携してやってるんじゃなかったっけ。
1.登録情報(メールアドレス)を送信する 2.鯖で情報を受け取り、ファイルに保存、sendmailで確認メールを送る。 3.確認メールを受け取って、指定されたアドレスへアクセスする。 4.getメソッドの情報と、保存したファイルを突き合わせて、正しければメール認証おk。
>>410 いや、要は2つのテーブルを照らし合わせて片方でデータが削除されてたらもう片方も削除したいんだよ
片方は自分の関知しない外部から取得してるから、そっちが消えてたらこっちも無駄レコードを消したい
>>418 箱を開けてみるまで猫が生きてるかどうかは分からん。
>>418 Postgreはよく知らないけど外部キー制約じゃいかんの?
…この辺は少し齧っただけだからとんでもない事言ってたらスマソ
421 :
414 :2006/03/21(火) 20:11:35 ID:???
>>417 そうなんですかぁ。
「正則集合の代数を説明するのに使用された式」が気になるところですが、この話を
膨らましていくと激しく板違いになることが目に見えているので、やめておきます。
どうもありがとうございました。
>>418 それなら、ただたんにレコード同士を突き合わせて、異なればDELETE
>>418 NOT EXISTを使った差集合と言えばわかるか?
言い忘れてたけどPerlでPostgresでした
セレクトorデリートでWHERE NOT カラム名 IN(ループで全部とってくる)
でどうかなと思ったりはしてるんだけど負荷とか効率がよくわかんなくて。。
>>419 うん、いや、しかし、そこからなんだ
>>420 親キーになり得るのが新しく取得してくる方だからちょっと面倒な事になりそうな気が
>>422 そうか、とりあえず簡単にできるんだな、勉強してくるわ
>413
ユニークなキーを作成し、メールを送る段階で仮登録状態にしてしまう
メールには
http:// 〜/reg.cgi?UID=test&key=oiuahrtiuUIiuygsetuygSeUYIG のような形で記述
んでそのアドレスに飛んだときに CGI 側でユーザー ID とキーとで照合して合致すれば登録完了
んと、cgiでファイルの作成はできるんだけど、削除するとcgiが止まるっぽい。 問題はパーミッション周りぽいんだけどちょっと詳しい解説が欲しいかも。 localでは問題ない辺り、多分そこら辺だと思うんだが。 誰かエロいヒト、解説なり誘導なりしてくださいませ。
>>427 設置鯖がおかしな独自設定をしていないか確認
あと、お約束のエラーコード
>>428 idとmodeを逆うにしても?
430 :
413 :2006/03/22(水) 15:40:06 ID:???
アドバイスありがとうございます。おかげで何とかイメージは掴めたんですが、 ・メールに記述するget用のキーなどを自動的に生成するにはどうするのか? ・仮登録終了時と、本登録終了時の区別をどうつけるか? この二つはどうすればいいのでしょうか? 自分はPHPとMySQLでやってるんですが、データベースに仮登録用のテーブル と本登録用のテーブルを用意したりするのでしょうか?
>>430 cryptでもMD5でも適当に乱数作ればいいし。
テーブル分けてもいいし、仮は本かのフラグ用のカラム用意してもいい。
というか、こんな低レベルな設計もできないなら運営は止めたほうがいいよ。
>>429 うわーいけました。
自分でも見直したつもりだったのにもうねこの半日はなんだったのかとry
なにはともあれ壮絶感謝です。ありがとうございました。
>430 > キー生成 好きなように生成汁 a-zA-z0-9の文字列で、短すぎず長すぎずの文字列を適当に作ればよろすぃ 私が以前作った時は32文字ぐらいにした > 本登録と仮登録の有無 431さんが書いてあるとおり 個人的にはカラム作った方がいいかなって感じがする フラグは 0 = 仮登録 1 = 本登録完了 2 = 一時停止(ユーザーの不正行為による停止中) 3 = 退会済 こんなん感じ プログラミングは技術よりもひらめきが重要です あとはがんがれ
プログラミングは技術よりもあきらめが重要です。 ~~~~~~~~~ って読んでしまった。 妙に納得してしまったんだが・・・w
プログラミングは技術よりもときめきが重要です。 ~~~~~~~~~ って読んでしまった。 妙に萌え萌えしてしまったんだが・・・w
ドラえもんは技術よりどらやきが重要です
質問です 作画ソフトでWEBブラウザに表示が容易に可能なソフトで 良いソフトはないでしょうか? visioのデータベースへのエクスポートのような機能でもいいんですが 中々見つからなくて・・・ できれば作画したパーツをWEBで作成する際に流用できる 対話型いいんですが知っていたら教えて下さい
>>437 >作画ソフトでWEBブラウザに表示が容易に可能なソフトで
>良いソフトはないでしょうか?
意味が全くわかりません(><)
439 :
413 :2006/03/23(木) 22:25:32 ID:???
皆さんアドバイスありがとうございます。アドバイスのおかげで何とか実現できそうです。 ご指摘の通りまだまだ修行が足りないので精進してきます。ありがとうございました。
440 :
nobodyさん :2006/03/23(木) 22:57:34 ID:ZmDN/75n
ある掲示板スクリプトを設置しているのですが、readmeにEUCなので半角カタカナが文字化けしませんって書いてあります。 ですが携帯でテストするとどうしてもそのまま表示されてしまいます。 なんというか説明しにくいのですが、cgiをみてみたところツ・セ、フセチー、mail、・ウ・皈ネがあって、それぞれ?、名前、mail、コメントとなるみたいです。 ですがツ・セのとこのがそのままツ・セと出ます。名前やコメントはちゃんと表示されるのになぜツ・セは正しく表示されないのでしょうか?
>>440 そのCGI編集するときメモ帳かなんかのエディタで編集してない?
あと携帯で開いたときに表示するページのcharsetがおかしかったり?
>>441 はい、メモ帳です。
charsetは・・よくわかりませんがCSSファイルはまったくはいってないです。
メモ帳だとEUC-JPが扱えないよぅ
>>442 >はい、メモ帳です。
力強く肯定するなボケ
何が原因か明らかジャン
メモ帳だとだめなんですか・・。 はじめて知りました。今までほとんどメモ帳ですませていたので
446 :
nobodyさん :2006/03/24(金) 00:55:41 ID:ZrdVGFzD
インターネット向けのがやがやしたものでなくて、 社内の業務システム向けのシンプルなHTMLデザインの HTMLorCSSデザインテンプレートってどこかにないですかね? ヘッダー、フッターとか一覧、明細などまさに業務システムって感じの… #HTMLの話ですけど、こちらの板で聞いてみました。
>440,445 あと携帯ってEUCは大丈夫だったか? 機種にもよるんだろうけど、Shift_JISかUFT-8でないと駄目なんじゃなかったっけ。
448 :
447 :2006/03/24(金) 07:35:53 ID:???
>447 × UFT-8 ○ UTF-8
6rz
>>447 名前やコメントはちゃんと表示されたんですが・・。
携帯のとこだけ他ので書いてあるんでしょうか?
>450 いや、他ので書いてあるとかではない。 メモ帳のせいだろうと思うんだが、携帯でテストっていうのが引っかかるんだよな。 >447も言ってるが、暴打以外の携帯はEUC-JP扱えないから。 とりあえず、携帯じゃなくてPCから見てみて ・文字化けせず正常に表示されるか ・文字コードはどうなっているか ・文字化けしているなら、文字コードを変えると正常に表示されるかどうか この3つを調べてみ。 文字コードはブラウザによって「文字セット」とか「文字エンコーディング」とか 名称が違うので試行錯誤してみて。
扱えないこともないけどね。 メニューから文字コード変換をいちいち選ばないとならないが
>>446 そういうテンプレートを配布してるサイト(サービス)を探してんならやっぱりWeb製作だなあ。
csvとかのデータを読んでhtmlに整形するってんなら分からんこともないけど。
他人のページのソース見たら済みそうだけど。
配布されている掲示板を使っているのですが、今書き込みのipが保存されてこっちから見れるようになってます。 でもそれをみるとたとえば携帯だとえーとなんていうんでしょう?固体識別番号?を取得したいんですが、簡単に書き換えできるもんなんですか? それと、串も規制したいんですけどそういうのは別スクリプトで配布されてるもんなんですか?
>451 嘘つくな 俺のは端末auだが、EUC-JPで書いたやつ見れる(WIN端末なら全部大丈夫かと思われる)
>固体識別番号 >できるもんなんですか?
457 :
451 :2006/03/26(日) 00:37:53 ID:???
>455 まじすか。リサーチ足りなかったみたいで申し訳なかった。 もう一回調べてくる
DoCoMoもSJIS/EUC/JIS/UTF8対応。 公式ではSJISということになっているけど、かなり昔の機種でもEUCが読める。
459 :
nobodyさん :2006/03/26(日) 21:13:38 ID:stj/ylca
質問なんですが サーバの負荷などを表示するスクリプトってありませんか? CGI/PHP/SSIなどでそういうのがあればおしえてください
キャリアのProxyサーバーがSJISなり特定のコードに変換されたのを送ってるだけで、 携帯端末は単一のコードしか扱えないかもね と思ったりもした今日の午後
ブログにカレンダー表示スクリプトを表組みで実装しようとしています その月の日数を取得して$dayを日数になるまで回します。 date("w",$day);が6になれば</tr><tr>と折り返します。 $dayが投稿のあった日付の時だけ特定のリンクを数字に貼りたいのですが、 どのように実現すればよいのでしょうか? $dayが1増えるたびに投稿があるかどうか確かめてたらえらく表示に時間がかかりそうなので 何かよい方法ありませんでしょうか?
箱の中に猫がいるかどうかは開けてみないと分からん。
シュレーディンガーのぬこみたいですね ひたすら回すことにします
>462 投稿を受け付けたときにその日付をどっかに記録しておくとか。 で、カレンダー表示部分では日付の記録だけ見に行く。
466 :
nobodyさん :2006/03/27(月) 13:41:11 ID:bpI2Dmq4
PHPスクリプトでアップしてから確認ではなく オフラインでも確認できるソフト、または方法は何がありますか?
469 :
nobodyさん :2006/03/27(月) 23:27:54 ID:XjvmMKzF
>>469 見たけど"t_counter.cgi"って書いてあるのは1個所だけだったよ。
そこだけ書き間違えたんでしょ。
471 :
nobodyさん :2006/03/28(火) 00:32:43 ID:975SPdhO
CSSでIEの場合だけime-modeを入れたいんですが HTMLの [if IE 6.0] みたいなやつのCSS版はありますか?
http://www.teachat.org/tips.php ここのHTMLに参加者表示を埋め込むをつかいたくて、指示されたとおりやったのですが、
shtmlファイルのそこの部分には何も表示されません、サーバーはさくらインターネットです。
パーミッションも確認しました、何が悪いのでしょうか。
(記述)
<!--#exec cmd="./○○○/member.pl"-->
<!--#FLASTMOD FILE="index.shtml"-->をつかいSSIが起動することは確認しております。
セキュリティの関係上execとか実行するのは駄目なところもある もっかい桜たんのヘルプを見てみるといい
他の方法を書かないところがネタ
>>474 PHP使わないでどうやってPHPスクリプトを実行したのか無知な俺にご教授願いたい
>>471 ime-mode だけを指定した style (または link) 要素全体を条件コメントで囲んで分離してやればいい。
478 :
nobodyさん :2006/03/28(火) 18:40:22 ID:HpK4xCer
ユーザとあるサービス(複数)があったときに、 そこにもう一つ会員認証サービスを仲介してユーザの真証性をそれらのサービスに伝えたいんだがどんな方法が良いと思う? ログイン方法:ユーザが会員認証サービスにてログイン。 サービスからユーザ確認方法:ユーザがサービスへアクセスすると、 サービスがユーザから取得した情報を使って会員認証サービスに問い合わせ。どのユーザかを特定する。 みたいな感じで。ユーザから取得した情報を使って他の個々のサービスでなりすましが出来てはいけないやら、セキュリティ面にも配慮して。
479 :
nobodyさん :2006/03/28(火) 19:54:51 ID:3g3jnzIo
初心者です。 エラーがでたのでxmlの中身をみてみました。 すると<file name="$themedir/index.template.php">と書かれており 実際はindex.template.phpはthemeの下にあるdefaultというフォルダに入ってました。 フォルダの指定の仕方が分からなかったので <file name="$themedir/defaultdir/index.template.php">変更したところ エラー・・・ どうすればいいのでしょうか?教えてください
480 :
nobodyさん :2006/03/28(火) 20:19:40 ID:gechmwDs
>>479 せめてエラーメッセージくらいはコピペしてくれ。
481 :
nobodyさん :2006/03/28(火) 20:51:05 ID:3g3jnzIo
>>480 すいませんでした。
1. コードを実行 install.php
2. 修正を実行 install.xml 修正パースエラー
3. 修正を実行 - 修正パースエラー
何のアプリケーションなのか説明が無い所を見ると知ってて当たり前で超有名なものらしいがさっぱりわかんね。
484 :
nobodyさん :2006/03/28(火) 21:20:09 ID:3g3jnzIo
>>83 マイナーすぎて知らないかと・・・
自分で調べた結果79に書いたディレクトリの指定ミスだと思うのですが・・・
なんでそこまでツール名を伏せたいのかな。
「index.xml 修正パースエラー」っていう変わったエラーメッセージもよくわかんない。
0. install.php は $themedir/default/* のファイルをコピーする処理などをしそう
1. $themedir = './theme' みたいな行があってセミコロンがないとか
2. $themedir = './theme; みたいな行があって引用符が閉じてないとか
4. 板違い。
http://pc8.2ch.net/blog/ 8. 板違い。
http://game9.2ch.net/quiz/ これぐらいしか思いつかない。
CGIで質問させてください。 カテゴリを書いたファイルと、データファイルの一部(この場合は$cg)が一致した場合、 カテゴリごとに目次を作るにはどうしたらいいでしょうか。 イメージとしてはブログのカテゴリー表示みたいな感じにしたいのです。 [カテゴリ1] 一致したデータ1 一致したデータ2 一致したデータ4 [カテゴリ2] 一致したデータ3 一致したデータ5 [カテゴリ3] 一致したデータ6 みたいにしたいのですが、 一応自分で考えたのはこんな感じなんですが、 これだと一番最初のカテゴリ1しか表示されてくれません(´・ω・`) 自分でもこれじゃできないことはわかるんですがどう間違ってるのか理解できません。。 アドバイスお願いします。 $linkline = ""; # カテゴリファイルを開く @bblines = &opendat("$bbdat"); foreach $bbline (@bblines) { chomp $bbline;# 改行コードを取り除く # データファイルを開く foreach $line (@lstlines) { ($aa,$bb,$cc,$dd,@others) = split(/<>/,$line); # $bbがカテゴリと一致したら if ($bbline eq $bb) { $linkline = "$linkline" . "[$cc] $bb<BR>"; } } print qq|$linkline\n|; $linkline = ""; }
488 :
nobodyさん :2006/03/28(火) 21:56:51 ID:3g3jnzIo
>>486 simple machines forumをカスタムするためのmodなんです。
日本語サポートが全くされていないので困ってます
489 :
nobodyさん :2006/03/29(水) 04:55:06 ID:WInItod+
サーバサイドではなく、むしろクライアントサイドの問題で恐縮だけど、、、。 Googleで質問。 Google って、「検索結果を新しいウィンドウに開く」をチェックすると、 検索結果のリンクに、target="result" みたいなの付けてくるよね。 これだと、でも、全部同じウィンドウに出てしまう。 target="_blank" を付けたいんだけど、どうしよう。 激しく板違い、と言われそうですが、 まあ、どこで聞けばいいかだけでもいいから教えてください。
>>489 多分そういうのを扱う板はネットサービス板だと思う、が
Googleの表示設定ではどうにもならなさそうだから、
行って解決できるかは甚だ疑問だな。
この板的に答えると、プロキシを作って変換汁、とか。大袈裟だなスマソ。
個人的には使っているブラウザがIEやFirefoxなら(他はシラネ)、
シフトを押しながらリンクを辿る癖をつけるというのをお勧めしたい。
targetを無視して新しいウィンドウで開いてくれるブラウザもあるので、
そういうのを使ってみるのもいいかもね。
491 :
471 :2006/03/29(水) 08:00:32 ID:CBwBw9n1
>>477 やっぱりHTMLの中で切り分けるしかないですか。
とりあえずそれで行きます。
ドラッグしても、文字を反転させないようにしたいのですがどうすればいいですか?
こんにちは。
ググりまくったのですが、わからないので御指南ください。
ttp://www.autosurfhikaku.com/ ここのように、投票できるシステムがついていて、
phpnukeのようにログインなどがいらない、ブログシステムを
探しています。
PHP, CGI, MySQL が使用可能です。
こんばんは。 どこにもって良いか分からない話です。 心当たりのある方はご教示下さい。 CGIの改造を頼まれました。 再配布になるので改造後のソースそのままは渡せないと思っています。 この部分を修正したよとお知らせしたいのですが、 激しく改造したために改造箇所がわかりにくくなりました。 たとえば、ファイルを比べて追加もしくは削除した箇所が すぐに分かるようなツールか、又は自分でコーディングした部分の 色が変わるエディターなどをご存じの方いますか?
すれ違い。diff
diffのような関数は無いの?
>>495 Unix系のツールだけど、diff / patch (コマンド)つーのがある。
Windowsなら、vectorあたりで「diff」で検索すりゃGUIのが見つかるかもな。
cygwinを入れておくと、他にも便利なコマンドが色々使えるようになるのでお勧め。
diff -r original_directory modified_directory > patch_file ってな感じで、差分がpatch_fileにまとめられる。
patch_file には、どのファイルの何行目(から何行目まで)を追加(または削除)したという情報が入っている。
patch_fileの中を見ながら手作業で修正してもいいが、patchを使うと楽。
patch -p0 . < patch_file ってな感じでコマンド一発で修正してくれる。
499 :
495 :2006/03/29(水) 22:51:49 ID:???
>>496 すれ違いにもかかわらず即答下さってとてもありがとうございました。
500 :
495 :2006/03/29(水) 22:55:26 ID:???
>>498 重ね重ねありがとうございます。
改造そのものより改造箇所の点検の方に時間取られていたので
非常に助かりました。
CGIで動的にデータを生成せずに、 データの更新があったら更新先のHTMLを書き換えて置いておく、 って感じでプログラム組んだんだけど これがまた、ブラウザリロードしないといけないのね。 対策法ぐぐったんだけど、いまひとつよくわからん… 誘導または解説おねがいできませんか?
なるほどー。やっぱそれ以外方法なさげか。 まぁcgi走らない分だけ鯖負荷軽いかな。
MySQLを勉強し始めたばかりなんですが、テーブルを作る際にテーブルの説明みたいのって追記できます? コンサートとかの日程を管理しようとしてて、セットリストも含めたいのでテーブルの構成とは関わらず テキストを追加できればいいかなぁと思った次第です。
505 :
nobodyさん :2006/03/30(木) 10:20:46 ID:uHn2KhNj
フォームからのメール送信プログラムを作りましたが…
PC宛→問題なし
DoCoMo機宛→問題なし
au機宛→未確認
vodafone機宛→一部問題あり
vidafoneの「一部問題あり」が問題でして…
401SHに送った場合はちゃんと読めるのに、804SHだと文字化けしてしまいます。
Perl、Sendmailを使用しています。
#------------------------------------------------#
$input_mail_title = &mail64encode($input_mail_title);
$mlhd = "From: $from_mail_adrre" . "\n" . "To: $csv_mail" . "\n" . "Subject: $input_mail_title2" . "\n\n";
open(MAIL, "| $sendmail -t -f$from_mail_adrre");
print MAIL $mlhd;
print MAIL "$input_mail_honbun";
print MAIL "\n\n" . "." . "\n";
close(MAIL);
#------------------------------------------------#
&mail64encodeの部分は
ttp://www.tohoho-web.com/wwwxx006.htm …にあるサブルーチンを使っています。
804SHに問題あるのか、Perlの書き方に問題あるのか…途方にくれています。
どなたかお教えください。
スレ違いならごめん、的確なスレを教えてください。
>>505 $input_mail_honbunがISO-2022-JPになってなかったりは?
2chぽい掲示板の携帯から見たときのcgiをいじってるんですが、 スレ欄からスレを開いたときのURLを探して if ($FORM{mode} eq 'i') { foreach ($startpage..$endpage) { if ($ThreadData[$_] eq '') { next; } my $icnt = $_ + 1; my $rcnt = $_ + 1; $icnt == $pageline ? $icnt = 0 : $icnt = $_ + 1; my ($key,$title,$cnt) = split (/\f/, $ThreadData[$_]); $ithread .= "$rcnt.<a accesskey=\"$icnt\" href=\"./read.cgi?bbs=$bbs&key=$key&ls=20&nofirst=false&mode=i\">$title</a> ($cnt)<br>"; } の部分があったので、./read.cgi?bbs=$bbs&key=$key&ls=20&nofirst=false&mode=iをいじればいいんだなーと思ったんですけどlsを50にしても10にしても まったく反映されません。 リンクはどこにとんでるかなと思ったら./read.cgi?bbs=$bbs&key=$key&ls=10&nofirst=true&mode=iと、初期設定のままです。 ここはかえられないのでしょうか?
レベル7エスパー待ちか・・・
はい・・・ すみませんどう見ても情報足りませんでしたすみません みちのく掲示板(12CHスクリプト)をいじろうとしてます。 PCからスレ一覧のスレ名の上に置いたらそのURLが出て、それでスクリプトを検索したら・・・ 明日詳しく書きます・・・ ホントすみません、どこが間違ったのか本当にわからなくてパニックで
512 :
nobodyさん :2006/03/32(土) 10:12:43 ID:Z5dweyC5
えっと、とりあえず聞きたいのですが、みちのく掲示板のスクリプトを改造しようとしました 携帯からレスを見ている時に上に表示されるリンクですが <a href=read.cgi?bbs=$bbs&key=$key&ls=$lslimit&mode=i accesskey=3>新</a> で設定した最新レス表示数ぶん表示します。 <a href=read.cgi?bbs=$bbs&key=$key&mode=i accesskey=2>全</a> は全てのレスを見るリンクです。 とありました。 mode=iってのは携帯からのってことで、アクセスキーは携帯でそのボタンを押すと実行するってことで解釈しました。 これにならって前へと次へを作りたいのですが書き方がよくわかりません。 前へ」は今見ているレス番から前10件を表示で、「次へ」はその逆です。 2ちゃんねる等を見ましたがよくわかりませんでした。 どなたかお願いします。足りない情報があったら言ってください。
そのスクリプトのリンクぐらい貼れや
ttp://sugachan.dip.jp/download/ snuploaderというアップローダーをレンタルサーバに設置しているのですが、
初期の設定ではwmvファイルはアップロードできないようです。
これをアップロードできるようにするにはどうすれば良いのでしょうか?
いろいろと試しましたができませんでした。
↓試したこと
・「アップロードできる基本拡張子」に「wmv」を書き加える
・「登録以外のものもUPできるようにする」を効かす
・アップしたいwmvファイルの拡張子を、アップできる基本拡張子に登録されている「mpg」に
してアップしようとした(できなかった)
上記のいずれを行っても、「ページを表示できません」のエラーがでます。
他のファイルであれば、拡張子が基本拡張子以外ならそういう指摘のエラーページが表示
されるのですが・・・
なお、容量制限は、アップするファイルに対して十分に余裕を持っています。
普通に動いたけど・・・ もしかして、upload.cgi っていう名前から変えてたのに$set{'base_cgi'}を書き換えてないっていうオチは無い?
517 :
515 :2006/04/05(水) 00:39:18 ID:???
>>516 あれ?wmvアップできます?(汗)
cgiの名前は変えずそのまま使っています。
おかしいな 当方が行ったのは $set{'up_ext'} に wmv を追加して $set{'up_all'} を 1 にして、ファイル名を index.cgi にしたので $set{'base_cgi'} を index.cgi にして、アップ先の src ディレクトリを作っただけで動作した もし既に運用中でなければ、ソースを落としなおして修正を掛けてみるといいかも
519 :
515 :2006/04/05(水) 01:04:20 ID:???
>>518 すみません、別のwmvファイルで試したところ、普通にアップできました!
アップできないファイルはどれも同じところで作られたものなのですが、
何かアップするのに障害になるような情報を埋め込むことなどができるのでしょうか??
見た限りではそのあぷろだはファイルの中身まではチェックしてなさそうだし、サイズオーバーとか、 CGIの処理時間でタイムアウトとかじゃないの?
521 :
515 :2006/04/05(水) 01:43:35 ID:???
>>520 おっしゃるとおり、どうも容量が影響してるみたいです。
15.7MB以下 OK
16.0MB以上 OUT
みたいです。
しかし、これがどこの設定に引っかかってるのか皆目・・・
最大投稿容量は100*1024(KB)で、
総容量制限もかけておらず、サーバの残り容量もたっぷりあります。
アップできないときはすぐにページを表示できません画面になるので、
処理タイムアウトではないと思います。
>521 サーバーの設定がそうなってるのかも 自鯖じゃなければ諦めるか、もっと容量大きいの可能なところ借りるか、有料鯖を使うかがいいかと
523 :
515 :2006/04/05(水) 01:52:07 ID:???
>>522 サーバは有料レンタル鯖で、アップローダを介さずFTPでアップすれば
100MBでもそれ以上でもアップできるんです。
infoseekのiswebベーシックというやつです。
それなら Apache の設定で、入力されるデータのサイズに制限がかかってるのかと思う
525 :
515 :2006/04/05(水) 02:26:18 ID:???
>>524 なんと。
FTPでいけるから大丈夫、というわけではないんですね・・・
レンタル鯖のApacheの設定はさすがにいじれないので、この鯖ではムリということですね・・・
そういった制限に寛容なレンタル鯖探してみます。
いろいろとアドバイスしてくださってありがとうございました m(_ _)m
526 :
nobodyさん :2006/04/05(水) 03:12:37 ID:sFFmw8/M
pic.toとか、PCと携帯を判断してるサイトがあるけど、 ああいうのってどこを見て判断するのが一般的? ユーザーエージェント?リモホ?
IP
DBサーバとフロントサーバを分ける場合、 両者はやはり同じLAN内に設置するのが基本でしょうか? 離れたところに置くと、レスポンスはそれなりに遅くなりますか?
SSL
なるほど。SSLかぁ。
2chのように串を通したら書き込めないようにするにはどうしたらいいのでしょうか? 荒らしが来て、困っています。
その荒らしが串だということはどうやって知ったの?
HTTP_VIAを見ればいいんじゃない?
>>534-536 ありがとう。
>>535 よく見てみます。
具体的にはこんな感じです。
Remote:crawl-66-249-72-210.googlebot.com IP_addr:66.249.72.210
Remote:CDN-CE-INFLOW-T2-02.inflow.pa.bo.comcast.net IP_addr:68.87.64.101
>>535 詳しい内容はよくわかりませんが^^;、コピペで簡単にできそうですね。
サンクス。
下は確かに串だが上は…
P_BLOGのスレってどこかにない?
542 :
nobodyさん :2006/04/08(土) 06:12:39 ID:HrDXJak2
すみません、貧乏主婦なんですが、 楽天の入札でもらえるポイントを自動で入札→完了 のようにできるスクリプトを組むことは無謀でしょうか? 環境はスレイプニルとIEをwinXPで使っています。 どの言語を使うかすら分からない初心者ですが こんな不順な動機でも、この機会にちょっと勉強してみようと思います。 ヒントだけでも結構ですので、教えてください!おねがいします!
>>542 不順
例)生理不順
不純
純粋でない目的
545 :
nobodyさん :2006/04/08(土) 13:48:02 ID:N8sEnzeH
example.comからユーザに一度データを渡して、 それをexample2.comから読み出したいのですがこれを可能にする方法はあるでしょうか? cookieのdomainフィールドを使って出来るかな、と思っていたのですが別ドメインの指定は無理なようで。。 良い方法をおご存じの方教えていただけると嬉しいです_ _
>>545 クエリでデータを引き継いで転送先に submit すれば?
あんまり大きいデータは無理だしクライアント側でもドメイン間データ転送を許可しておく必要があるし
受け入れ先がよそからのデータ受け入れを許可してなきゃ行けなかったりするしで制限多いけど。
547 :
545 :2006/04/08(土) 23:02:25 ID:???
>>546 返信ありがとうございます。どちらも自分のサイトですし、渡すのはセッションだけなので大丈夫そうです。
ご教示ありがとうございました!
548 :
nobodyさん :2006/04/09(日) 04:16:21 ID:f8kvQn7u
phpで1分後とに情報を収集して、自発的にhtml出力することって可能なんですか?
>>548 単にファイルに吐き出すだけなら可能。OSのスケジューラを使うことになるかもしれんけど。
もし勝手にブラウザに表示っていう意味なら、無理。更新されたものをブラウザ側からRefreshで取ってやらないと。
550 :
nobodyさん :2006/04/09(日) 13:21:37 ID:H/eHJXzK
心理テストを作ろうと思うんですが、 javaで作るのがいいのでしょうか?
551 :
nobodyさん :2006/04/09(日) 13:37:45 ID:hreE0KGN
WEBアプリケーションを作るためにプログラム言語を学ぼうとしています。 オンラインスケジューラーを作ろうとした場合、学ぶべき言語は PHPで適切でしょうか?これからのオススメ言語を教えてください。
Java だと動かない人が多いから JavaScript の方がいいと思うけど なんでもいいんじゃない。
>>550 Java(JSP,servlet)でもいいんでね?つか鯖で何が動いてようがクライアントには関係ないし。
>>551 WebProg向けの言語ならなんでもいいよ。てかなんでも適切。
WebProg板のスレ一覧から言語っぽいのを拾ってくるとこんくらいある。
PHP、perl、Python、Ruby、Java、ASP、なでしこ、C/C++、WSH、Curl、ColdFusion
>>553 何か違うの混ざってるぞw
>>551 レンタルサーバで広く使える物の中で一番早いから俺はお薦め。
555 :
nobodyさん :2006/04/09(日) 21:59:11 ID:f8kvQn7u
>>548 了解しました
2chのsubject.txtからレス数やキーワードでソートしたものを吐き出させてサーバー負担を
軽減できればと考えておりました。
556 :
nobodyさん :2006/04/13(木) 13:34:36 ID:9YAl2LlT
PHPとMySQLの接続について質問です。
表示用のPHPに$DBSERVER=""と記述して、MySQLの接続サーバを
指定しているのですが、だいたいの場合はlocalhostを入れると思います。
そこで質問ですが、MySQLがあるサーバとPHPがあるサーバが異なる場合、
どのような記述方法をすればいいのでしょうか?
例:
表示用のPHP→
http://php.***.jpにある MySQL→
http://mysql.***.jp 上手く説明出来ずに申し訳ありませんが、よろしければアドバイスお願いします
>>556 localhost=127.0.0.1
だから同じLAN内にある鯖ならIPで指定しちゃえばいいんじゃない?
>>556 aaacafeのサーバが外部接続できるんだけどphpMyAdminには
$cfg['Servers'][$i]['host'] = 'mysql2.aaacafe.ne.jp';
と設定している。
URLのホスト名部分をいれとけ
559 :
初心者404 :2006/04/14(金) 03:08:06 ID:C540hEJ8
多人数ブログシステムを趣味で作るため、 XAMPP2.1を今日インストールしました。 PHPで <html> <body> <?php phpinfo(); ?> </body> </html> というコードを書いてlocalhostに接続したのですが MySQL情報がでてこないのですが、どうしたらPHPとMySQLを接続できるのですか? まったくの初心者の為にうまく説明できないのですが、よろしくお願いします。
本買ったら
561 :
初心者404 :2006/04/14(金) 21:39:02 ID:C540hEJ8
本買いました。
562 :
nobodyさん :2006/04/14(金) 21:48:18 ID:nyU3QUD5
UNHTTPDを使用しているんですが、 IIS、(および.NETFramework関連)をインスコしたらUNHTTPDが起動しなくなりました。 エラーメッセージは以下です。 "サーバソケットを使用できません。他のHTTPサーバが動いていないか確認してください。 あるいはポート番号を変えてください。" IISが原因だと思うんですが、"ポート番号を変える"というのを どうやって変更すればいいんでしょうか・・・環境はWIN2Kプロです。 お願いします。
564 :
562 :2006/04/14(金) 23:23:25 ID:nyU3QUD5
>>563 IDっていうとnyですか?
何のことか思いつきません・・・orz
IISがポート番号80番で上がってるから おんなじポート番号使うUNHTTPDが「もう80番が取られてる。」て言ってんじゃね。 IISのポート番号変えたいのならたぶん、 「規定のWEBサイト」のプロパティから変えられると思うが・・・ つーか2つもHTTP鯖必要?IIS停止させとけば?
566 :
564 :2006/04/14(金) 23:59:20 ID:???
>>565 ありがとうございます
もう出なくてはならないので確認して明日また返事します
ごめんなさい!
567 :
564 :2006/04/15(土) 15:11:32 ID:???
昨日は失礼しました。
その後ポート番号を確認できました。
やはり原因は
>>565 さんのおっしゃるように、80でだぶっていたことでした。
IISを停止させるとAN HTTPDは正常に動作しました。
ポート番号を適当に変えてみましたが動作しませんでした。(適当じゃだめ?)
それとは別にどうもIISの方もちゃんと動作してないようだったり・・・
しかしなんともわからないことだらけでして
今は漠然とした質問しかできそうにありません・・・orz
ひとつひとつ掘ってみから、不明な点は改めて該当スレ等で質問してみようと思います。
お恥ずかしや〜
あと、サーバーが2つっていうのも確かに要らないですよね・・・
ASP.NETはIISでしか動作しないと本で見てたこともあって今回入れてみた感じです。
折を見て整理したいと思います。
ありがとうございました!
>>567 > ポート番号を適当に変えてみましたが動作しませんでした。(適当じゃだめ?)
ほかのサービスが使ってるポートにしてたりしない?
Windowsファイル共有とか、ServerならDNSとかWINSとかも。
起動できるがアクセスできないって言う場合、その変更したポート番号でアクセスしてる?
特に指定しなければHTTPは80で繋ぎに行くから、ポートを変更したほうの
Webサーバにアクセスしに行かないよ。
569 :
564 :2006/04/16(日) 14:11:15 ID:???
>>568 >変更したポート番号でアクセスしてる?
ああっ!まさにそのためでした。
:(変更したポート番号)を加えてアクセスしたらうまくいきました。
デフォルトの:80は省略されていたんですね・・・
ありがとうございます!
570 :
nobodyさん :2006/04/17(月) 17:34:07 ID:KEcazOyC
レンタル掲示板のようなサイトを作成していますが、 IDを順番に発行する数字にすると、 ループでSPAM投稿をされることがありますよね。 (実際、過去に類似サイトを作成した時に被害がありました) どうしたものか悩んでいます。 2chのスレッドIDなどはどのような処理で発行しているのでしょうか?
2ちゃんでもスパム投稿は結構多いよ。特にピンク関連の板で。 基本的にアクセス自体を弾いてるんじゃ?
572 :
nobodyさん :2006/04/17(月) 17:58:34 ID:??? BE:120682433-
2chのスレッドIDはスレ立ての時刻だと思うが…
試しにこのスレの番号を戻して見るとこうなる。
2006/02/09 16:05:29
スレタイをハッシュ化+暗号化するとかそういう手もあるけど、
結局のところスレ一覧を見て爆撃されたら意味無いと思われ。
2chの広告規制はキーワードに対するマッチングとか
ttp://info.2ch.net/wiki/pukiwiki.php?Rock54 複数のスレに短時間のうちに同じ書き込みが来たら、
自動で蹴って削除とかそういう手法は有効かもしれないね。
負荷を考えると広告対策だけならURLだけ抽出してデータベース化という手もあり
> 570 連続投稿を排除する(クッキー利用) クッキーが設定・取得できなければ排除 海外からと思われるIP/HOSTは排除 串は排除 投稿記事内にURLがあり、そのURLにpornとかの単語(辞書登録すると良い)があれば排除 URL以外にも特定単語があれば排除(あまりきつくしすぎるとなんも発言出来なくなるのでかなり緩めで) うちはこうやって弾いてる URLとかは >572 さんの書いてるDB化が手っ取り早いかも たとえば書き込み内容に URL が含まれてればその URL をひたすら別のファイルに保存していって、 あとで自分でチェックしていくとか (面倒であれば上記の特定単語で弾くとか)
574 :
570 :2006/04/17(月) 22:02:22 ID:???
575 :
nobodyさん :2006/04/22(土) 12:15:24 ID:EH5Dl/QI
お好きな言語でどうぞ
日本語であれば診断好きで自意識過剰な日本人が利用してくれますよ
infoseekの無料HPスペースでアクセスログを取るのにSSIを使おうとしてるんですが、 #execが使えない場合どうしたらいいですか?
つ【LWP::Simple】
SOCKET使え
無ければ置きゃいいだけじゃねぇか 任意ディレクトリのモジュールをuseする方法は自分で探してね
自分で置く方法もあったんですね、ありがとうございます
589 :
nobodyさん :2006/04/24(月) 14:10:21 ID:0x1eKmbz
こんにちはWebProg板は初めてなので そそうがあるかもしれませんが、 ぜひ、質問させてください。 言語はC言語は4年ほどやった程度で、 Web系は、HTMLぐらいしか知りません。 自分がやりたいのは20名程度の各人のウチの Excel VBAかVBのスタンドアローンアプリから Web上のデーターベースに数字データを格納し, その格納された数字を各自のExcelシート上に 引っ張ってきて見れるようにすることです。 10秒に一度ぐらいDB上の数字更新の確認をし、 更新されていれば、Excelのシートに反映。 昨日大型書店で下調べをしてきたカンジでは、 レンタルーサーバーを借りて、PHPでMySQL5の Web DBをつくり、Excel VBAでアクセスする と思いついたのですが、この方向性って間違ってますか? また、WebProg初心者かその仕組みを実装するのに どの程度の時間と理解が必要でしょうか、 手に負えないようなら、業者に頼むかもしれません。 よろしくお願いします。
そんなクソ面倒なことよりも、そのシステムをスッパリとWebProg版に移行した方が 手っ取り早いし、余計なエラーとかに悩まされる確立も減るかと思う そうすりゃPHPでMySQLを扱えばいいだけだし 画面更新がうざければajaxとかやってみるのも面白いかも
以前にこの板に正規表現スレがあったと思うのですが 板一覧で発見できませんでしたのでどなたか可能でしたら立てていただけますでしょうか。 …、既存でしたら誘導もヨロです。
593 :
nobodyさん :2006/04/24(月) 21:39:57 ID:CythP+9H
200603.dat、200404.dat・・・・というファイル名のファイルがディレクトリにあります このファイル名を取得して、 2006年4月 のように頭4文字、尻尾2文字を抽出するにはどうすればいいんでしょうか?
/(\d{4})(\d{2})\.dat/ $year=$1; $month=$2;
595 :
nobodyさん :2006/04/25(火) 18:54:45 ID:5m3tr+3F
596 :
593 :2006/04/28(金) 12:21:26 ID:0e4u8vtV
PHPの話だと申告するのを忘れておりました
>>596 preg_match("/(\d{4})(\d{2})\.dat/", $filename, $m);
$year=$m[1];
$month=$m[2];
598 :
nobodyさん :2006/04/28(金) 12:47:30 ID:PmtaCXNw
それまでjcode.plでやっていた処理をEncode.pmに同じようにさせる場合 CGIでの書き換えは以下の通りで良いのでしょうか? require "jcode.pl"; ↓ use Encode; &jcode'convert(*param,'sjis'); ↓ from_to($param,"shiftjis"); ※paramは任意の変数名
599 :
593 :2006/04/28(金) 12:49:59 ID:0e4u8vtV
>>599 from_toは元のコードと後のコードを決め打ちで指定する。
from_to $param, 'utf8', 'sjis';
やりたいのは、
use Jcode;
jcode($param) -> sjis;
じゃないの?
>>600 レスアンカーが
>>599 になっていますが私宛のようですね。レス有難う御座います。
仰る通り、私がやりたいのは、Encode.pmを使って、
コード指定無しの変数を指定したコードへ変換する事です。
ISO-8859-1への変換も行うので、jcode.plやJcode.pmではなくEncode.pmを使います。
検索してみても、何故か、Encode.pmでは、jcode.plやJcode.pmでよくあるような
コード指定無し→指定コードへの変換の記述例が見付からなかったので
こちらで質問させて頂きました。
すみません。レス番号をコテに入れるのを忘れていました。
604 :
603 :2006/04/29(土) 21:57:13 ID:???
DBからselectした結果セットからレコードを降順に取り出す方法はありますか? offset limitを使っているのでselectの時点でorder byが使えなくて困っています Postgresqlです
606 :
588 :2006/04/30(日) 03:15:46 ID:???
>>603 有難う御座います。まさしく知りたい事がピンポイントで書いてありました。
やはり、Encode.pmを使う場合は、いくつか候補を挙げて
コードを識別させておいてから指定コードへ変換させた方が無難そうですね。
ソートした結果からオフセット、リミットで取り出しちゃいけんの?
というかサブクエリ使うだけだろ
609 :
nobodyさん :2006/05/01(月) 12:42:03 ID:k1dFBYvt
トラックバックっていまいちわからないんですが どういう仕組みなんでしょうか? よくわかんないのでアルゴリズムに困っています 自分のブログに人が勝手にURL貼り付けていくだけ?
トラックバック仕様書でググれ
611 :
nobodyさん :2006/05/02(火) 14:07:35 ID:WLL4cDdA
WindowsXPSP2のIEはアクティブ コンテンツを制限(情報バーを表示)するのに グーグルマップとかはなぜ制限されずにみれるのでしょうか?
Googleはいい人だから
613 :
nobodyさん :2006/05/03(水) 00:01:06 ID:ND72AnjF
ランキングをレンタル(貸す側)したいのですが、どうすれば良いでしょうか? ランキングのCGIはとりあえず作ったのですが、自動生成のCGIが良くわかりません。 どなたか宜しくお願いします。
>613 日本語でおk
615 :
nobodyさん :2006/05/04(木) 01:25:30 ID:3fvBNfgU
「点滅」云々だろう。技術の名前ならアニメーションGIF。 よってこの板とはほぼ関連しない。
617 :
nobodyさん :2006/05/04(木) 02:27:45 ID:ZDUsuUks
利用者が在住する地域により内容を別けるCGIを制作しています。 都道府県よりもう少し細かく地域を別けようと計画しています。 今のところ、車のナンバープレートやドコモのiエリア区分、人口等も考えているのですがしっくり来ません。 エキサイトのフレンズなんかも参考にしています。 ですが、どれも地域分けの定義が掴めません。 テンプレートのようなものや参考となるCGIやサイトはありますでしょうか? 質問の内容がそれてすいません。
ヤフーの天気とかなぜここで聞くの
619 :
nobodyさん :2006/05/04(木) 17:55:29 ID:ZDUsuUks
>>618 Yahooの天気、参考になりました。
どこで聞こうか迷ったのですが、
Web制作や他よりもここの方がこの様な案件を
取り扱っている方が多いかなと。
620 :
nobodyさん :2006/05/05(金) 18:44:26 ID:GyMhXqyx
ホームページは作ったことがあるのですが、 プログラミングはやったことがない全くの初心者です。 私のやりたいことは 1、性格診断を行いその結果を表示させる。 2、その診断結果を診断者にメールで送る。 3、今までの診断者のデータを表示させる。 この3つです。 そこで質問なんですが、 まずperlとphpどちらで作ったほうが良いでしょうか? それともしサイトが完成したら、サーバーにはどのくらいの負担がかかってしまうのでしょうか? よろしくお願いします。
>>620 どっちでもいいよ。
PerlでもPHPでもできる事は対して変わらない。
内容的に鯖にずっと負荷がかかりっぱなしになりそうにないし、
むしろユーザ入力を待つ時間が普通より長くなりそうだから、
負荷を気にするのは利用者がとてつもなく増えてからでいいんじゃないかねぇ。
622 :
nobodyさん :2006/05/05(金) 19:10:14 ID:GyMhXqyx
>>621 レスありがとうございます。
他のスレを見たところだとphpのほうが初心者には、やりやすい
とのことだったんでphpで作り始めてみます。
始めまして。 iframeの中から、親のスタイルを変更したいのですが、上手くいきません。 やり方を教えていただけないでしょうか。 親 <div id="test">....</div> <iframe src="if.html"></iframe> ifの中身(script部分) parent.document.all["test"].style.color="yellow"; <--動かない のようにできればと思っています。
板違い Web制作板逝け
うるさい黙れ
五月蝿いだまれ
627 :
nobodyさん :2006/05/06(土) 20:41:08 ID:FWiKF0Gu
普段perlで掲示板とかチャットプログラムを暇なときにつくったりしてます。 (phpもほんの少しできます。) 将来はwebプログラマーになってcとかjspとかもみにつけたいんですが、 どういう系統の企業にいけばいいのでしょうか。 知り合いのSEに聞いたらスクリプト言語やめて業務系(帳簿つくるとかそういう系統) いけばといわれました・・・
メールフォームのようなものを設置したいと考えています。 しかし、自分のメールアドレスにメッセージを送信するのではなく、 管理人にしか見られないような掲示板のようなものを設置して、 そこにメッセージが書き込まれるようなしくみができればよいと思っています。 web拍手がそれに近いのだろうかとは思っているのですが、 上記の都合に合うものは配布されていませんでしょうか。 CGIもPHPもいじったことはありませんが、どちらでも構いません。 よさそうなものがありましたら、紹介していただけますと助かります。 よろしくお願いします。
630 :
628 :2006/05/06(土) 23:56:15 ID:???
>629 Web制作板あたりかと思ったのですが、該当スレがないようで……。 このスレのテンプレも見てみたのですが、 そもそもCGIとPHPのどれがふさわしいのかすらわかっていない状態です。 誘導ありがとうございました。
631 :
nobodyさん :2006/05/07(日) 13:46:28 ID:k22OBUfR
Perlなんですけど、LWPモジュールを使って他のサイトにアクセスすると、
相対パス指定の部分(リンクやスタイルシートの外部ファイルや画像など)のベースが
スクリプトを置いているサーバーのアドレスになってしまうみたいで、ちゃんと読み込まれません。
(例えば、相対パス指定のリンクのところにカーソルを持っていくと、
「
http://127.0.0.1/aaa/bbb.html 」というふうになっている、など)
Perlのバージョンは5.8.2、OSはWinMeです。ブラウザを変えても治りません。
鯖のソフトもANHTTPDとPWSを試しましたがダメでした。
試したコードは
use LWP::Simple;
$code = getprint("
http://www.yahoo.co.jp/ ");
などです。何が悪いんでしょうか?
円ドルレートをページを読み込む毎に取得するには? 輸入品の円立て販売がしたいのです。
>>632 そういうデータを配信しているRSSを取り込めれば一番手っ取り早い。
javaを動かしたいのですが、サーバーアプリケーションを全てMicrosoft製品にすることは可能でしょうか? ApacheやTomcatを使わずに。
>>634 残念ながら、Microsoftが独自路線に走ったため本来のjavaでは無理。
java類似のものはあるけどね。
636 :
634 :2006/05/08(月) 09:40:16 ID:???
>>635 そうですか。。。有り難うございました。
ちなみに、Java→C#への変換ツール(Java Language Conversion Assistant 2.0)
はまた新しく同じプログラムを書き直すのに比べ、実際にどの程度作業時間が短縮できる物なのでしょうか。
掲示板のログファイルの拡張子を適当にしたらダウンロードできるみたいなんですけど、 掲示板表示ページに「ログをダウンロード」みたいにリンク貼ったら何か問題ありますか? <a href="./log.hoge">ログをダウンロード</a>
>>637 HTTP 仕様 Content-Type/Content-Dispotision
Apache デフォルト設定 DefaultType
ブラウザ拡張子関連付け設定
この3つが関係するので、拡張子を適当にするだけでは 設定不足すぎ
639 :
637 :2006/05/09(火) 01:26:27 ID:???
>>638 ようするに環境によってはダウンロード出来ない可能性がある訳ですね。
.txtにして手動で保存出来るようにしてみます。
ところで鯖自体は.txtをテキストファイルとして処理してるのか、例外として処理してるのかわからんorz
ドウデモイイケド
>>639 IE様の前ではどんな拡張子にしても無駄だよ
なんでお前らは拡張子とか言ってるんだ? mime-typeの問題なんでしょ。
>>641 Apacheがfile extensionからmime-type判定してhttpヘッダー送ってもIEは無視するのでイラッとします
そのくせxhtmlとし正しいHTTPヘッダ送るとダウンロード扱いになるからもっとイラっとします
だからもうIEは使いません
個人的には
>>644 に同感なんだけど、広く公開するとか業務でやる分には、無視できないんだよね。
まったく…('A`)=3ププンスカ
金銭のやりとり (決済関連ね) が生じなければ firefox で動作確認つつ、最後に IE で確認 さすがに酷いデザインの崩れとかが生じなければ OK
メールフォームなどで、キーボードのEnterキーを押すと 送信(submit)されるようにしたいのですが、どうすればいいのでしょうか?
いきなりエスパーよろしくな書き込み方はどうかな・・・ メールフォームで <input type="text"> の上でエンターを押したときに 押下されるのは、そのフォームで1つ目に現れるボタンです。 リセットボタンは基本的に作らないんで、そのときの動作はわすれた (;´д`) type="text" 以外でエンター時に sbumit させたいときは JavaScript を使わないと たぶん無理なんじゃないかな?
ブラウザのページ遷移を無効にするまえにAjaxってどうですか?
650 :
nobodyさん :2006/05/10(水) 02:21:14 ID:WURMeF5p
APACHE2.2でPHP5.1.1.4 を使いたいんですが、 httpd.confに LoadModule php5_module c:/php/php5apache2.dll という記述を書くとエラーでApacheが起動しません。バージョン2.2から書き方が変わったのでしょうか。 恐れ入りますがご教授願います。
>>650 あちこちで同じような質問見かけるけど、Apache 2.2では動かないというのが結論みたいよ。
652 :
nobodyさん :2006/05/10(水) 04:31:37 ID:WURMeF5p
Apache2.2つかいたいけど見送りました。2.0で無事うごきました。 2.2は設定ファイルが分散していて、自分の設定ミスかもしれないのですが使えこなせないのがくやしい。
軽めのOSS作ったのですが そういうものがアップロードできるサービスはないでしょうか? ブログに載せようと思ったのですが 画像しかアップロードできず、 記事に載せるには大きすぎで思案しています。
>>654 多分スレ違いだしちゃんと調べてないけど、レンタルWiki
livedoor wiki とか @Wiki とか
初心者ですが、お願いします。 WEBプログラムの定義&範囲ってなんですか?HTMLやCSSもはいるの でしょうか?やっぱりjavaやC何とかを主にいうのでしょうか? ジャンルとして受け持つ言語の範囲を知りたいのですが?
656 主に扱う具体的なプログラム言語はどういったものなのでしょうか? また、仕事の内容&役割を大体のイメージでいいのでご説明願えませんか? お願いします。
659 :
nobodyさん :2006/05/11(木) 16:54:28 ID:+4sEHCe+
PHPで一言メールフォームのようなものを設置したいのですが sendmail機能(?)がありません。 WEB拍手のように、ページのすみに置き、WEB上で 送られた文章を読みたいのですが、どうしたらいいのですか? どうか教えてください スレが間違っているようなら誘導願います
>>659 鯖上にフォームから送られてきたデータを保存するだけじゃね?
PHPで $entry_data['body'] .= fgets($fp); こう言う式があるんだが、何が起きてるのかさっぱり分からない。 .=が複合演算子なのは分かるんだが…。 要は以下のような式なんだろうが、これが何を意味するの? $entry_data['body'] = $entry_data['body'].fgets($fp);
>>661 ファイルからゲットした一行を$entry_data['body']に追記してる
PHPで、改行コードのみだった場合に処理終了のコードを書きたいんだが if ($line == "^\n") {break;} これだと上手くいかない。 どこが違うんでしょうか?
アホだ。 preg_match使わないと出来るわけないなorz
解決おめw
>>658 内定決まった学生?
それはWebデザインに入るよ。でも基本は覚えておいて損はない。
Webプログラムと言っても特定の言語の知識量の比は小さくて
じきにDBだの各種サーバだのパフォーマンスだのといったことを勉強することになる。
デザインに寄ることもあると思う。
言語なら最初はPHPやらされる確率が高い。
668 :
nobodyさん :2006/05/12(金) 00:43:24 ID:E5xVMv2P
>>658 相手にたずねるときはご「説明願いませんか」という表現をかえたほうがいいかも。
669 :
nobodyさん :2006/05/12(金) 00:46:15 ID:+kkK2N/4
perl cgiスレの過去ログを見ていたんですが スクリプトを改造していく方法がいいとあったんですが ぐぐってみても それらしきものがでてきません perlでcgiを作っていく(?)と考えているんですが スクリプト置き場はないでしょうか? CGIでもPerlでもいいんでお願いします
日本語でお願いします
「Perlを勉強するにはスクリプトの改造から始めるといいと聞いたのですが、改造する元のデータはどこにあるのでしょうか?」 とてきとーに解釈。回答は 「”CGI ダウンロード”あたりのキーワードで検索して、掲示板とかそういうスクリプトをダウンロードする」 ちなみにPerlはプログラム言語の名前、CGIは(雑に言うと)それをネット越しに実行する仕組み。
672 :
669 :2006/05/12(金) 01:02:15 ID:r/3w5SK6
ありがとうございます 書いててなんかわからなくなってしまって迷惑かけました ありがとうございます
674 :
nobodyさん :2006/05/13(土) 02:32:01 ID:FszPxegp
これでテストしてたんだけど取得自体は出来てるけど
取得先urlが&があるのがいけないのか知らんけど取得先でエラーが帰ってくるんだけどどう修正したらいいの
#!/usr/local/bin/perl
#外部ファイルの取得方法
$url="
http://test/test.cgi?ACT=UPDATE&ID=test&PASS=test ";#ホームページのURLなどを設定できます
$res=get_url($url);
&html_head;
if($res == 1){
print "取得できませんでした";
}else{
print $res;
}
&html_foot;
exit;
sub get_url(){
my $url=$_[0];
my @a = `/usr/local/bin/wget -q -O - $url`;
if(@a){
my $data=join("",@a);
return $data;
}else{
return 0;
}
}
sub html_head(){
print "Content-type: text/html\n\n";
print "<html><body>";
}
sub html_foot(){
print "</body></html>";
}
スミマセン、さんざん探したのですがどの板かわからないので 誘導をお願いします・・・。 ・○○の機能が付いた○○型掲示板のフリーCGIを探しているのだけれど、 いいやつないですか? 質問内容がくだらなすぎて自分でも腹が立つんですけどil|li_| ̄|○il|li 良ければ誘導お願いします。
>>676 ありがとうございます。テンプレきちんとみます。
深夜にありがとうございました!
678 :
nobodyさん :2006/05/13(土) 12:37:31 ID:eMutp5nZ
すみません。初歩的なことなのですが、教えて下さい。 <br>と<br />は、何が違うのでしょうか? よく、本では<br />が使われていますが、私が<br>を使っても、 同じように改行されます。 一体、<br>と<br />は、何が違うのでしょうか? 初歩的な質問ですみませんが、宜しくお願い致します。
現在のHTML仕様ではタグはすべて閉じることが推奨されているから。
680 :
nobodyさん :2006/05/13(土) 13:20:21 ID:eMutp5nZ
>>679 >>678 です。ありがとうございます。それでは、推奨されている
というだけで、<br>を使っても何も問題なく改行される訳ですね。
>>680 HTML4.01の文法ならそれが正しい。
XHTML1.0なら全てのタグは閉じられる必要がある。
あとはHTMLのスレでよろ
682 :
nobodyさん :2006/05/13(土) 15:22:55 ID:eMutp5nZ
>>681 なるほど、XHTML1.0なら全てのタグは閉じられる必要がある
訳ですね。親切にありがとうございました。
>>674 全然読んでないけど、、
URLを括っているダブルクォートをシングルクォートに変更。
あとはエラーログでも見てくれ
>>683 エスケープさせるべき文字は無いから、関係無いだろ
&じゃないの?
↑目ん玉ひん剥いてよ〜く見てみろ
>>674 my @a = `/usr/local/bin/wget -q -O - '$url'`;
後はForbiddenとか出てないかチェックしれ
688 :
nobodyさん :2006/05/15(月) 16:38:59 ID:pJ8xjzo4
すみません質問させてください 2段認証をしようと考えているのですが まずはPHPのbasic認証、通過するとkentwebに置いてあるゲート認証をさせたいです 単体では動くのを確認しましたが連動させる事ができません 可能なのでしょうか?可能でしたらヒントでもいいのでお願いします
まずどういったエラーになるのかわからんからどうとも・・・
すみません上げてました エラーといいますかaaa.cgiにアクセスするとbasic認証をするようにcgiのhtmlヘッダ に<?php include_once("aaa.php"); ?>を追加しました php同士だと動きますが、cgiからは無理でしょうか エラーはないですが、ただ動かないだけです
#!/usr/bin/perl print "<?php include_once(\"aaa.php\"); ?>"; とか書いてそうな悪寒
それはないです htmlヘッダの最初にやりましたので
htmlヘッダの最初でどう「やりました」なのかを #!/usr/local/bin/perl print "Content-Type: text/html\n\n"; print '<?php include_once("aaa.php"); ?>', "\n"; # 691の前にContent-Type吐いてみた __END__ #!/usr/local/bin/perl -w use strict; header('<?php include_once("aaa.php"); ?>'); # 「ヘッダ」が強調されてるので関数借りてきた __END__ こんな風に示してみてください。
たしかに過程を書いて無かったですすみません 上記の通りにやって試してみたいと思います
695 :
nobodyさん :2006/05/16(火) 05:38:19 ID:eOBrSFhQ
ソース出さないでこんな質問するのもなんですが・・・・・ ブログにコメント機能をつけてみたのですが、 POSTで投稿させると二重投稿になってしまう人と普通に投稿できる人が出てきます。 どんな要因があるんでしょうか・・・・
>>690 PerlにPHP書いても動かないので無理
>>695 そりゃ二重投稿防止機能がちゃんと(もしくは意図に反して)機能してるからだろ
>>695 一部の糞ブラウザのバグで二重投稿になる場合があったと聞いた
チャット何かだと悲惨だったらしい
他にも
変な串は二重投稿すると聞いた
699 :
nobodyさん :2006/05/16(火) 12:20:37 ID:eOBrSFhQ
>>697 二重投稿防止機能つけてないはずなんです・・・・
でもソース追うときちんと書き込みは1度で済むようになっているようでした
>>698 やはりそういうこともあるんですね。
ありがとうございました
2重ログインを防ぐ方法って皆どうやって作ってます?
データの販売をやってるけど、うちでは ・初回のISP以外は弾く(ISP変更時は届出必要) (出来ることなら固定IPからの接続のみ) ・パスワードとは別に、ログイン毎に別のキーワードを設定 (他所でログインされるとそれが変更されるので多重ログイン不可となる) (上記メモ忘れでのキーワード再設定は郵送のみ&手数料発生) これぐらい厳しくやってる
cgi組むためにperlやってるんですが汚いプログラムしか書けなくて困ってます。 自分で作って自分が使ってバグは自分で直すって環境だと上達しにくいっぽいんですが 悪いプログラムの例とか、ここがこういう理由で悪いからこう直すべきだ、とか書いてある本とかでいいのないですか?
perlで綺麗なプログラムなんて無理ぽ
>>702 コテハンにして、2ちゃんで
ソースをさらしまくれば、、、
705 :
700 :2006/05/17(水) 08:12:43 ID:???
>>701 レスthx
参考になりました。ガチガチなんですね。
現状ではID/PWのみの運用になりそうなんです。
IP固定も今の段階では難しそう。
今のところ、ログイン状況を管理するテーブルを作って判断しようと考えています。
ただ正常にログアウトされなかった場合に、テーブルと実情が異なってくるのでそのあたりをどうしたものかと。
なんかいい方法無いですかね?
>cgi組むためにperlやってるんですが汚いプログラムしか書けなくて困ってます。 ああ、俺も同じだKENTから始めたから変な癖が抜けなくて只今修行中だよ 改造とか頼まれ物とかKENTを長年弄り過ぎて今でもKENT物の需要が多いから大変 perl5用に最適化してHTMLタグ回り最適化して変な箇所を直してのリハビリ中 KENTのスクリプトは色々と勉強になりますよマジで
KENTイラネ
オラもイラネ
要らないのは確かだが、反面教師という意味で勉強になるって書いたんじゃないの?
712 :
nobodyさん :2006/05/17(水) 22:23:28 ID:gAgtT6K7
すみません、どなたか教えてください。
OS:windowsXpに、apache_2.0.55-win32-x86-no_ssl.msi
をインストールしたものの
http://localhost/でアパッチの テストページが見れません。
一度apacheを落としてもういちど起動してみると
「各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートの・・・」
というエラーメッセージが出ます。
コマンドプロンプトでnetstatのコマンドを実行すると
以下のようになります。
Proto Local Address Foreign Address State
TCP sotec-xxxx:http localhost:1418 ESTABLISHED
TCP sotec-xxxx:1046 localhost:1047 ESTABLISHED
TCP sotec-xxxx:1047 localhost:1046 ESTABLISHED
TCP sotec-xxxx:1418 localhost:http ESTABLISHED
正直よくわかりません。何度も再インストールしては
出来ずに困っています。
80のポートがどこかと被っているのかとも
思ったのですが・・・。
すみませんがどなたか教えてください。
TCP sotec-xxxx:http localhost:1418 ESTABLISHED
Internal Server Errorが出る場合の原因はたくさんありますが、 主な原因を列挙して頂けないでしょうか。
・スクリプトのバグ
・文法ミス
717 :
712 :2006/05/18(木) 02:45:11 ID:9/gH8cYM
すみません、結局OS再インストールして apache入れなおしたところテストページが見れるようになりました。 原因は不明ですがお騒がせしましてすみません。 ありがとうございました。
?
あい&&rrlo;あい
あい&&rlo;うん おま&&rlo;ちょ
721 :
あい&lo;うん :2006/05/18(木) 04:19:02 ID:wyhzeHLP
あい&&rlo;うん おま&&rlo;ちょ
722 :
ええ :2006/05/18(木) 04:20:12 ID:???
あい&&rlo;うん おま&&rlo;ちょ
723 :
あい&rlo;あい :2006/05/18(木) 04:21:42 ID:wyhzeHLP
あい&&rrlo;うん おま&&rrlo;ちょ
724 :
あい&lo;うん :2006/05/18(木) 04:22:16 ID:wyhzeHLP
あい&rlo;うん おま&rlo;ちょ
あい&rlo;うん おま&rlo;ちょ
726 :
nobodyさん :2006/05/18(木) 17:22:46 ID:Ip4qBE+B
230行ほどのPerlスクリプトを勉強も兼ねて清書して貰うような事って出来ないでしょうか? 適切なスレ等あったら教えていただけると嬉しいです_ _
727 :
726 :2006/05/18(木) 17:23:41 ID:???
> 勉強も兼ねて すみません;処理やコードの最適化に加えて私の勉強も兼ねてということです;
728 :
726 :2006/05/18(木) 17:26:55 ID:???
すみません。スレを頭から読んだら適切なスレが
>>711 にありました。移動します〜。
729 :
nobodyさん :2006/05/21(日) 17:18:50 ID:f4/iJHIm
DBの内容をグラフで表示させるようなアプリを作りたいのですが フリーのグラフツールでよさげなものってありますか? こういうのはExcelで出来るのでしょうか? Excelの場合はWebサーバにExcelをインストールする必要があるのでしょうか? またクライアント側はExcelのビューアだけインストールしとけばよいのでしょうか? よろしくお願いします。
その時点のスキルで作るのは不可能
PerlのCPAN使えばExcelでやることも可能だが、 直接グラフの画像を生成してブラウザで表示した方が楽。
perlで質問があります。 名前<区切り文字>住所<区切り文字>年齢<区切り文字>… ・上のように区切られた要素をいくつも持つ配列を、名前、住所、年齢のそれぞれでソートするにはどうすればいいでしょうか? ・この配列名がlistだとして、 pen(OUT, "> out.txt"); print(OUT "@list"); close(OUT); とすると、1行目は上のような書式で出力されますが2行目以降は行頭に半角スペースがついてしまいます。何故でしょうか?
>>732 my @alldata;
while(<>){ # 配列ならforeach(@list){ とか
my %tmp;
@tmp{qw/name address age/} = split /<区切り文字>/;
push @alldata, \%tmp;
}
@sort_by_age = sort { $a->{age} <=> $b->{age} } @alldata; # 年齢でソート
行頭のスペースは"@list"とダブルクォートで括ってるから。
配列を文字列に展開するとき$"の値を挟む。(デフォルトが半角スペース)
print OUT @list;
>>733 参考になりました。ありがとうございました。
WebProgには正規表現スレ無いの? 前はあったと思うんだけど…。
正規表現スレはdat落ちだったか1000だったかになったっきりで次立ってない。
マ板にあるから立てなくていいよ
間違えたムだ
739 :
nobodyさん :2006/05/22(月) 20:03:38 ID:z8ioZ4h8
データベースを使った複数レスが可能な掲示板を作っているのですが、レスの部分をどうしたら良いのかがイマイチよく解りません。 レスの際に名前と本文のみを入力してもらう形をとりたいのですが、どうすればよいのでしょうか。 例えばresという列を作っておいて、カンマか何かで保存、という感じ良いのでしょうか。。
レスを返すときに、自分より前にレスしてる人の名前を入力欄にあらかじめ引用符付で表示してもいいんじゃないのかな
741 :
nobodyさん :2006/05/22(月) 20:29:01 ID:hfrnyMnD
IE7.0b2でwindow.open(〜,location=no)とやっても、 ロケーションバーが表示されてしまいます。 これを表示されなくする方法はありますでしょうか?
なんで7をつかうのかが理解できない。
あんな糞プラウザ使う意味がわかんない
糞ブラ以前にバグだらけの人柱版以下のバージョンの物で何をしているんだと
β → ゴミ リリース → 人柱 リリース後1年 → 人柱ちょっと安定版 リリース後3年 → 次のβ(ゴミ)リリース
つかβなんか使う時点でAHO
長文 An Httpd 1.42p を使って仮想サーバでテストしています。 ホームディレクトリはD:\www\home ライブラリとしてcgi-lib.plを使用 OS:Windows2000 フォームを使ってデータの受け渡し ↓ ID名.txt(中身はpass)を作成。 既にある場合は「あるよ」と表示。 といったcgiを作りたいのですが、 存在確認部分が飛ばされて&makeidのサブルーチンばかり実行されてファイルが上書き されてしまいます。 ファイルがある場合、if部分を実行し終了するにはどこをかえたらいいでしょうか? 以下ソース部分です。 require 'D:\Perl\site\lib\cgi-lib.pl'; &ReadParse(\%input); $mail = $input{'mail'}; $pass = $input{'pass'};
$check = '$mail.txt'; if (-e $check){ &sonzai } else{ &makeid } sub sonzai{ print "content-type:text/html\n\n"; print "<html><head><title>error</title></head><body>"; print "あるよ"; print "<a href='eshop.html'>戻る</a>"; print "</body></html>"; exit; } sub makeid{ open (FH,">$mail.txt"); print FH "$pass"; close(FH); print "content-type:text/html\n\n"; print "<html><head><title>succes</title></head><body>"; print "<html><body>"; print "<h3>ユーザー登録は受付られました。</h3><p>"; print "<a href='eshop.html>トップページへ戻る</a>"; print "</body></html>"; }
>>748 $check = '$mail.txt';
if (-e $check){
>>747 $mail = 'hoge';
print '$mail.txt', "\n";
print "$mail.txt", "\n";
751 :
739 :2006/05/23(火) 06:27:39 ID:CvJNHmQA
>>740 ん?私へのレスでしょうか。
私の質問はDBへの保存の仕方なのですが。。
私の勘違いでしたらすみません。。
>>739 レス用のテーブル作って放り込むだけ
表示はスレッドIDで選択する
>>752 なるほど。。
レスありがとうございます!
教えて頂いてからこんなことも解らなかったのかと自分のアホさ加減が見にしみましたorz
下らない質問にお答えいただきありがとうございました。
hogehoge
756 :
nobodyさん :2006/05/23(火) 19:32:13 ID:qSDLDYM7
あの質問です。 今、某HPではMP3のダウンロードを禁止するイベント機能を実装しようと しているのですが、なかなかうまくできません。 Javaスクリプトをいろいろ探っているのですが、どうすれば イベントを実装できるかがわからないのでプロの方ご指導のほど よろしくお願いします。なお、イベントのメッセージ内容は 『右クリックできません。ご了承ください。』と表示させたいので 教えてください><
757 :
nobodyさん :2006/05/23(火) 19:35:11 ID:qSDLDYM7
連続すみません、 要は、右クリックしたときに『対象をファイルに保存(A)』をクリックしたときに 『保存できません!!ご了承ください。』とイベントメッセージ(ダイアログ)を 出したいのでマジレスお願いします。 いろいろやってみたのですがまったくわからないんです・・・
759 :
nobodyさん :2006/05/23(火) 19:41:54 ID:qSDLDYM7
マジレスしてください!!
このままだとレアなファイルをダウンロードされてしまって危ないので
>>758 以外の方でマジレスお願いします!!
ああなんだ釣りか
761 :
nobodyさん :2006/05/23(火) 19:44:48 ID:qSDLDYM7
どなたかコーディング例があるサイトかなければ プロの方でよろしいのでコーディング内容をUPしてください!!
JavaScriptに関する釣りはWeb制作板でやってくれ。
763 :
nobodyさん :2006/05/23(火) 20:43:50 ID:CvJNHmQA
あのな、ウザイからマジレスするけど、js切ればダウンロード出来るから。
サーバーにファイルが置いてあり、そのファイル名が表示するページに記述されていれば ダウンロードを防ぐことは出来ません そのMP3をFLASHプレーヤーで再生してても同じ事です ダウンロードさせたくないならサーバーにファイルを置かない。 一部ユーザーにだけアクセスを許可したいなら認証を。
.htaccessで弾けばいいじゃない。 で、ダウンロード出来ませんよーって警告するページへジャンプ。 どっちにしろWebProgの範疇じゃないわな。
766 :
nobodyさん :2006/05/23(火) 21:15:35 ID:kD9jnH6+
曖昧な質問で申し訳ないんですが、、 webシステムのサイジングってどうやればよいんですかね? 推奨サーバ構成は・・・?とクライアントに聞かれて困っています。 広告配信システムで、 同時アクセス 200/秒 ←この数字が未知の世界なんです。 ほどは見込んでいます。 かなり重いです。サーバ運営に関しては素人なので、 困っています。最適なサーバ構成案ってどう作ればいいんでしょうか? バナー配信、アクセスカウントが特に重いので、そこだけ切り離して、 web/app(php)サーバ【バナー配信用】 web/app(php)サーバ【ユーザ転送・統計処理用】 databaseサーバ の3台構成かな、、、とか思うんですが、いかがでしょうか? 広告配信鯖は特に強い鯖を用意する必要があると思うのですが、 どの程度のマシンが最適でしょうか? どのように見積もればよいでしょうか? 一応テスト環境 (AMD Sempron2600 cpu 1.8G) にて、模擬プログラムをテストしたら、ロードアベレージ4ほどでした。 この手の問題は初めてですので、困っています。
PC1 - HTTP (Dual CPU構成+メモリ2GB+RAID5(IDEでOK)) PC2 - DB (Dual CPU構成+メモリ8GB+RAID5(U320 or SATA)) PC1とPC2はギガビットで結ぶ んでネットの回線はBフレッツをIP8で契約して、4本は同じドメイン割り当て PC1の不可が大きいなら PC1を2台用意、PC0をゲートウェイとしてリバースプロキシで。 もちろんギガビットで結ぶ んで、スレ違い ・・・俺のレスもだがorz
テスト用にブラウザからPOSTを投げたいのですが、HTMLを作ったりせず投げる 方法ってありませんか?
rakusuruna
つtelnet
Firefox の WebDeveloper 拡張みたいのってないんですかね
それのどこが WebProg に関係するんだ
Webアプリを作るのにPOSTを送ってテストとかしませんか? 私はものすごくよくやることだと思ってました
ソケット通信
>>773 例えば100通りのデータをPOSTするテストをするならプログラムを組むが、
掲示板作ったときに、わざわざ投稿用のプログラムを書いたりはしないぞ。
荒らしでもしたいのか?
Ajaxでも簡単にpostできるよ
>>775 荒しなんて暇なことはしないが、自分の作ったアプリをテストするためなら
そういうこともやるかもしれない
何をやっているかというとSOAPの通信をしていてサーバへ送るPOSTを色々
作りたいのだがクライアントのソースを毎回いじるのもどうかと思いまして
AJAXですが
よくわからないので
cURLも使えそうですかね
Ajaxがわからないってどんだけ素人やねん
>>777 スクリプト書いちゃったほうが早くない?
言語は分からないけど、ライブラリがあると思うよ。
POSTできるツールは様々あるけど、
小回りが利かないのがちょっとね。
すいませんが、教えてください。 今までperlでcgiを作成していたのですが、サーバからクライアントに プログラムをダウンロードさせて、通信しないと要件がみたせない 仕事が回ってきました。 ぱっと思いつくのは、JAVAアプレットやActiveXですが、JAVAアプレット は若干仕様から外れており、ActiveXは近年.netに変わってきていると 聞いています。現在のサーバからクライアントにプログラムをダウンロード させて動かす場合の主流を教えていただけないでしょうか? ちなみにサーバはapacheで、動くものでお願いします。 相手先がなぜかIIS嫌いなもので・・・。
>>780 クライアントでプログラムを実行するなら、Webサーバの種類は関係ないだろ。
それに、どういうことをやりたいのか教えてくれないと、何とも言えん。
FLASHやAjaxで出来るならこれらが楽だろうし、
音声通信とかなるとActiveXでも使わないと無理だと思う。
普通に GET なり POST で投げればいいだけかと んで、CGI から帰ってきた内容を処理するだけ 返すデータの書式は好きに決めちゃえばいい ,Net なら XML とか簡単扱えそうだし、楽なら XML でもいいかと思う
784 :
nobodyさん :2006/06/01(木) 17:13:35 ID:YyUdMfFf
困っていることがあるのでどなたか教えて下さい。 .htaccessや(恐らく)gethostが使えないサーバーを借りています。 ぶっちゃけるとinfo…もごもご…です。 しかし最近変な輩が現れ、荒らしに近い行為をしています。 荒らす対象のCGIコンテンツはIPで制限できるのですが、すぐにIPを変えられて困っています。 そいつのホストの後半部分は、いつも同じなので同一人物です。 ocnなので串はさしてないはずです。 長くなりましたが、そいつに対して完全にアクセス制限を加えるにはどうしたら良いでしょうか。 ホストで制限するCGI(.htaccessを除く)があればベストなのですが…。 ちなみにPHPは使えません。
785 × 764 ○ 784 間違えてスマソ
>>787 宣伝乙
流石はネ申KENT様にお仕えする僕だけだけあるな
787の使う板を脳内ハックしてKENT物と判断して布教するあたり凄すぎ!
この改造物を布教する信者さんが妙に多いが
尚、俺から言わせて貰えば、こんな無駄に過剰な屑を使う必要は無いし人に聞くレベルの奴に勧める物でもない
また、787は何かしらのスクリプトでのipを弾く事を聞きたいらしいのにこの回答って
リンク以外は787→784の間違いだな
790 :
784 :2006/06/01(木) 18:26:20 ID:???
>>785 ありがとうございます。
簡易プロキシーチェックは特定のホストを通すように作られていますが、
これを特定のホストからのアクセスをはじくように設定したいんです。
お手数ですがもう一度ご教授願えないでしょうか。
まずIPを10進数に変換する 荒らしのIPが111.222.333.444の場合 (111*256*256*256)+(222*256*256)+(333*256*256)+444=10進数にされたIP (ちょっとズレがあるかもしれないけど、ブロードキャスト、ネットワークを考えると問題ないかな?) 該当するIPのホスト名をnslookupで引き、ホスト名を調べる ひたすらnslookupしてIPの範囲を得る 得たIPも10進数にする あとは荒らしのIPが範囲内にあるかどうかで、そいつかどうかあるていどは判別できる うちは同じ方法で岐阜OCNを排除してます
>>791 正しい範囲のIPアドレスを例に挙げようぜ。
793 :
787 :2006/06/01(木) 19:07:39 ID:???
>>787 >>788 頭大丈夫か?
ぐぐっただけでそのサイトをよく見ないでリンクをはっただけが
お前の腐った脳内の変換も恐ろしいものがあるな
というかocnって正規表現で弾けばいいだけの話じゃないのか?
marunouchi.tokyo.ocn.ne.jp みたいの弾くだけだろ?
794 :
784 :2006/06/01(木) 19:17:41 ID:???
えっとですね、hodogaya.kanagawa.ocn.ne.jpを弾ければ良いのですが、
サーバーのせいか、IPでは弾けてホストでは弾けないんです。
それを踏まえて
>>791 さんは説明してくれたんだと思います。
でも、(333*256*256)は(333*256)のような気が…。
ググりましたがnslookupというのがよく分かりません。
ホスト⇔IPはどこか(場所忘れました)でDLしたホスト変換ソフトでできます。
IPの範囲を調べるにはどうすれば良いのでしょうか。
>794 あっ、指摘どうもwww nslookupで p*-ipad12hodogaya.kanagawa.ocn.ne.jp の IP を引く たとえば 219.160.95.1xx が出てきたら 219.160.95.1 とか 219.160.94.1 とかして nslookupで引いてhodogaya.kanagawa.ocn.ne.jpが出てこなくなる境界を探す こうやってIPの下限と上限を調べたのが hodogaya.kanagawa.ocn.ne.jp 219.160.89.0-219.160.96.255 です。
>>794 nslookupはDOSコマンドだということは
わかってるんだよね?
巨大ISPはIPの範囲がでかい上にIPの範囲とかISPの公開してないから面倒臭いですね。 どこかに対応表とか無いのかしらん?
gethostbyaddr()で引いて /\.hodogaya\.kanagawa\.ocn\.ne\.jp$/ でポン、 ではダメなの?
799 :
784 :2006/06/01(木) 19:38:45 ID:???
>>795 なるほど、少し変えていけば良かったんですね。
こんな簡単なことも分からないとはorz
ちなみに60.33.***.***なんてIPでもあったので…莫大な量になっちゃいそうですね。
>>796 すみません、それはググって分かったのですが、DOSコマンドが何かということまでは…。
参考までに使っているCGIのアクセス制限を行っている部分です。
infoseekではgethostが使えないと聞いたことがありますが、そのせいでしょうか。
もしホストでも制限できればそれが一番早いので…。
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if($host eq "" || $host eq "$addr"){
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
if($host eq ""){ $host = $addr; }
}
if($host eq ""){ &error("ホストが取得できませんでした"); }
foreach(@badhost){
if($_ && $host =~ /$_$/i){ &error("$host アクセス禁止!"); }
}
配列に 219.160.89.0-219.160.96.255 0.33.xxx.xxx-0.3x.xxx.xxx を入れてぶん回せばOKやよ
801 :
784 :2006/06/01(木) 20:07:03 ID:???
自分でプログラム組めるほど知識はないですが、 なんとか頑張ってみようと思います。 皆さん、初心者にあれこれと教えていただき有難うございましたm( _ _ )m
>>784 @badhostに'219\.160\.(89|9[0-6])\.[0-9]+'を入れてみれ。
あと、host引くところはこんな感じがいい。
$host = $ENV{REMOTE_HOST} ||
gethostbyaddr(pack('C4', split(/\./, $ENV{REMOTE_ADDR})), 2) ||
$ENV{REMOTE_ADDR};
[0-9]+ は 0..xx って書いておいたほうが書式は楽かも 正規表現を知ってるなら[0-9]+でもいいですが
>>802 その代入だと0か1しかはいらんだろ。
$host = $ENV{'REMOTE_HOST'} ? $ENV{'REMOTE_HOST'} : (($tmp = gethostbyaddr(pack('C4', split(/\./, $ENV{'REMOTE_ADDR'})), 2)) == $ENV{'REMOTE_ADDR'}) : $tmp);
未確認
>804 gethostby〜が使えないかもってことなので、それじゃぁだめでしょ
806 :
802 :2006/06/01(木) 21:12:31 ID:???
>>804 がんばってPerlを勉強しようね。
ファイト!
>>805 確認してなかったから
>>804 は文法的にも違ってたな。
$host = $ENV{'REMOTE_HOST'} && $ENV{'REMOTE_HOST'} ne $ENV{'REMOTE_ADDR'} ? $ENV{'REMOTE_HOST'} : ((($tmp = gethostbyaddr(pack('C4', split(/\./, $ENV{'REMOTE_ADDR'})), 2)) ne $ENV{'REMOTE_ADDR'}) ? $tmp : $ENV{'REMOTE_ADDR'});
これは検証済み。
>>806 お生憎様、俺はPHPをメインに使ってる
詰めが甘いな自分。 ? $tmpの前に$tmp入れないとgethostby関数が使えないときの判定が出来てないじゃないか。
無理して1行に収めなくてもいいジャマイカ 可視性に劣る
811 :
802 :2006/06/01(木) 21:43:17 ID:???
>>807 Perlの質問なんだが。
たとえば、
print(0 || 100);
というコードは
Perlでは100がプリントされる。
PHPは1だがな。
> その代入だと0か1しかはいらんだろ。
Perlの知らないのなら回答するなよ。
ASP.NET による開発で、イントラアプリでブラウザは IE と決まっているとしたら クライアントサイドのコードを VBScript で書くか JavaScript で書くかは 何を基準に決めますか?
>>811 解説トン。あとすまんかった。
一応俺の回答もPerlなんだけどな。
好み
815 :
nobodyさん :2006/06/01(木) 22:10:34 ID:w2vlV0pQ
linux+PHP5+ポスグレの簡単なシステムなんですが、 enterキー押すとフォームボタンの「次へ」押したのと同じ効果になって、 次ページに進んでしまいますが、これを回避(enter押しても何もおこらない) する方法はないんでしょうか?
それはブラウザの問題かと
>815 つ【JavaScript】
ホスト名取得 - 一時変数使わないバージョン $host = !$ENV{'REMOTE_HOST'}||$ENV{'REMOTE_HOST'}eq$ENV{'REMOTE_ADDR'}?gethostbyaddr(pack('C4',split(/\./,$ENV{'REMOTE_ADDR'})),2)||$ENV{'REMOTE_ADDR'}:$ENV{'REMOTE_HOST'};
粘着しつこい
俺じゃねぇ
821 :
815 :2006/06/01(木) 22:44:22 ID:???
微妙に自己解決しましたすんまそん
822 :
nobodyさん :2006/06/02(金) 01:10:45 ID:eQAHAE10
823 :
nobodyさん :2006/06/02(金) 14:02:06 ID:7RcXeZ7K
php可の無料レンタルサーバでphpスクリプトのblogを置こうとしてます。 セットアップの段階でつまづいてるんですが、そのスクリプトのフォーラムで調べていたら 同じような報告があってその方達は「php-mysqlパッケージを入れたら大丈夫だった」とありました。 この「php-mysql」というのは、サーバ管理側が入れるべきブツなんでしょうか? お手柔らかにおねがいします。。
824 :
787 :2006/06/02(金) 15:22:58 ID:???
>>823 レンタルサーバで普通そんなもの入れられない
別の問題だろ
ぐぐれ
php-mysqlを使って解決した人たちは、恐らく無料じゃないサーバーかと思われ
826 :
nobodyさん :2006/06/02(金) 17:28:43 ID:7RcXeZ7K
827 :
nobodyさん :2006/06/04(日) 18:38:33 ID:yRKGv8r9
全くの初心者です。 「ブログランキング」を作りたいのですが、 どんな本を読んで勉強すればよいのでしょうか?
829 :
nobodyさん :2006/06/05(月) 23:53:21 ID:LC+WF7z4
以下のhtmlでファイルを選択しサブミットした場合の HTTPリクエストの内容はどのようになりますか? どなたか教えてください。 <html> <body> <form enctype="multipart/form-data" action="○○" method="POST"> <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> </body> </html>
831 :
nobodyさん :2006/06/06(火) 03:47:47 ID:Qw8MDfhy
http://tinymce.moxiecode.com/ tinyMCEの機能を最低限にした感じのwysiwygのエディタを作ろうと思っています。
textareaの中に色々なフォントサイズ、色の文章を入れたいのですが、
調べてみた限り、textarea内全ての文字を同じ色、同じ文字サイズにすることは
できても、tinyMCEのように一部だけ、というのは見つかりませんでした。
これはどのようにすればできるんでしょうか?
よろしくお願いいたします。
>>831 ここのソースが参考になるんじゃないかな
ヒント:選択範囲のスタート位置と長さ
834 :
831 :2006/06/06(火) 10:39:08 ID:Qw8MDfhy
>>832 すみません、ここ、ってのはこのスレッドでしょうか?
>>833 もう少しヒントお願いします…
>834 >831が言いたいのは、 「ソースが見れる形で配布されてるんだから、それを見ればいいんじゃね?」 ってことかと思われ
変数が$だったりコメントが//や#だったりする場合が多いのは、 むかーしむかし誰かが決めたことなんですか?
それは環境によって違うことだが、それらのルールは作った人、作ったコミュによって決められる 大概は先に発表されてる言語が参考にされるので、今後発表される言語で変数が&aとか)aとかになることは無いでしょう あったらすげぇけど
<?php $data[1]="でーた1"; $data[5]="でーた3"; $data[3]="でーた2"; if ($_SERVER["REQUEST_METHOD"]=="POST"){ $sel=$_POST['sel']; if (isset($_POST['submit'])){ switch($sel){ case "1"://キーで数値昇順ソート ksort($data,SORT_NUMERIC); break; case "2"://値で文字列昇順ソート asort($data,SORT_STRING); break; case "3"://デフォルト sort($data,SORT_REGULAR); break; default: sort($data,SORT_REGULAR); break; } } } ?> HTMLにあるボタンで「デフォルト」を選択しても初期表示に戻りません。 今日配列並び替えを始めたばかりのトーシロですが、よろしくお願いします。
http://pc8.2ch.net/test/read.cgi/php/1003655679/から誘導されてきました 。
以下質問です。
環境など
・Mac osX 10.3
・MAMP
・スキルは辛うじてphpで掲示板を作れる程度の初心者
・データベースについては全くの無知
・参考図書「PHP5であなたもウェブアプリが作れる!」
作業 SQLiteを使った日記帳を作る(参考図書の5章)
問題 create tableでテーブル作成できない。しかし何故か空ファイルは出来る
質問
MAMPにはSQLiteが入っていますが、
直接命令する際に必要な作業等があるのでしょうか。
よろしくお願いします。
>>840 あらかじめデータベースファイルを作っておいてパーミッションを666にしておく
>>837 変数の$はshから、//コメントはC++から広まったものだと思う。
スクリプト言語のコメントで#が多いのについては、想像だけど
shebangが#!だから#をコメントにしておくと都合が良い、と言う理由じゃないかな。
明確なソースがあるわけじゃないんで、あんまり信じないで参考程度に捉えとくれ。
843 :
nobodyさん :2006/06/08(木) 21:18:45 ID:iBH9Xn1C
チャットについての質問です。 フレームを使わずにチャットを実現するのは一応可能だとは思いますが、 いわゆるノンフレームの場合はページ全体を再読み込みさせるので重いですよね。 サーバにも負荷がかかりますし。 で、理想としてはページ内の一部だけ自動更新できるといいなと思ったのですが、 現状の技術ではそれが可能な方法はないでしょうか。 言語はperlを少しかじった程度です。
AjaxかFlashかJavaアプレット。
846 :
nobodyさん :2006/06/08(木) 23:19:30 ID:TNHjTFJ5
前までASP+MySQLでサイトを作ってたんですが ASPはうんこだということに最近気づきました。 PerlかPHPでDBサイトを作りたいんですけど今から新しく始めるには どちらを勉強したほうがお得でしょうか?
847 :
nobodyさん :2006/06/09(金) 00:12:27 ID:tGBUi+7t
>>846 うんこちゃんはうんこでもすって寝ときなさい。
DBならJavaかPHPをどうぞ
851 :
843 :2006/06/09(金) 09:45:40 ID:E3whWTAs
>>844-845 ajaxですか。ちょっと概要を見てきました。
XMLとjsの知識があればできるとのことですが、HTML4.0strictとcssで作ってるサイト
なのでXMLを勉強しないといけなさそうですね。
非同期というのがミソなようで、面白そうですが、ちょっと時間がかかりそうですね。
習得するまでに。1週間はかかりそうです。
javaaplet,flashもやったことないので結局同じくらいかかりそうですが。
>>849-850 iframeですか。これなら結構すんなりとできそうです。
でも一つ問題があるのですが、縦スクロールが必要なページな場合
iframeだとチャット部分が見えなくなる可能性もありますよね。
訪問者が自分のサイトのどこのページを見てるか追跡して、
読んでるだろう相手にリアルタイムで話かけようと思ってるんです。
そうすると・・・
う〜ん。とりあえずiframeで作り上げておいて、のちのち他のも勉強してみるのがいいのかな。
852 :
843 :2006/06/09(金) 11:39:13 ID:E3whWTAs
toriaezuzasetusimasita orz
sakuraレンタルサーバでメール送信cgiを使いたいのですがどうしても500エラーが出てしまいます。
ffftpのアスキーモードで送信、パーミッションは755にしてあります。
jcode.plは最新版を同じフォルダに入れてあります。
ご指南お願いいたします。
#!/usr/bin/perl
$mailer = '/usr/sbin/sendmail';
$mlfr = '
[email protected] ';
$mlto = '
[email protected] ';
$mlsb = 'title';
$mlms = 'てすとメッセージです。';
require "./jcode.pl";
jcode'convert(*mlsb, "jis");
jcode'convert(*mlms, "jis");
$mlhd = "From: $mlfr" . "\n" . "To: $mlto" . "\n" . "Subject: $mlsb" . "\n\n";
open(MAIL, "| $mailer -f $mlfr -t $mlto" )
print MAIL "$mlhd";
print MAIL "$mlms";
close(MAIL);
print 'メール送信正常に処理しました。';
ちょっと質問させていただきます。 とあるHPを運営してるのですが、ツールなどによるファイルのぶっこ 抜きというかファイル情報を一括で取得されて一気にDLされるのを 回避したいのですが、それに対応する命令文がわかりません。 どういう命令文をつければいいのでしょうか。 各UPロダや画像掲示板等で使ってるとは思うのですが。 これをコピペすればOKでもいいですし、ココにいけば詳しく乗ってるよ って言うことでもかまいません。
セッションを張る HTML、CGI以外へのアクセスはリファラ必須 でも公開されている以上防げない やりようによっては可能だが、鯖負担が尋常じゃなくなる
856 :
854 :2006/06/09(金) 19:51:08 ID:???
>>855 ありがとうございます。
少しセッション、リファラ等の単語で調べていたら
.htaccessを使う方法が簡単そうなので、それを使ってみたいと思います。
857 :
nobodyさん :2006/06/09(金) 22:31:50 ID:pSLu0Oz7
質問なんだけど、 if ($hoge) { $i == 1 || $i == 3 || $i == 4 || $i == 10 || $i == 15 } これをもっと整理するような書き方があったら教えてください。 { $i == 1 || 3 || 4 || 10 || 15 } これでいいかなぁとやってみたら全然ダメだったので ポケットリファレンスで当たったんだけど、どうも引き方が良くないせいか見つからず。 よろしくです。
859 :
nobodyさん :2006/06/09(金) 22:44:24 ID:pSLu0Oz7
ごめん、なにを勘違いしたのが馬鹿な間違いしちゃった。 正しくは、 if ($hoge && $i == 1 || $i == 3 || $i == 4 || $i == 10 || $i == 15) { $x = 1; } ということで。
どの言語か知らんが switch 使えば
861 :
nobodyさん :2006/06/09(金) 23:00:09 ID:pSLu0Oz7
perlです。
>>861 これ↓でどうだろう?
if ($hoge && $i =~ /1|3|4|10|15/ ) { $x = 1; }
>>862 それだと $i = 1341015; でも通る罠
>>862 if ($hoge && $i =~ /^(?:1|3|4|10|15)$/ ) { $x = 1; }
だよな?
確かに正規表現使うと短く書けるけど、効率は数値比較に比べてとても悪いよ。
だから
>>859 で良いんじゃないかな。
866 :
nobodyさん :2006/06/09(金) 23:41:24 ID:pSLu0Oz7
なるほど、元のままのほうが効率がいいんですね。 お手数をかけさせて申し訳ありませんでした。 ありがとうでした。
そもそも >if ($hoge && $i == 1 || $i == 3 || $i == 4 || $i == 10 || $i == 15) { $x = 1; } こんなのが必要になる時点でなんか間違ってるんじゃね? 機能(エラー処理?)増やすたびに $i == 20 || $i == 30 || ... になるとしたらダメダメじゃん。
なんだもう終わってたのか。。。
>>868 ああ、もう少しばかり早く来るべきだったな。
しかし
>>859 みたいな条件を使うようなら全部統一の処理(エラー)ナンバーにすればいいよな。
あとは if ($hoge && grep $_ == $i, qw(1 3 4 10 15)) { $x = 1; } とか。
switch文も使えるけどね。 use Switch; switch ($i) { case [1,3,4,10,15] { $x = 1 if($hoge); } }
use Swithなんてもんあったのか (*´Д`)<ありがとうおともだち
873 :
nobodyさん :2006/06/10(土) 13:48:34 ID:AlN5ixSM
リンクの onclick でクッキーをセットしたいのですが、 firefox では上手くいって、IE,Opera ではうまくいかないんですけど 既知の問題なのでしょうか?コードはこんな感じです。 setClientInfo() で、クリック字にクッキーにクライアントの画面解像度が セットされて、呼び出したCGI(hoge.cgi)でその値が取得できると嬉しいのですが Firefox 以外では上手くいきません(要リロード)。 --- html ---- <a href = "hogehoge.cgi" onclick="setClientInfo();">link</a> --- javascript --- function setCookie (name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) + (expires ? "; expires=" + expires : "") + (path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "secure" : ""); document.cookie = curCookie; } function setClientInfo() { SetCookie( "screen_width" , screen.width ); }
874 :
nobodyさん :2006/06/10(土) 15:29:56 ID:+aR8vdDY
htmlとshtmlの違いは何でしょうか? shtmlにしないとSSIディレクティブはできないんでしょうか??
876 :
874 :2006/06/10(土) 15:54:14 ID:+aR8vdDY
あとSHTMLをプラウザで表示できるんでしょうか?? HTMLのデータに変換する必要はないんでしょうか?? お願いします
877 :
874 :2006/06/10(土) 15:59:41 ID:+aR8vdDY
うおぉかぶってしまってすみません どうもPerlスレでは失礼しまし ふむふむ なるほどありがとうございます
>>876 その質問から察するに君はSSIとは何なのか、を解ってないのではないかな。
SSIはServer Side Includeの略、つまりサーバ側でHTMLの中に何かを埋め込む機能。
ブラウザが受信するときには、既にSSIが変換を終えているわけであって、単なるHTMLになっている。
もっとも、SSIの構文はHTMLのコメントを利用したものだから、
SSIを仕込んだHTMLファイルがHTMLでは無いと言うわけではない。
879 :
874 :2006/06/10(土) 16:31:35 ID:+aR8vdDY
はい
今日SSIとshtmlという存在を知った初心者です
本読んでも分からなかったんでぐぐってみているんですが
いまいち分からないんです
本についているshtmlのファイルはメモ帳で開けるようになっているもんですから
htmlに組み込むかと思っていたら
本ではなぜかhtmlとそのファイルの拡張子が変わっていたり
さっぱりわからなくなっているところでした
ちょっと質問させてください
3−5.shtmlというデータなんですが
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>SSIあくせすかうんたー</title></head>
<body>
<p>あなたは……
<!--#exec cgi="3-5.cgi" -->番目の訪問者です。</p>
</body>
</html>
これが基礎になるページですよね??3-5.cgiを呼び 3-5.cgiのデータを上のshtmlに渡すわけですよね
プラウザに表示されるのは3-5.shtmlなんですよね??でも本から得たデータだとメモ帳のまま
つまりデータとしてなんですが
これがプラウザで表示されるってことですか??
>>875 さんが言うように
880 :
874 :2006/06/10(土) 16:34:14 ID:+aR8vdDY
つまりSSIとは何も行動をとらなくても 表示される という感じですよね?? アクセスログのような役目をするわけで でそれを実行させるためには多くはshtmlで htmlでもできる ってことですよね サーバーの許可とかもありますけど こんな感じでしょうか??
shtmlなんて、鯖の管理者が勝手に決めた拡張子。 その鯖で、shtmlになんか意味を持たせるように設定してあるだけ。 他の鯖では通用しない。
>880 > つまりSSIとは何も行動をとらなくても > 表示される という感じですよね?? 違います。おっと、閲覧する側からするとこれで正しいのか。 まあ、とりあえずshtmlファイルへのアクセスはしないとな。 > アクセスログのような役目をするわけで 違います。組み込むもの次第でいろんなことができます。 > でそれを実行させるためには多くはshtmlで > htmlでもできる ってことですよね サーバあるいは.htaccessの設定次第で可能です。
883 :
874 :2006/06/10(土) 20:20:12 ID:+aR8vdDY
むむ・・・分からなくなってきた すみません 何度も何度も 下のような3−5.htmlというデータがあるとしたら SSIはできるんでしょうか?? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>SSIあくせすかうんたー</title></head> <body> <p>あなたは…… <!--#exec cgi="3-5.cgi" -->番目の訪問者です。</p> </body> </html>
884 :
nobodyさん :2006/06/10(土) 23:45:17 ID:8BZXLACD
転職サイトの登録データを書き換える仕組みを、 下記のように想像していますが、間違って無いですか? 1・入力画面に入力、送信ボタンを押す 2・サーバにて、cgiプログラムが起動し、入力されたデータがサーバの会員データベースへ書き込まれる 3・書き換えたあとのデータが、ユーザーPCのブラウザ画面に反映される 他に何かあればフォローください
>883 だから鯖か.htaccessの設定次第だっつの もっと知識つけてから来い
>884 おおまかにはそんなもん。 細かいこと言えば ・サーバで起動するのは'cgi'とは限らない。サーブレットかもしらんし、もっと別のものってこともある ・通常は1. 2.それぞれの段階で「変なデータを入力されていないか、必須の項目が漏れてないか」等チェックする ・書き換えた後のデータを3.で必ず表示するとは限らない(「更新完了しました」のメッセージだけってこともありうる) とか。
887 :
nobodyさん :2006/06/11(日) 11:42:25 ID:E5bWfGtE
ユーザーPCに保存されている履歴データをサーバにUPするゲームがたまにありますが その処理の流れについて以下のように考えています。 1・「サーバにUPする」をクリック 2・データが、ユーザー履歴フォルダから、引数としてどこかへ転記される 3・データが、(転記された場所から)サーバへ送られる 2のとき、ユーザーの履歴フォルダから直接サーバーに送るのではなく 「一回どこかに転記される」ことがこの処理のキモらしいんですが それが「どこ」なのか見当もつきません、、、 見当がつくかた、どうか教えてください!!
質問させていただきます。 GoogleMapsみたいなAPIを、はてなとかAmazonとかいろいろなところが公開するようになってきましたが、 そのような公開されているAPIの一覧を掲載しているサイトはありませんでしょうか? 「Web API」「API一覧」とかで探しても見つからなかったので。 ご存知でしたらご教授ください。
・・・ここ、お手軽に質問のできるスレとしてどっかで紹介でもされたのか?
初心者板だから調べてなくても聞こうってのがね… とりあえず俺みたいに本読んでぐぐってから質問しにこい
プログラム板で質問したところ、こちらの板が適切という誘導を受けましたので、
こちらで質問させてください。
ネットの自動巡回作業をしてくれるソフトと言えば良いのでしょうか。
サイトへのログイン作業から、サイト上の指定された部分の情報収集までを
プログラムで自動処理し保存する、といったソフトを作りたいと思っています。
何か分かりやすく具体例を挙げようと思ったのですが、
WWWC
ttp://www.nakka.com/wwwc/ Amazonアラーム
ttp://www.forest.impress.co.jp/article/2005/10/11/amazonalert.html 上記のソフトくらいしか思いつかなくて。
ですが、少し自分のイメージするものとは違っている気がします。
動作を例えるなら、(現物を実際に見たことはないのですが、)今年正月に
2ちゃんで楽天ポイント騒動があった際、誰かが自動アカウント取得ソフトを
作成したそうですが、それと同じような動き(指定された枠に自動で単語を入力し、
ボタンを押して出てきたデータを取得)をさせたいと考えています。
このような場合、どのようなプログラム言語が適しているのでしょうか?
プログラム板では、「ネットの知識が大事」と言われたのですが。
例えば、『VC++に加えて、ネットワークのこの分野の知識必要』
といった感じで教えていただけると助かります。
>>893 言語のほかに必要な知識は3つ。
HTTP(特にレスポンスヘッダ), HTML, 正規表現。
あとのコアな部分は大体ライブラリでなんとかなるはずだ。
>>894 ありがとうございます。そのキーワードを手がかりに調べていきたいと思います。
言語なのですが、先に言われたとおり、どのような言語でも構わないのでしょうか?
本屋で調べたところ、Perlの本に私が求めているのと少しだけ被る項目が載っていて。
でもPerlと限らず、見てくれ重視するのであればVC++など、そこら辺は
好きに考えておいて良いのでしょうか?
サーバサイドで作りたいのかクライアントサイドで作りたいのかハッキリしろ。
897 :
nobodyさん :2006/06/11(日) 22:48:24 ID:VfCiBlFC
>>887 もいちおう、しらべた結果なのです・・・
申し訳ありませんが、、、、どうかよろしくお願いいたします、、、
>>897 >>887 のゲームとは具体的にどういうもの?見当がつかない。できればURLを。
履歴アップロードするなんて聞いたこと無いからクッキーに保存かなんかでやってるんじゃないの?
本当に履歴(これも何の履歴だかわからんのでどういうものか説明頼む。IEの履歴か?)をアップロードしてるの?
俺が無知なだけ?
単なるファイルアップロードと違うの? 確かに一度、サーバ側のファイルにupされるけど。
900 :
nobodyさん :2006/06/11(日) 23:51:38 ID:n7OH9kjo
PHP5.0.3、MacOSX10.3で動かしてます。 マニュアルを読みましたが分からないので質問させてください。 $namedata=array(array("のび","のびた"),array("みなもと","しずか"),array("ほねかわ","すねお")); という配列があるとき、 "みなもと"という情報(だけ)からarray("みなもと","しずか")のキー(1)を取得するにはどうすればいいのですか? array_search()ではうまく動作しないのですが・・
>>900 うーん…情報が少なすぎてなんともなあ…とりあえず俺の質問に答えてくれ。わかるかもしれんから。
・アップロードはブラウザ上でやるの?それとも専用ソフト上で?(「サーバにUPする」を押す画面が出るところはどこ?)
・アップロードはどういう形でやるの?(単純にボタンを押すだけなのか何か入力するのか)
・履歴って何の履歴?(ゲームの履歴でいいんだよね?)
・シリアル番号入力するみたいだけどそれはどういうもので(不変か変化するか)なにに使われるのか
ページ見た限りではシリアル番号で登録するみたいだけど…
ってかあんたは何がしたいのよ?ブラウザ上でやるならシリアル番号で管理してるだけだと思うし、
サーバーにUPする画面がソフトからなら特殊な通信してるかもしれないし…
そもそもシリアル番号が不変なのか変化するのかもわからないし。俺もって無いから。
ブラウザ上でやるなら基本は[クライアント]→情報→[サーバ]じゃないの?
引数としてどこかに渡すってのはブラウザでやるならデータは鯖のCGIに渡されるはずだよ。
どこかに転記されるとは聞いたこと無い。専用ソフトが情報を送信するなら転記されるかどうかはわからんけど。
>ユーザーPCからアップロードするまでの処理は、
>URLが無いのでご紹介できませんが
ってことはやっぱり専用ソフト上で送信するの?それだとちょっとわかんないなあ…
それだとモニタリングして何がどう動いてるのか見てみたらとしかいえない。
もう寝る。また明日来るからそれまでに詳しい情報を書き込んどいてくれ。
>>900 つまり最終目的は何?
最終目的が処理手順を正確に知る事ならページ変移毎にスクリーンショットを張るべき。
その書き込みだけじゃ色々な可能性が推察される。
904 :
nobodyさん :2006/06/12(月) 01:58:02 ID:b87OUnxf
900>902 >・アップロードはブラウザ上でやるの?それとも専用ソフト上で?(「サーバにUPする」を押す画面が出るところはどこ?) >>ユーザーPCからアップロードするまでの処理は、 >>URLが無いのでご紹介できませんが >ってことはやっぱり専用ソフト上で送信するの?それだとちょっとわかんないなあ… 専用ソフトです。が、そのソフトを起動するまえに、接続しておく必要があります なので実質どちらで行われるか、ちょっとわかりません・・・ >アップロードはどういう形でやるの?(単純にボタンを押すだけなのか何か入力するのか) ボタンを押すだけです >・履歴って何の履歴?(ゲームの履歴でいいんだよね?) ご推察のとおりです >・シリアル番号入力するみたいだけどそれはどういうもので(不変か変化するか)なにに使われるのか 不変です。ユーザーを区別するためだと思います ってかあんたは何がしたいのよ? >どういう仕組みでUPされるのか知りたいだけなのです、スミマセン。。。 どうか、続きをお願いいたします・・・
パケットモニタでモニタリングしろよ。 特殊な環境ならともかくそんなんならどうやったって出来るだろ。 通信方法でも解析して改ざんしたデータでも潜り込ませたいのかしら。
>>895 Perlだと結構簡単にログインツールとか作れるよ。Perl Socket POSTでググってみ。
まあ企業とかちゃんとしてるところの自動ログインはそう簡単に出来るものじゃないけどね。
あとPOSTするときの文字コード(EUCとか)にも気をつけろ。俺はそれで一回はまった。
C++とかで本格的にツールにしたいんだったらWinsockみたいなインターネット通信用のモジュールを勉強してみたら?
>>904 大体わかった。専用のソフト上で通信するということは通信の仕組みを知りたいなら
>>905 さんの言ってるようにパケットモニタリングとかで解析してみればいいと思うよ。
どこかに転記されるというのはディスクを監視してみたら?もしかしたら転記はされて無いかもだけど。
サーバーサイドに転記されてるとしたら知る方法が無いけどね。
パケットモニタリングをするときは、サービスの契約条項を確認してね。 解析不可とかよくあるでしょ。
908 :
901 :2006/06/14(水) 21:07:30 ID:???
>>908 2日も回答待つより自分でも考えようよ…。
配列をループで回して一個ずつハッシュキー引いて調べるとかさ。
>>901 こんばんわ、PHPの下らねぇ質問スレから出張して来ますた。
<?php
$namedata=array(
array("のび", "のびた"), // 0
array("みなもと", "しずか"), // 1
array("ほねかわ", "すねお"), // 2
array("みなもと", "よりとも"), // 3
array("みなとも", "もなみと"), // 4
array("みなもと", "みなもと") // 5
);
$search = "みなもと"; // サーチワード(上の例では1,3,5に含まれている)
foreach ($namedata as $key => $array) { // $namedata の中の各配列に対して
if (array_search($search, $array) !== FALSE) { // $search があるかをチェック
print $key; // あったら $namedata のキーを表示
}
}
?>
簡単に説明すると
>>901 の例では $namedata[1][0] が "みなもと" であるため
array_search() の返り値が "0" になります。
if (array_search($search, $array)) {
や
if (array_search($search, $array) != FALSE) {
と書いたのでは if (0) が if (FALSE) と見なされてしまうので動かないわけです。
詳しくは以下のページの一番下の警告を参照して下さい。
http://php.s3.to/man/function.array-search.html
911 :
nobodyさん :2006/06/15(木) 17:19:17 ID:8xqIu+qp
複数のサーバーで使うバッチ処理用のPerlスクリプトがあるのですが、 自分が実行されているサーバーのIPアドレスを知るにはどうすれば よいでしょうか。 今は1つのサーバーに$ENV{REMOTE_ADDR}を返すだけのCGIを置いて LWP::Simpleで取ってきているのですが、そんなことをせずに調べられる 方法があれば教えて下さい。 よろしくお願いします。
$ENV{SERVER_ADDR} で取れません?
913 :
911 :2006/06/15(木) 19:18:05 ID:???
>>912 $ENV{SERVER_ADDR}は未定義でした。
その他の環境変数も全てだめでした。
>>911 ちょっと状況を詳しく。
知りたいサーバのIPアドレスと言うのはグローバルなもの?
それとも鯖に直接割り振られている(おそらくはLAN内)のもの?
まあ多分グローバルなほうを知りたいんだろうな…
設定ファイルを作って、そこにその鯖のドメインを書いておいて、
DNSに問い合わせ―というのは禁止だよね…
915 :
911 :2006/06/15(木) 20:31:15 ID:???
>>914 知りたいのはグローバルの方です。
ですので、911に書いたREMOTE_ADDRを返すCGIにアクセスする
方法で実現できてはいるのですが、もっとスマートなやり方が
あるのではないかと思い、質問した次第です。
最初は設定ファイルに直接IPアドレスを書いておいたのですが、
サーバーを追加したり構成を変更したりする度に反映するのが
大変で現在の方法に変えた経緯があり、できればサーバー内は
極力同じ構成にしておきたいと思っています。
916 :
901 :2006/06/15(木) 21:22:17 ID:???
917 :
nobodyさん :2006/06/16(金) 18:20:30 ID:hNixRv4l
教えてください。 Yahoo!のトップページの中央部分の広告はリロードすると ランダムに切り替わるのですが、トップページ自体はただのhtmlだと思うので、 動的に毎回広告部分のhtmlを入れ込むにはどのような技術を使用していると 考えられるでしょうか? 自分で考えた中では、広告部分をランダムに呼び出すプログラムをCGIで作っておいて、 SSIでそれをincludeし、SSIの拡張子をindex.shtml→index.htmlに設定しているのではないかと 思うのですが、もっと違う方法があるのかどうか知りたいです。 また、Yahoo!トップページ右側のトピックス部分も多分管理画面などで ニュース記事が追加されると自動的に更新されるのでしょうが、 ここも上記と同じ仕組みも同様なのか気になっています。 よろしくお願いします。
>>917 $aは1〜10の乱数→「$a番のファイルを再生」
という処理をFlashの内部で行う。
sendmailを使うとメールは送れるのですが、500エラーが出てしまいます。 メールだけならいいのですがその後コメントも表示したいので困っています。 サーバはサクラのレンタルです。 ソースの不備ありましたらご指摘お願いします。m(_ _)m #!/usr/local/bin/perl require './cgi-lib.pl'; &ReadParse(\%input); $mail = $input{'mail'}; $pass = $input{'pass'}; require "mimew.pl"; require "jcode.pl"; $sendmail = '/usr/sbin/sendmail'; $to = "$mail"; # 宛先アドレス $from = ''; # 送信元アドレス $subject = ""; $body = "";
920 :
続き :2006/06/17(土) 13:26:38 ID:???
# 本文をJISコードへ変換 &jcode'convert(*body,'jis'); # 標題をJISコードへ変換してMIME エンコード &jcode'convert(*subject,'jis'); $subject = mimeencode($subject); # ファイルハンドルをsendmailへ紐付け open(MAIL,"| $sendmail -t"); # sendmailへコマンドの出力 print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL "\n"; print MAIL "$body\n"; close(MAIL); print "成功"; exit;
>>921 まず、コメントだけを表示するスクリプトを書いてみ
成功を出力する前にヘッダ出さんと。
923 :
917 :2006/06/17(土) 16:49:02 ID:???
>>918 ありがとうございます。
FLASHならhtmlに動的にファイルを入れ込めそうですね
しかしYahoo!はブラウザでFLASHを動作しないようにしていても
ちゃんと動いているし・・一体どうやってるんだろう
925 :
nobodyさん :2006/06/18(日) 01:30:01 ID:7/MP55H6
質問させてください。 apache2.2 tomcat5.5 php5を使っています。 jspとphpを同一のディレクトリで実行させるにはどうすればいいですか? jspが実行できるディレクトリ内にphpファイルを置いても、 ブラウザでphpファイルのページを表示をしたときに、 そのphpファイルのダウンロードダイアログが出てきてしまいます。 httpd.confやphp.iniのドキュメントルートの設定を 色々変えて試してみましたが、うまくいきません。 うまく関連付けるにはどうすればいいのでしょうか?
すいません。マルチポストということについて無知でした。 スレッドを汚してしまいましたこと、お詫び致します。
インターネット上に公開されてるファイル(URL)の生成時刻を知る方法などないでしょうか? そのファイル(URL)が書き換わった場合も 最後に更新された時刻を知りたいのですが もちろん、定期的に監視するみたいな方法じゃなくて、 そのファイル(URL)のタイムスタンプを取得する方法のことです
931 :
126 :2006/06/19(月) 22:04:25 ID:IcZX9GOd
>>931 もう一回書いたほうがいいよ。
それ、みにくい。
余計なタグを全排除&分かりやすく直してみた。
<form method="POST" action="bbs.cgi">
<input type="hidden" name="bbs" value="jikken">
タイトル:
<input type="text" name="subject" size="60">
名前:
<input type="text" name="from" size="20" value="">
E-mail:
<input type="text" name="mail" size="30" value="">
<textarea rows="5" cols="64" name="MESSAGE"></textarea>
<input type="submit" value="新規スレッド作成">
</form>
これで、
> 新規スレッド作成を押して新規スレッドが作成される対象の板のURLが
> どこの部分なのか分かりません。
か。
>>933 <input type="hidden" name="bbs" value="jikken">
ってとこじゃないの?
まあスレ違いである事は間違いない。
Web製作板行け。
すんまそ。レスアンカーまちごた。
936 :
126 :2006/06/19(月) 23:41:51 ID:???
>>934 そこにどういう風に入れればいいのでしょうか?
Web制作板で聞きましたが、掲示板に関しては知らない人が多くて
実質的に無理と言う結論で片付けられてしまいましたw
>>936 こちらの言いたい事を全く分かっていないお馬鹿さんに教える口など持ちませんw
Web製作板の人達は分からないんじゃなくて、君には教えたくないというだけですよ☆
大体だな、自分が何をどうしたくてどうしたらどうなったかをろくに説明もせずに
さあ教えろだの何だの言われてもエスパーでもなけりゃ答えられねーっつの。
何が「最後の質問です」だ。ここの住人からすればそれがお前の最初の質問だっちゅーの。
分かったら日本語から勉強し直して来いやゴルァ。
っておとなりのみっちゃんが言ってました。
938 :
126 :2006/06/20(火) 00:23:11 ID:???
本当にごめんなさい、私のミスです
躾がなってないんでごめんなさい。
恐らく
>>934 さんの言う通りなんです、制作板を想定してスレも立てたので失礼があったのは詫びます
本当に申し訳有りませんでした
>>938 だからさあ。反省と謝罪なんざ1行で良いから、
何をどうしたくてどうしたらどうなったのかをまず説明しようや。
940 :
126 :2006/06/20(火) 00:41:16 ID:???
>>939 2ちゃんねるみたいな新規スレッド画面へ移動し、スレッドを立てるということをしたかったのです
そしてフリーCGI屋さんからソースを拝借し、はめ込んだらうまいこといったのですが
新規スレッドを作成する為に書き込みボタンを押すとページが表示できませんとなってしまったわけです
>>940 情報が足りん。スレッドをどこに立てるのよ?
942 :
126 :2006/06/20(火) 00:50:54 ID:???
944 :
126 :2006/06/20(火) 01:30:47 ID:???
>>943 将に貴方の言う通りです
日本語に関しては、すみません。説明が難シスでした
てことは、これはしたらばのカスタマイズの問題だからやっぱりここでは板違いだろう。
HTMLに若干+αな内容なんだからWeb制作板で聞くか、
或いはネットサービス板のしたらばスレで聞くかしてみてはどうかな。
最悪、したらばのそれ系のコミュニティを頼るという手もある。
どっちにしてもこの調子ではまともに答えを貰ってくるのは難しいかも知れんが…
まあ
>>943 を元に初めての相手でも問題なく理解できる完璧な説明文を作って
何言われても土下座で押し通す覚悟で逝ってこい。
946 :
126 :2006/06/20(火) 01:53:04 ID:92BetCL3
もっと力をつけてからチャレンジしましょう。
sendmailについて質問なのですが、 フォームから受け取るメールアドレスが間違っている時 トラップするようにしたいのですが $err = 0; open(MAIL,"| $sendmail -t") or $err = 1; $err = 0 ならば送信・メッセージを表示、 $err = 1ならば失敗メッセージを表示 という形でも可能でしょうか?
>>930 Last-Modified ヘッダを取得する ということですよね
しかしLast-Modified が不正だったりなかったりして
結局 確実な方法はないってことでしょうか?
>>949 それタイムスタンプも改変できるんだから同じことじゃないかい。
>>948 なにをもってして間違えと判断するのか。
>>949 それ以上は何を使ってやるかにもよるので何とも答え難い。
perlとかPHPとか使ってもいいわけ?
>>950 の言う通りLast-Modifiedにしろタイムスタンプにしろとても確実とは言えないし、
定期的にデータを取りに言ってファイルサイズやハッシュ値に変化があったら
その時点で更新したと見なすくらいしか俺には思いつかないな。
953 :
nobodyさん :2006/06/21(水) 22:08:06 ID:2ms2NUrv
Apache1.3.31 UNIX版 webalizer 2行目がアクセス解析のソフトなのですが。 普通アクセス解析ソフトって C:\Program Files\Apache Group\Apache\logs のaccess.logを元にやってるのでしょうか? 自分でもリアルタイムの管理画面を作ろうと思ったのですが、 共用サーバでaccess.logを参照できない状態ではサイトを全部CGIにするなどしないといけないくなるのでしょうか?
あたりまえのことを菊名
俺は菊名で働いてる
957 :
953 :2006/06/22(木) 08:43:48 ID:wVdZCYkl
やっぱりそうでしたか。 htmlページしかないサイトなんですが、どこのページに今誰がいるのかをチェックする 管理CGIを作ろうと思ったのですが、無理そうですね。 共用サーバではaccess.logは見れないので。 全部のページをCGIにして独自のアクセスログファイルを作成しないと。
958 :
nobodyさん :2006/06/22(木) 12:06:43 ID:Ofr8ZLFz
すみません。ちょっと、教えて下さい。JavaScriptでcheckNumberという関数を作り、 これで、複数(!)のテキストボックスや複数(!)のファイルで使用したいのです。 たとえば、 <SCRIPT LANGUAGE="JavaScript"> function checkNumber(numberName){ if(numberName.search(/[0-9]/) != -1){ alert("数字以外を入れて"); return false; } } </SCRIPT> <FORM name="form1" ACTION="js1.html" METHOD="post" onsubmit="return checkNumber(personName.value); checkNumber(companyName.value); checkNumber(jobName.value);"> 氏名<INPUT type="text" name="personName"> 会社名<INPUT type="text" name="companyName"> 職業<INPUT type="text" name="jobName"> <INPUT TYPE="submit" VALUE="行けっ"> </FORM> のように作ると、「氏名」の数字チェックは出来るのですが、「会社名」や「職業」のチェックは出来ません。もちろん、 checkNumberの内側に「document.form1.companyName.value.search(/[0-9]/) != -1」 「document.form1.jobName.value.search(/[0-9]/) != -1」と書けば出来るのですが、将来的にはこれを、複数(!)のhtml ファイルから呼び出せるようにしたいので、「引数」だけ変えて作りたいのです。「引数」だけ変えれば、複数(!)のhtml ファイルで呼び出せるような関数の作り方を教えて頂けますでしょうか。宜しくお願いします。
>>957 全部HTMLで行けるよ。
そこからIMGタグでアクセス情報を記録を取って画像を出力するcgiかphpにリンクして、
アクセス情報のIPか何かで重複するデータを随時最新のもの以外消せばおk。
>>958 > 「氏名」の数字チェックは出来るのですが、
> 「会社名」や「職業」のチェックは出来ません。
各inputタグにid持たせて全部チェックするようにするか、
或いは各inputタグからfunction呼び出せ。
> 複数のhtmlファイルから〜
外部jsファイル使え。
あとJavaScriptはここじゃ板違いだからWeb制作板行け。
960 :
nobodyさん :2006/06/22(木) 14:30:29 ID:Ofr8ZLFz
>>959 様
>>958 です。ご回答、ありがとうございます。外部jsファイルを使う
というのは分かるのですが、
>>各inputタグにid持たせて全部チェックするようにするか、
とは具体的にどのようにすれば良いのでしょうか?
氏名<INPUT type="text" name="personName" id="test1">
会社名<INPUT type="text" name="companyName" id="test2">
職業<INPUT type="text" name="jobName" id="test3">
とした後、具体的にどうすれば良いのでしょうか?教えて下さい。
宜しくお願い致します。
> JavaScriptはここじゃ板違いだからWeb制作板行け。
狼に来い
963 :
953 :2006/06/22(木) 21:13:03 ID:wVdZCYkl
>>959 imgでcgiを呼び出せるのですか!?
画像を返すcgiのみ動作するのでしょうか。でも呼び出さないと画像を返すかわかりませんから、
どちらにせよimgタグでcgiを呼び出せるのですかね。
物凄い情報ありがとうございます。
ちょっとこれから自分のパソコンでapacheとperlでテストしてみます。
ちなみにブラウザやサーバーやperlのバージョンによって可、不可があって
それをご存知でしたらお教え宜しくお願いします。
カウンタすら設置したことないのかよ・・・
965 :
953 :2006/06/22(木) 22:15:35 ID:wVdZCYkl
面白いかどうかは問題ではないような気がするけどね。
>>963 俺はまだ自分では画像を出力するperlスクリプトを組んだ事が無いんであんまはっきりした事は言えないけど、
まあ今時のサーバなら大抵何とかなるんじゃないかな。
理屈はテキストを読み込んで吐き出すのと同じです。扱うのがバイナリデータってだけで。
気を付けるとしたらヘッダの指定くらいかと。
ググればそれなりにサンプルが見つかると思うよ。
カウンタがどうこうじゃなくて、この程度のことを「物凄い情報」って書くのが、アレなんでしょう
968 :
953 :2006/06/22(木) 23:58:22 ID:wVdZCYkl
>>966 いや、カウンタってつけたいと思ったことがなかったので。
それでimgから呼び出せない環境もあるのかなって。
でも
>>964 のいう事から推測するにカウンタによく使われてる手法なら
普通にCGIがokな環境ならそうそう不可ということはないんでしょうね。
なんかカウンタ設置をしてない人間はクソみたいな
>>964 にイラっとして嫌なレスをしてしまったのに、
紳士な
>>966 さんを見て恥ずかしい限りです。
とりあえずアクセスCGIとサイト管理CGIが完成しました。おかげさまで、
どこに誰がいるかリアルタイムで把握できるようになりました。ありがとうございます。
┏━━━━━━━━━┓ ┃┏━━┓ ┏━━┓ ┃ webページの中に他のHTMLを特定フォルダ、URL、更新日時 ┃┃ ┃ ┃ .┃ ┃ でソートして表示したいのですが、どうやったらいいのか全く ┃┗━━┛ ┗━━┛ ┃ アイディアが浮かびません。 ┃┏━━┓ ┏━━┓ ┃ ゼロから質問するのは恐縮なのですがご解答お願いします。 ┃┃ ┃ ┃ .┃ ┃ ┃┗━━┛ ┗━━┛ ┃ 言語にこだわりはありません。 ┃┏━━┓ ┏━━┓ ┃ ┃┃ ┃ ┃ .┃ ┃ 左は表示イメージです。大きい四角がcgiプログラムを持った ┃┗━━┛ ┗━━┛ ┃ ページで、小さい四角が表示条件を満たしたHTMLです。 ┗━━━━━━━━━┛ 自分の大体のプログラムの感じとしては、 ユーザ ↓アクセス 大きい四角(ファルダ、URLの一部、更新日時でソートする条件を持っている。) ↓ 特定の下位ファルダにあって、条件を満たしたhtmlファイルを表示。 というものを想像しています。
970 :
969追記 :2006/06/23(金) 13:16:17 ID:???
言語自体はは全く出来ないわけではなく、基本的なものは理解しております。
個々のHTMLファイルは単体でも表示しうるのか? あと基本的な言語なら何使ってもいいんだな?
>>969 要はiframeでも並べれば?
中に表示するURLのリストを適当な条件でソートすればおk。
>>972 あ、なるほど。
フォルダ内のhtmlファイル名を配列に格納
↓
ログファイルを参照してhtmlを選別、ソ−ト
↓
cssでサイズを指定して、inframeタグを繰り返し表示
って感じでおkでしょうか?
ログファイルが唐突に出てきたけど更新時間のことならファイルのタイムスタンプ見るだけでもできるよ。
976 :
nobodyさん :2006/06/24(土) 15:41:11 ID:??? BE:374296379-
977 :
nobodyさん :2006/06/24(土) 20:32:51 ID:EavVIk+1
>>974 なるほど、サンクスです。
これとは話が違うんですが、
クッキー認証ができてページをつくるのが楽なのはどの言語が
一番楽でしょうか?
理想としてはヘッダにクッキー認証プログラムを書き込んでおいて
直アドとクッキー認証していないユーザを弾きたいです。
ボディはいじらないのでプログラム部分をコピペすればいろんな
ページに応用が利くと思うのですが。
ベーシック認証でいいじゃん HTMLだろうがCGIだろうが、公開するものに修正は0だし
>>976 ウーン違うみたいです。
やっぱり仕様として解釈するしかないんですかね・・・。
ゴミのような物って具体的になんやねん。
>>976 のコードでもそれは出たんか?
情報小出しにしてたら解決しまへんで。
982 :
976 :2006/06/25(日) 15:07:31 ID:???
>>975 HTTP/1.1では、チャンク形式エンコーディングの処理が必要なのでは。
ディレクトリ内のファイルを配列に格納して表示しようと思ったら ファイルの他に「..」と「.」というのもファイルとして出てきました。 これは何なのでしょうか? opendir(DH, './dir'); @list = readdir(DH); closedir(DH); $num = @list; print "$num\n"; こうゆう感じのプログラムでは常にディレクトリの中のファイル+2の数が表示されます。 環境はCopal pro 2.77でしています。
>>984 .はそのディレクトリ、..はひとつ上の階層を示す。
>>984 ls . と ls .. ってやってみな
Win なら dir . と dir ..
987 :
975 :2006/06/27(火) 05:40:13 ID:???
975です。申し訳ありません。
>>976 を参考にデータをバッファリングしない方法をFileHandleモジュールを使った方法にし
print SOCKET "Connection: close\n\n";と、してみましたが出来ませんでした・・・。
おそらくこちらが見当違いなことをしているのだと思います。
真に図々しいですが問題なく動いたプログラムの修正箇所を教えていただけないでしょうか・・・。
次スレ希望
989 :
976 :2006/06/27(火) 15:31:04 ID:???
>>987 す、すまん!
おかしいなと思ってもう一度作ってみたら確かに変なゴミデータが出てる。
問題なく動作しているように見えたのはどうやら俺の眼球が腐ってたかららしい…orz
こちらで確認できたゴミデータの内訳は、
HTTPヘッダの後、<html>の真上に「203a\n」
>>952 の書き込みの直下に「\n22cf\n」
>>969 の書き込みの直下に「\n1edb\n」
最後の</html>の後ろに「\n\n\n0\n」
>>988 が書き込まれる前は書き込みフォームの上の『新着レスの表示』の直下にもあったが今はない。
多分この書き込みが反映されるとまた変わると思う。
うめ
991 :
975 :2006/06/27(火) 18:07:35 ID:???
>>983 さんのいうチャンクエンコードというのがやはり必要みたいですね。
ゴミデータと思われた文字もどうやらその後送るバイト数と一致してるみたいなので・・・。
ここからは自力で何とかしてみます。いろいろなヒントありがとうございましたm(_ _)m
精進いたします。
992 :
nobodyさん :2006/06/28(水) 01:08:36 ID:4iRwedHd
2ちゃんねるでは、 / で区切ってパラメータを指定しています。 mode=past&no=1420 とかでなくて、/1-100 とか /l50 とか。 こういうやり方の名称、もしくはキーとなるソフトウェアやモジュールがあったら教えてください。
鯖の設定
994 :
nobodyさん :2006/06/28(水) 01:11:12 ID:4iRwedHd
>>993 Apacheの設定だけでやれるということですか?
>>992 PATH_INFO
Apacheはいじらなくても環境変数から拾える。
ブラウザはディレクトリとして見るから相対URLは注意。
UNIXとWindows間で EUCとSJISの文字コードについて質問ですが、 漢字などの日本語を使用しない場合は、 ファイルのやりとりの際に文字コードを意識しなくても良いのでしょうか?
>>996 基本的にはそうだけど、UTF-16とかUNC2とかだと、アルファベットだけでも一応意識が必要。
Windowsではメモ帳でUnicodeテキストが書けるので注意。
BOMにも気を付ける必要がある
perlを使ったcgiでhtmlを表示させたいのですが、 いちいちprint" "; とするのは大変なので END_HTMLのタグを使いたい のですが、上手くいきません。 print "Content-Type: text/html\n\n"; print <<END_HTML; <html> <head> </head> <body bgcolor="#ffffff"> TEST HTML </body> </html> END_HTML という感じで試してみたのですが、上手く表示されませんでした。 逆にhtmlにcgiを組み込む方法というのはあるのでしょうか?
1000 :
999 :2006/06/28(水) 22:39:41 ID:???
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。