△▲ WebProg 初心者の質問 Part4 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/06/20 12:10ID:???WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
2ch 総合ガイド
http://www.2ch.net/guide/
記念カキコ専用スレ
http://pc.2ch.net/test/read.cgi/php/982575577/
前スレ
http://pc2.2ch.net/test/read.cgi/php/1045091733/
http://pc2.2ch.net/php/kako/1037/10372/1037222063.html
http://pc.2ch.net/php/kako/1030/10301/1030151932.html
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
0202nobodyさん
03/06/30 21:57ID:pPvQzLjlゲーム作りたいんだけど。
某アーリー
ttp://my-ball.com/
や、
某モナー
ttp://www.ooakaya.com/
のようなゲームなんだけど
鯖の方はお金かけてでも2ch並の鯖用意すると仮定して、
リアルタイム更新というか、週に何度か更新させて、
ポイントを上下させたいと思ってます。
Web上でできるのも最低限の条件。
どちらかと言えば、某アーリーに近いイメージです。
CGI単独よりも、PHPとかで負担をできるだけ軽減させたいと思って
んですが、技術的にはできますかね?
0204nobodyさん
03/06/30 23:22ID:pPvQzLjlこういう感じの、投資シミュレーション系のCGI
(本物の株の方にあるかと思ったけど無かったので)
を実際に配布しているヤシが居ないわけで。
よっぽど鯖に負担かかるか、もしくは、技術的に高度すぎるのか
どっちかと思ったんで。
0205nobodyさん
03/06/30 23:25ID:???鯖の方の設定まで含めていじれるんなら、
技術的に何の問題もないんだが、
そういうゲームが今までないのは、
・バランスとかを含めて面白くできるのかどうかと、
・それが銭になるのかどうか
の問題だと思う。
金があれば鯖の負担も技術もクリアーできるが、
儲けが出ないんじゃどうしようもないわな。
0206nobodyさん
03/07/01 00:01ID:yYVh8a1E今度はディレクトリーhttp://cgi.tripod.co.jp/gin2002/cgi-bin/quiz202にアクセスすると
「ページが表示っされません」になります。
表示させようとしているのは自分のHPのCGIです。指定されたアドレス
http://cgi.tripod.co.jp/gin2002/cgi-bin/quiz202/quiz_op.cgi
にしても表示されないんでテストもできません。
たぶん、パーミッションの関係だと思うのですが、ディレクトリのパーミッションなどはしっかり設定しています。
うわざではファイルに直接つなげるとだけらしいけど、どのようにすればいいかわかりますか?
0207あぼーん
NGNG0208nobodyさん
03/07/01 00:03ID:vPxz6AFoなるほど。
技術の方はグループでやってるので問題なさそうだけど、
あとは金ですか。
金の計算できそうなヤシもグループ入れないとダメですね。
巨大掲示板とかアダルトだと、広告収入とかでやってるので、
一度、軌道に乗れば大丈夫だけど、それまでが問題ですね。
こちらで改めて質問させてください。
sourceforge のダウンロードページのような、
クリックしたら次のページを表示しつつ、ダウンロードもさせる、
といった処理はどうやったらできるのでしょうか?
0210nobodyさん
03/07/01 00:38ID:???Web製作板で合ってると思うな。
サーバーサイドだと無理じゃないか?
サーバープッシュ以外の目的でmultipartって実装不可だったよね確か。
そもそもIEが対応してないと思うし。
0211nobodyさん
03/07/01 00:52ID:???elsif($lv > 15 && $lv <= 30){$v += int((rand(4))+$v);}
else{$v += int((rand(8))+$v);}
↑これの意味が知りたいです。
ここのスレの人なら分かると思うので。
0214nobodyさん
03/07/01 01:19ID:???$max = $lv > 15 ? ($lv > 30 ? 8 : 4) : 2;
$v += int((rand($max))+$v);
もっとやると
$v += int((rand($lv > 15 ? ($lv > 30 ? 8 : 4) : 2))+$v);
こうなるが、さすがに読みにくいな。
あう、meta で refresh してるだけでしたか。ソース見直して気づきました。
どうも失礼しました。
0216nobodyさん
03/07/01 02:54ID:???0218nobodyさん
03/07/01 07:11ID:???そうじゃなく、もしも、$lvが15を超える数字で、なおかつ、$lvが30以下なら、
0〜(4+$v)の間でのランダムの数字を$vへ追加
どれとも違ったら、0〜(8+$v)の間のランダムの数字を$vへ追加
0219nobodyさん
03/07/01 10:22ID:???0220nobodyさん
03/07/01 17:44ID:???おかしいって言われたら隠しコマンドってことにしとけ
0221nobodyさん
03/07/01 20:16ID:???こけにする人が多いですよね。どうしてこんな簡単な
事で給料貰って得意になってんの?ばかじゃない?
0222nobodyさん
03/07/01 20:30ID:???何が言いたいのかぼやけ過ぎててよーワカラン
お前さんが誰(どのレス番か)で、どのレスに対する意見なんだYO
話の前後関係をハッキリさせれ
0223nobodyさん
03/07/01 20:30ID:9B8Cvuqqもっと勉強しなさいな
0224nobodyさん
03/07/01 21:45ID:???それが簡単なことなのかどうかはわからんが、
やらない、やれない、やりたがらないことを
かわりにやることで金を得ることが
悪いことだとは全然思わないんだが……。
てか、それが悪なら世の中悪人しかいないしな。
釣りかなあ。
0227226
03/07/01 23:10ID:???全角の # でもトリップつくんだ(笑い
0229nobodyさん
03/07/02 11:43ID:LFNI6Svrですがサンプルのままだと、発言ボタンをサブミットした時に、その発言内容がテキストボックスに残ってしまうんです。
2回目の発言をする時に一々前回の内容を手動で消すのもメンドウなので、どなたか自動で前回の発言を消す方法を教えて下さい。
0230nobodyさん
03/07/02 11:48ID:???>>229
submit した時は CGI の環境変数 REQUEST_METHOD ってのがあるんだが、
そのテキストボックスを表示している html は恐らく REQUEST_METHOD を
POST でデータを送信しているはずだから、CGI の方で POST が来た時に
どんな html コードをブラウザに渡しているか、その部分を修正すれば
いいと思うが
0231nobodyさん
03/07/02 11:52ID:SoZb7mtb別にGETでもいいじゃんか。
>>229は多分、投稿部分とログ部分をFrameで分けてるタイプのCGIじゃないかな。
その場合、Javascriptを使うしかないわけだが。
で、Javascriptの御問い合わせはWeb制作板へどうぞ。
Web制作
http://pc2.2ch.net/hp/
0232nobodyさん
03/07/02 12:59ID:???0233229
03/07/02 13:12ID:LFNI6SvrPerlはまだ始めたてで、昨日やっと投稿者用のアイコンを付けるのに成功したレベルなんです。
ですから上手く出来るかわかりませんが、試してみますね。
ありがとうございます。
>231さん
そうです、投稿部分とログ部分をフレーム分けしてます。
ジャバスクは割と理解出来るようになったーなんて自分では思ってたんですが、まだまだですね。
Web制作板で聞いてきます。ありがとうございました。
>232さん
他にはどんなやり方があるんですか?
0234nobodyさん
03/07/02 13:50ID:4UnRN0Ia掲示板など来て欲しくないところや、
フォームメールの送信先みたいなのまでロボット検索のせいで見られて
しまっているみたいなんです。
ここんところ、得体の知れないスパムが多くて・・・。
HPで記載しているメルアドをあるソフトが収集して、
それをリスト化してスパムメールを送っているんですよね?
対処法があれば教えていただきたくお願いします。
板違いであれば、指摘してくださいお願いします。
0235nobodyさん
03/07/02 14:07ID:???板違い、こっちでどぞ
http://pc2.2ch.net/test/read.cgi/hp/1056835937/
0236nobodyさん
03/07/02 14:51ID:ZWbTDtsxサンプルコードとかあれば教えてください。よろしくお願いします。
0237nobodyさん
03/07/02 15:14ID:???196 名前:Name_Not_Found sage 投稿日:03/07/01 (火) 10:13 ID:???
>>189
>>191
行儀の良いロボットなら、「わざわざ」 meta タグ読んで動作制御してるけど、
そうでないロボットもいるってことを頭に入れておけ
0238nobodyさん
03/07/02 16:59ID:???とかメッセージでるんですが、このエラーメッセージのコードの意味は
どこで調べればいいのでしょうか?
2とか3とか193とかでるんですが、googleとかで検索すると実際にそのエラーが
ついてるページにHITしてしまいます。
教えてください。
0239nobodyさん
03/07/02 17:05ID:???0240nobodyさん
03/07/02 17:06ID:???OSによって若干違う場合もあるが
ttp://www.h4.dion.ne.jp/~te2hiro/download/syserror/SysError20030311-000.html
0241あぼーん
NGNG0243nobodyさん
03/07/02 20:19ID:???サーバはPerl5で、他人が書いたPerl4互換のスクリプトを使っているんでつ。
やっぱりPerl5に書き換えた方がウマーでつか?
0245nobodyさん
03/07/02 20:34ID:???0246名無しさん
03/07/02 21:58ID:mPqKWSa7どうすれば元に戻りますか?
原因はブラクラ踏んだから。死。
0250nobodyさん
03/07/03 01:02ID:Fgo7r7np買ったら、$ro が1あがり、
負けたら、$mo が1あがり、
$ro 勝 $mo 敗と表示させています。
それで、確立を表示させたいのですが、
その場合には、どこのファイルに、
何て書き込めばいいんでしょうか?
因みに、確立のは、$kaku にしてあります。
教えて下さい。
0252nobodyさん
03/07/03 01:11ID:WcIS+AMFブラウザを閉じるアクションによってCGIプログラムが
起動されるような仕組みを組むことは可能でしょうか。
具体的には、クライアントがログアウト操作をせずブラ
ウザを閉じた場合、最後に必ずログアウト処理をクライ
アントが気付かぬところで実行させたいということです。
JavaScriptかなにかでできるかもしれないとは思うの
ですが、知識が無いためどうしてもそこどまりの状態
です。
もしもご存知でしたら、お教えいただきたい次第です。
宜しくお願いいたします。
0257255
03/07/03 01:20ID:???0258nobodyさん
03/07/03 01:27ID:???強制終了や回線断など、CGIが呼べなくなる事態はいくらでも想像が付く。
前回のアクセスから時間があきすぎていたら再ログイン処理、とするのがいいんでない?
0259252
03/07/03 01:29ID:WcIS+AMF>>254さん
シグナルはブラウザを閉じた挙動に応じて受け取れますか?
考え方がおかしかったらすみません。
どうしてもこの問題はクライアントサイドの問題だと思ったも
ので、、、
>>256さん
1つもアカウントで同時ログイン規制するために、このような
処理が必要となってしまいました。
ロックファイルを作っておき、ログアウトでロックファイルが
消える仕組みを作っているのですが、このような問題が
発生してしまったがために何かいい案があればと思った
次第です。
>>257
やはりクライアントサイドのJavaScriptが一番妥当なの
ですかね。
ブラウザを閉じた瞬間に違うブラウザが立ち上がるも
のがありますよね。
これを新規ウィンドウを立ち上げずにどうにかしたいと
思っているのですが、いろいろ調べてもいまいち見つ
からないため、質問させていただきました。
これからも引き続き調べてみたいと思います。
0261252
03/07/03 01:34ID:???そうですね。たしかにおっしゃるとおりでございます。
管理画面にて、プロセスを切るインターフェイスを
用意しておりますので、回線断等の状況ではそれを
使用する感じでございます。
ログアウト処理というものは実際あまりしてもらえない
みたいで、ブラウザを閉じる処理にやはりいってしまう
のが大多数のこの状況で、どうにかブラウザを閉じる
=ログアウトという処理に結び付けられれば、という
要望があがったため、質問させていただきました。
0263255
03/07/03 01:36ID:???必ずログアウトしないとログインできないようにしたいの?
なら、ログインしてなにかするたびにそのロックファイルのタイムスタンプを調べたら?
もちろん有効と判断した場合はタイムスタンプを更新する。
0264255
03/07/03 01:37ID:???0265nobodyさん
03/07/03 01:39ID:Ctng5CwyHTTPの特性を考えれば、全てのクライアントで有効な方法はないよね。
どういう方法を採るにせよ、ある程度クライアントに頼った実装になる。
シグナルを受け取るというのは、おそらく接続を張りっ放しにして、接続を
断たれた時点で切断とみなす仕様だと思うけど、一定期間でタイムアウトして
接続を切っちゃうようなクライアントに対しては無効。
というより、その程度の目的にしては資源使いすぎ>接続張りっ放し
0267nobodyさん
03/07/03 01:54ID:???0268nobodyさん
03/07/03 01:56ID:???…あぁ、ここ初心者スレか
0270250
03/07/03 02:47ID:Fgo7r7np有難うございました。
$kaku=($ro*100)/($ro+$mo);
で出来ました。
ただ、確率が、73.6842105263158
となってしまいますが、
小数点以下切捨ての時は、どう書いたらいんでしょうか?
あと、何と言うか、この程度の質問に対して、
「意味が分からん」とか「言語を書け」とか、
知ったかぶった回答をする人には聞いていません。
見てるこっちが恥ずかしくなってくるので、
そういう人は、この板には来ないほうが良いと思いますよ。
0273nobodyさん
03/07/03 02:56ID:???> その場合には、どこのファイルに、
どこの?どのファイルにってことか?自分で決めるものなのでは?
> 何て書き込めばいいんでしょうか?
フォーマットのことか?それも自分で決めるものなのでは?
0275250
03/07/03 02:59ID:???ふぅ。どうやら、ここは厨房の溜まり場の様だ。
0277nobodyさん
03/07/03 03:04ID:???0278nobodyさん
03/07/03 03:05ID:???ロジック的に簡単って分かってるのに、
自分の頭を使うことが出来んのかいな。
>「意味が分からん」とか「言語を書け」とか、
>知ったかぶった回答をする人には聞いていません。
言語によっては関数一発で済んだり、済まなかったり
ってことがあるんだがな。
perlだと小数点を丸める関数が入ってるモジュールが
あったりとか。
質問者が明かすべき最低限の情報だと思うぞ>使用言語
0280nobodyさん
03/07/03 05:16ID:???perlだとしたら
http://www.google.com/search?hl=ja&ie=Shift_JIS&c2coff=1&q=perl+%8F%AC%90%94%93_%88%C8%89%BA%90%D8%8E%CC%82%C4
あと、君もこの板には来ないほうが良いと思いますよ。
0281nobodyさん
03/07/03 06:26ID:???逆切れした質問者は放置しなよ。
0282nobodyさん
03/07/03 07:56ID:???常に何の意味もなく、「言語を書け」とか「意味がわからん」とか言われることはないんだ。
そういうことを言われるような質問があることに思い至らないのかなあ。
>>250の質問はまさにそんな感じなんだが。
0283nobodyさん
03/07/03 10:33ID:Y7VxJQQvW3C限定でgoogle検索すると、
http://216.239.51.100/custom?q=cache:RUQIgszOhkwJ:lists.w3.org/Archives/Public/www-archive/2003Feb/att-0102/GetNPostStripped.htm+querystring+limit&hl=ja&ie=UTF-8&inlang=ja
You must use POST if the total length of the URL for a GET,
taking into account the longest possible length for all parameters,
might exceed 2080 characters. I cannot find documentation of this limit for IE 6,
but we have tested it. Don't try to get close to this limit - special characters in the parameters can turn into escapes that use more characters.
If you exceed it the form won't work.
と書いてあって、和訳があやしいので、確認させていただきたいのですが、
結論は、
「getの文字数は2080字だけど、IE6に関しては、(勝手な仕様を組み込んでいるので)文書を
見つけられなかったけど、テストしたら、やっぱり2080字におさめといたほうがいい。」
であってますか?
0284nobodyさん
03/07/03 10:53ID:???英語苦手なんでよくわからないけど、ftp://ftp.rfc-editor.org/in-notes/rfc2616.txtの
Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.
これにヒントがない?「URI length」で検索しただけなんだけど・・・
0285あぼーん
NGNG0286nobodyさん
03/07/03 12:04ID:Ctng5Cwyその文章は、要するにIE6でテストしたら制限が2080バイトだったので、
それ以上ならPOSTを使えってこと。
別に世界中のUAがIE6な訳じゃないから、2080文字以内なら安心って
わけじゃない。(ところでこの文章、バイトを「文字数」と書いてる時点で
あんま信用できないような気が)
>>284
RFC2616では、255バイトを超えるURIIは、古いプロキシやクライアントが
扱えない恐れがあるので、「注意」した方が「望ましい=ought to」ということです。
RFC2616にはもっとはっきりしたことも書いてます。
The HTTP protocol does not place any a priori limit on the length of
a URI. Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs. A server
SHOULD return 414 (Request-URI Too Long) status if a URI is longer
than the server can handle (see section 10.4.15).
要するに、サーバーはクライアントが要求したいかなるリソースについても
ハンドル可能に「しなければならない=MUST」で、その上無限の長さのURIを
ハンドルできるように「すべきである=SHOULD」だそうです。
つまり、RFC2616的にはGETメソッドの長さは無限ってこと。
ちなみに、<A HREF="">の中に書ける文字列は、HTML2.0で1024文字(RFC1866)
HTML4.01では65536文字(HTML4.01 SGML宣言)のようです。
0287nobodyさん
03/07/03 13:08ID:1Gg+ZsIasub syslog{
my @temp1;
open (SYSIO,"+<$syslogfile");
eval{flock(SYSIO,2)};
@temp1=<SYSIO>;
unshift(@temp1,$nowtime."<>\n");
pop(@temp1) if $#temp1 >= $syslogmax;
truncate(SYSIO,0);
seek(SYSIO,0,0);
print SYSIO @temp1;
close (SYSIO);
}
--------------------------------------------------
function syslog() {
global $syslogfile,$nowtime,$syslogmax;
$temp1 = file($syslogfile);
array_unshift($temp1, $nowtime."<>\n");
$fp = fopen($syslogfile, "w+");
flock($fp, LOCK_EX);
for ($i=0; $i>=$syslogmax; $i++) {
fputs($fp, $temp[$i]);
}
fclose($fp);
}
0288あぼーん
NGNG0289nobodyさん
03/07/03 13:21ID:ADen1LhUNetscapeでは制限無いようですがサーバ側で制限されました。
Netscapeで8100バイト位で
414 Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
request failed: URI too long
をサーバが返してきました(Apache1.3.26)。
0290あぼーん
NGNG0291286
03/07/03 14:16ID:Ctng5Cwy実際に>>286にあるようにRFCのSHOULDにしたがって無限のURIを受け付けるように
した場合DoSアタックなんかに利用される恐れがあるので、8KBあたりが落としどころ
なんだろうね。
RFCにも、「URIの長さに制限を設けるときは、414を返すように『すべきである=SHOULD』」
とあるので、Apacheの挙動はRFC的には正しい。
0292nobodyさん
03/07/03 15:42ID:ebDC5p25データをinsertする時に既にそのデータが入っていたら
エラー表示したいのですが、
これは一回selectしてデータがあるかどうか見ないと判断できないのでしょうか?
0293nobodyさん
03/07/03 15:45ID:???板違い。ム板かな。
オープンソースDB、Firebirdってどうよ?
http://pc2.2ch.net/test/read.cgi/tech/1035278719/l50
SQL教えてっ!! lt;3gt;
http://pc2.2ch.net/test/read.cgi/tech/1042208762/l50
0295nobodyさん
03/07/03 17:54ID:???あるにはあるけど、荒れ放題だし。ひろゆきがシャレで作った
感が否めなかったので誘導しなかったんだが。
http://pc2.2ch.net/test/read.cgi/db/1057050009/l50
0296あぼーん
NGNG0297nobodyさん
03/07/04 05:11ID:0ZtrchpYhttp://pc2.2ch.net/test/read.cgi/hp/1004494535/l50
0299nobodyさん
03/07/04 21:07ID:UijKjt9Wみたいに、1つのformで複数のsubmit用イメージがある場合、
「英和」「和英」「国語」のどれが押されたかは、
cgi側ではどうやって判断してるんでしょうか?
0301nobodyさん
03/07/04 22:15ID:???GoogleでEnterキーを押して検索するか、ボタンをクリックして検索するかで送られる内容を見比べてみるとわかるかも
# 最近やめたのかなぁ。ボタンをクリックしても「大抵のブラウザでは...」と言ってこなくなったぞ。
0302nobodyさん
03/07/04 22:31ID:E7w4zVYi&penalty if($mv_mode eq 'pc' && $method eq 'POST' && !$post_flag);
■ このスレッドは過去ログ倉庫に格納されています