△▲ WebProg 初心者の質問 Part16 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/08/22(水) 05:53:43ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3辺り
欲しいCGIが見つからないならこっちへGo!!
【CGI】こんなCGI探してますver.22
http://pc11.2ch.net/test/read.cgi/hp/1166794984/
前スレ
△▲ WebProg 初心者の質問 Part15 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1169725490/
0713nobodyさん
2008/01/25(金) 18:09:28ID:???そのサイトのパラメータ弄って不正なデータを送受信したいのか、
パラメータにデータを付加してやりとりする方法が知りたくて、そのサイトを例にあげたの?
どっち?
0715nobodyさん
2008/01/25(金) 19:15:21ID:???0716スマブラ
2008/01/25(金) 19:44:13ID:qFpMTcD70717nobodyさん
2008/01/25(金) 19:44:52ID:???クリックすれば良いのでは?
0718スマブラ
2008/01/25(金) 19:45:14ID:qFpMTcD70720nobodyさん
2008/01/25(金) 19:52:22ID:???送信ボタンが押されたらフォームの値を取得/整理して
DBへ放り込むというよくある仕組みで、
クリックイベントを受け取るbtnSubmit_Clickというメソッドと、
DBへのinsert処理を行うinsertFormDataというメソッドに分かれている場合、
フォームの値をDB用に変換する処理(*)というのは、
btnSubmit_Clickの時点で行うべきでしょうか。
それともinsertFormDataで行うべきでしょうか。
個人的にはbtnSubmit_Clickで全て整理して、
insertFormDataは、ただ受けた引数をDBへ投げるだけという単純処理に
特化させた方がいいのかなと漠然と考えていますが…。
*年 月 日のそれぞれのドロップダウンリストをまとめて、Date型作成等
0721nobodyさん
2008/01/25(金) 20:34:15ID:???コードが散らかるが
0722nobodyさん
2008/01/25(金) 22:19:55ID:???ありがとうございます。参考になりました。
調べてみたらMVCの概念にもあっているようなので、その方向で行きます。
ttp://www.microsoft.com/japan/msdn/practices/type/Patterns/enterprise/ImpMVCinASP.aspx
0723692
2008/01/26(土) 00:09:51ID:???>>701-704
ありがとうございました。凄く参考になりました
頂いたアドバイスを参考にして作ってみます、どうもありがとう
0725nobodyさん
2008/01/26(土) 09:03:34ID:???0726nobodyさん
2008/01/26(土) 09:42:33ID:???0727nobodyさん
2008/01/26(土) 10:45:22ID:???一緒に付け加えてみた。
// SQL文の準備
$sql_name = mysql_real_escape_string($POST[$name_str]);
$sql_age = mysql_real_escape_string($POST[$age_str]);
$sql_addr = mysql_real_escape_string($POST[$addr_str]);
$dat[$i] = '"' . $sql_name . '","' . $sql_age . '","' . $sql_addr . '"';
$sql_str = "INSERT INTO [テーブル名] VALUES( " . $dat[$i] . " );"
mysql_query($sql_str);
0729nobodyさん
2008/01/26(土) 12:29:23ID:???0730nobodyさん
2008/01/26(土) 17:01:10ID:???サーバでPHP4しか使えない環境の場合、そこでは無理にプログラミング
しない方がよいのでしょうか。
PHP5に比べて、環境変数の表記が古いなど、いくつか違いがあるようですが、
深いところまでプログラミングをしていないので、コーディングにおいて
変な癖がつくのかの判断がつきませんので、ここで質問をしてみました。
PHP5の環境を探した方がよいのか、それとも現状のPHP4で組んでも
問題ないのか、出来ましたら理由もあわせてアドバイスを頂けたらと思います。
0731nobodyさん
2008/01/26(土) 17:39:10ID:???4はセキュリティFIX以外のサポートも終わってるし
ついでに、サーバ側でプログラミングするように読み取れるが、
普通はローカル環境で行うもの
0732nobodyさん
2008/01/26(土) 17:58:33ID:???レスありがとうございます。
4と5の仕様の違いを参考に、判断します。
サーバ側でプログラミングをするというよりも、ある程度形のあるものを
作って公開するという状況を考えた場合、今は4しかないという意味合いです。
もちろん開発はローカルで行いますが、公開を考えた場合、バージョンを
合わせざるを得なくなるのです。
0733nobodyさん
2008/01/26(土) 18:04:46ID:???最初にマニュアルからPHP5限定の関数を抜き出すプログラムでも書いてみるとか
0734nobodyさん
2008/01/26(土) 18:07:34ID:???0735nobodyさん
2008/01/26(土) 18:17:12ID:???0736nobodyさん
2008/01/26(土) 18:20:23ID:???>>733
差分をみるところからやってみると考えに整理がつきそうですね。
>>734
仕様が頻繁に変わる傾向にある言語だと聞いたことがあり、そこで
ついていけるのか不安なところがあるのですが、変更があるところの
基本は、関数名などですよね?
>>735
VBがオブジェクト指向対応になった時とか大きな変化があり、
概念が変わったりしたので、そういう変化があるのかが
気になってました。4でもやっていけそうですね。安心しました。
0737nobodyさん
2008/01/26(土) 18:27:07ID:???どちらでも動くようなもの作るなら、
クラスは4の仕様で作りながら、微妙なところはphpversionで
4, 5 分けて処理すればいい
0738nobodyさん
2008/01/26(土) 18:43:00ID:???DropDownList で複数項目が選択されるように指定できません。
というエラーが出てしまいます。
スタックトレースを見てもSystem.Web.UIから始まるクラスしか出てこないので、
何が原因か全く見当もつきません。
デバッガで追うと、6つのDropDownリストのうち1つのDataBoundハンドルが
2回呼び出されているところまでは突き止めました。
しかし、そこで呼び出しているのは
Sub SelectItem(list As DropDownList, name As String)
If IsNothing(name) Then
list.SelectedIndex = 0
Return
End If
For Each item As ListItem In list
item.Selected = False
If name.Equals(item.Text) Then
item.Selected = True
End If
Next
End Sub
というサブルーチンで、複数呼び出したとしても問題あるようには思えません。
それと、
list.Items.Insert(0, new ListItem("", ""))
を呼び出しているのですが、1回目の呼び出しでlist.Items.Countが3なのに、
2回目でも3なのです。
どなたか原因がわかる方いますか?
0739nobodyさん
2008/01/27(日) 04:28:28ID:???ページをphpで自動出力してるんですが、ソースを見ようとすると
「キャッシュの有効期限が切れています。ページを表示するには再送信…」
ていうアラートが出ます
何が原因ですか? ページそのものを表示しようとして出たことはありますが、
ソースを見ようとしてっていうのは初めてで、、
ブラウザはFireFoxです。 ご意見よろしくお願いします
0740nobodyさん
2008/01/27(日) 09:16:40ID:???そのphpがどういう仕組みになっているのかをみなければ、何とも。
phpじゃなくて、javascriptのコードが関係している可能性もあるわけだし。
0742nobodyさん
2008/01/27(日) 13:36:28ID:IFsQu3P4一旦登録した後の情報(出席者)に、新しく出席者を追加する時って
普通は単純に追加用フォームを表示して追加するのだと思いますが、理由があって
新規登録用フォームにそれまでに登録した人たちもリスト化(フォームに代入)して、
そこに新しい出席者の情報を加える形で、まとめて登録する必要がでてきました。
なので、クエリはUPDATE文ではなく、登録済み情報を一旦DELETEした上で、再度INSERT文
で全員登録しなおす形でやろうと思ってます。
で、思ったんですが、この処理の最中デリートし終わったあとに接続エラーなんかが発生して
INSERTできないと大変困ります
こういうのどうしたらいいでしょう? また、上記の登録のルーチンについて
改良案などないでしょうか? どなたかアドバイスお願いします。
環境はapache2 & php5 &mysqlです
0743nobodyさん
2008/01/27(日) 13:44:42ID:???まず、後半の部分
> で、思ったんですが、この処理の最中デリートし終わったあとに接続エラーなんかが発生して
> INSERTできないと大変困ります
このあたりは、データベースそのもののノウハウの話になる。
よく使われるのは、トランザクション。
出来れば、登録のフォームのイメージを作ってもらえないかなぁ。
具体例を出せないのも分かるけれど、用件仕様がいまいち見えてこない。
0744nobodyさん
2008/01/27(日) 13:53:36ID:???deleteをやればいい。
テーブルに主キーのようなフィールドを1つ追加しておけば、
データの区別がつくので、途中で処理が終わったとしても
対処は出来る。
0745nobodyさん
2008/01/27(日) 18:44:10ID:???ありがとうございます トランザクションですか、、ちょっと勉強してみようかな
>トランザクションを使いたくなければ、insert intoを先にやって
>deleteをやればいい
insertの後にdeleteってのは、削除対象の最初に登録したメンバーのIDをキーに削除
するってことですよね?
これでもinsertとdeleteの間で接続エラーが起きたら、2倍(重複して)出席者が
登録されることになって変じゃないですか? まったく誰もいない状況よりましってことですか?
insert時に登録済みの名前と新たに登録する名前を比較して、同じなら登録しないっていう
処理(deleteはしない)も考えたんですが、それだと純粋なメンバー削除が出来なくなるし、、
トランザクションてのするしかないかなぁ
0746nobodyさん
2008/01/27(日) 18:56:18ID:???完璧ではないが、ある程度信頼を入れた上ならば出来るという意味さ。
細かい話をしたい場合はDB板へ行った方がいいと思うよ。
例えば、テーブルが以下のようになってたら、1020のデータを
入れるのは正常に機能しているので、それよりも小さい数値のデータは
全部削除してもいいなと判断するなどだ。
1010,田中,29,東京
1010,スズキ,25,神奈川
1010,太郎,22,千葉
1020,田中,29,東京
1020,スズキ,25,神奈川
1020,太郎,22,千葉
1020,花子,23,東京
1029,null,null,null
細かい可能性を考えていってたらきりが無いから、過多な
アクセスのある鯖で無い限り、ある程度信頼しても良いと思うけどな。
それだけ開発に時間を割くことが出来るのならば、いいけれど。
0747nobodyさん
2008/01/27(日) 20:28:22ID:???0748nobodyさん
2008/01/27(日) 21:21:29ID:???0749nobodyさん
2008/01/28(月) 01:08:17ID:???Perl、PHP、javaでいうとどの言語に近いものなのでしょうか。
今まで頻繁なバージョンアップと仕様変更があるので、敬遠
していたのですが、必要であれば学ばなければと思っています。
0750nobodyさん
2008/01/28(月) 02:59:24ID:???ASP.NETは言語ではない。
で、必要が出てから学べばいい。基本機能の習得はアホみたいに簡単。
暇ならJSPをやっておくといいと思う。
0751nobodyさん
2008/01/28(月) 07:33:34ID:???レスありがとうございます。
> ASP.NETは言語ではない。
確かにそうでしたね。言語をあげるのならば、C#やVBというべきでした。
JSPは初めて聞きました。調べてみます。
0752nobodyさん
2008/01/28(月) 21:30:29ID:???オブジェクト指向プログラミングにおいては理解しているのですが、
PHPなどWebアプリにおけるオブジェクト指向プログラミングの
メリットがいまいち分かりません。
PHPにて、ユーザの入力をテキストファイルに書き込む。その内容を
検索し、結果をhtml出力する。登録したデータを修正する。などの
機能を持つWebアプリを組んでみたのですが、構造化の方が設計し易く、
オブジェクト指向にすると、何をオブジェクトとすると良いのかが
つかめなかったりしています。
このサイトを読めみたいなヒントでも良いので、何かアドバイスが
ありましたらよろしくお願い致します。
0753nobodyさん
2008/01/28(月) 21:37:20ID:???とりあえず、オブジェクト指向のまともな本読め。
0754nobodyさん
2008/01/28(月) 22:29:52ID:???お礼遅れてすみません 詳しい解説ありがとうございました
細かいこと考えてくときりがないってはなし、そうなんですよねー
ある程度割り切っていこうと思います ありがとう!
0755nobodyさん
2008/01/28(月) 23:12:36ID:???割り切ってたらつまらんべ?
0756nobodyさん
2008/01/29(火) 01:31:59ID:???0757nobodyさん
2008/01/30(水) 08:40:17ID:???0758nobodyさん
2008/01/30(水) 15:47:20ID:S1PjhxHu0761nobodyさん
2008/01/30(水) 20:05:39ID:???「あらかじめファイル名を決めておいて、すでに同名のファイルがあるとそれを
削除し、新しくファイルを作る」という方法がありますが、これだと、複数のユーザが
同時にアクセスすると、問題が起きます。
そこで、ファイル名に連番をつけるようにすると、必要の無くなったファイルを
削除する処理を加えることになりますが、必要の無くなった時期の判断が
やりづらくなります。(日付が1日古いものは削除とすると、サーバに大量に
CSVファイルが残ってしまうことになります。)
このような場合、これがいいというものはあるのでしょうか。
よろしくお願いします。
0762nobodyさん
2008/01/30(水) 20:35:05ID:???ファイルロックってのもある
0764nobodyさん
2008/01/30(水) 22:22:12ID:???0765nobodyさん
2008/01/30(水) 22:46:41ID:???0766nobodyさん
2008/01/30(水) 23:01:52ID:???レスありがとうございます。
プロセスIDは、初めて聞きましたので、調べてみます。
ファイルロックは、Perlで処理をしている間のみ有効であり、
(CSVファイルを作成するまでの間)ユーザがダウンロードを
クリックして、保存が完了するまでの間有効ではないので、
使えないと思ったのです。
>>763
それも考えたのですが、それだと「名前をつけて保存」を選択してとか
html形式ファイルはだめよとか説明が必要になりますよね。
その説明をしようとすると、具体的に操作を行う段階でつまづいてしまう
可能性が高いユーザなので、なんとかサーバ側でCSVファイルを
作成して保存させたいのです。
それに、IEは結構余分にメモリを取るみたいで、データ量が数メガ
いったくらいで、非常に処理に時間がかかったりしますので、
ブラウザにデータを吐き出すのは、避けるしかなさそうなのです。
0767nobodyさん
2008/01/31(木) 09:56:00ID:???何か勘違いしてないか?
別にファイル名指定もできるし、ファイルと変わらんわ。
どうしてもファイルでやりたいなら、時刻+プロセスIDかクライアントのアドレス(かぶることあるけど)
使って、用が済んだら消せばいいし、クーロンで一定時間たったら消すとかでもいい。
0769nobodyさん
2008/02/01(金) 18:33:29ID:???今年に入ってからいろいろと求人情報を集めてみたところperlの仕事少ないですね
噂には聞いてましたが、僕は何が何でもperlを仕事にしたいのです
まあそれはおいといて、perlを仕事としてみたときどんな感じですかね?
皆さま先輩方の多くはperlを仕事としていらっしゃると思ったので、
是非とも業務内容、他言語と比べたときの待遇、仕事のやりがいなどなど、
ポジティブな意見(勧め)もネガティブな意見(愚痴)も生の声としてお聞かせ願えればと存じます。
0770nobodyさん
2008/02/01(金) 19:05:26ID:???特定の言語にこだわるやつは融通がきかないクズだ。
perl以外の仕事があったら請けないつもりか? そんな役立たずなんかいらねーよ。
卒業まで、まだ間に合うから、もっと融通のきく使える人間になれ。
0771nobodyさん
2008/02/01(金) 22:58:56ID:???0772nobodyさん
2008/02/02(土) 03:21:55ID:???0773nobodyさん
2008/02/02(土) 03:28:32ID:???0774nobodyさん
2008/02/02(土) 22:50:04ID:AKcXybpg0775nobodyさん
2008/02/03(日) 19:54:02ID:TU3mgcYrPHPをApache+PHP5モジュール版で動作させる事は出来ますか?
もちろん、全部拡張子は*.cgiのままで。
AddType等調べましたがなんかムリポそうなんですが、、、
0776nobodyさん
2008/02/03(日) 20:06:20ID:???<Files "php.cgi">
Forcetype application/x-httpd-php
</Files>
0777nobodyさん
2008/02/04(月) 00:24:25ID:???0778nobodyさん
2008/02/04(月) 00:26:52ID:???RemoveHandler .cgi
AddType application/x-httpd-php .php
</Files>
こうじゃね?
0779778
2008/02/04(月) 00:31:54ID:???ああ、CGI(拡張子.cgi)を pl.cgi 、 php.cgi 、py.cgi みたいなファイル名にすると
解釈したが、本当に全部 foobar.cgi みたいにしてるなら無理だな。
せめてディレクトリが完全に分かれているなら RemoveHandler+AddType でいけるんだが。
0780775
2008/02/04(月) 09:18:20ID:???色々ありがとうございます。
CGIは全部同じディレクトリにごちゃっとありますです orz
別の方法を検討してみます。
0781nobodyさん
2008/02/04(月) 11:25:27ID:7kb7LUUMxmlはなんとなくわかるのですが、SQLのメリットは
質問掲示板で使う検索が早くなる程度しか思いつかず、デメリットもいまいちわかりません。
SQLを使って掲示板を作る利点と欠点を教えてください。お願いします。
0782nobodyさん
2008/02/04(月) 11:52:17ID:???利点:検索が楽、データ入出力&管理が楽、
欠点:大規模になる、DBにログインしないとデータのやりとりができない
0783nobodyさん
2008/02/04(月) 14:18:38ID:???今更テキストファイルに保存するタイプのCGIを作れと言われても作る気がしないw
……というくらいには楽。
0784nobodyさん
2008/02/04(月) 15:37:20ID:???負荷のこと考えなきゃいけないのが面倒で、今はテキスト保存式のを作る方が気楽に感じるぜ……
質問です。
1.「.htaccessを使った『これ以下のディレクトリは登録ユーザーのみ』というアクセス制限」をかけたい。
2.しかし、通常の「ダイアログから入力」はカッコ悪く感じるので、ログイン用フォームからのID/pass入力にしたい。
……のですが、これ、可能でしょうか?
データベースの内容で認証→Cookie保存、とかだと1が出来ないし……
(htaccessにCookie読ませられれば出来そうだけど、そんなこと出来ましたっけ?)
何か方法案を思いつく方、教えて頂けないでしょうか。
よろしくお願いします。
0785784
2008/02/04(月) 15:48:55ID:???×とかだと1が出来ないし
○とかだと1がめんどくさいし
htaccessそのままの機能が使えればわかりやすいし楽だよな、と思った次第です。
0786nobodyさん
2008/02/04(月) 16:59:03ID:???現在、複数のサイトからページを引っ張ってきて
その中の情報をデータベースに取り込むスクリプトを組んでいます。
取得する文字列で「&」という文字はHTMLでは「&amp;」となっていますが
これをデータベースに取り込む際には「&」に戻してから取り込んだほうがいいのか
「&amp;」のまま取り込んだほうがいいのか迷っています。
一般的にはどちらが主流なのでしょうか?
出来ればその理由も教えてもらえると助かります。
0787nobodyさん
2008/02/04(月) 17:10:47ID:???別にクラックなんかされねーよ負荷かかるんだよ!ってときは&
0788nobodyさん
2008/02/04(月) 17:49:58ID:???BASIC認証を使わないならBASIC認証でやってることはできない。
閲覧制限をしたいなら.htaccessでリファラ制限でもすりゃいいだろ。
0789nobodyさん
2008/02/04(月) 17:56:42ID:???戻さずに取り込むと表示するときにもノータッチで出力しなきゃじゃん?それは怖すぎる
戻さずに入れておいて出力するときに一度デコードしてその上エンコードしてもいいけど
というか俺はそうやってるけど
一般的にどうなのかは知らない 俺も教えて欲しいや
0790nobodyさん
2008/02/04(月) 19:27:10ID:???テキストベースで一度しっかりした機能のものを作ってみるといいかもしれない。
全部のデータをメインメモリに読み込めないという制約で、ソートしようとすると
非常に苦労するから。
これが、データベースだと一発だ。ソートなんて意識しなくていいし。
データベースにした場合のデメリットは、開発中や障害対策時に調査をする際、
面倒なこと。
0791nobodyさん
2008/02/04(月) 20:08:56ID:???0792784
2008/02/04(月) 22:05:37ID:???回答ありがとうございました。
となると、やりたいこと考えていくと結局BASIC認証が楽かなーという結論に至りました、作成開始してみます。
0793nobodyさん
2008/02/04(月) 23:29:02ID:Ros/LCfx同じ質問ここで失礼いたします。
ブラウザ(IE6またはFireFox2)の接続タイムアウトの設定はどこで変更できるのでしょうか?
よろしくお願いいたします。
WEBで重たい処理をやっていて早さは置いといてとりあえずできるかできないか知りたいのですが
タイムアウトになってしまいます。
0794nobodyさん
2008/02/04(月) 23:42:36ID:???やめとけ
0795nobodyさん
2008/02/05(火) 00:47:10ID:???それだったら、
http://www.studyinghttp.net/status_code#Informational
この辺を参照してみるといいよ。102 辺りを UA に返えせばいいんじゃないかな?
0796nobodyさん
2008/02/05(火) 11:38:39ID:???ちょっとやるやらない結論でませんが参考にして
考えてみます。
0797nobodyさん
2008/02/05(火) 11:59:49ID:???多分、VB側で接続と送信、受信の命令が必要なんだけど、ググってもよく分からない。誰か教えてくれ。そういう事を分かりやすく書いてある本でもいいんだ。
0799nobodyさん
2008/02/05(火) 12:41:42ID:???0801nobodyさん
2008/02/05(火) 14:59:49ID:???0からではつらいよ・・・
0802nobodyさん
2008/02/05(火) 15:15:51ID:???最初はそういう目的のCGIを書くつもりじゃなくても、デバッグで自然に身につくなw
0803nobodyさん
2008/02/05(火) 22:58:40ID:???0804nobodyさん
2008/02/05(火) 23:07:07ID:???雰囲気を感じるのだが。
0805nobodyさん
2008/02/05(火) 23:28:41ID:???HTMLはある程度は覚えた。
>>804
正直、そうなんだ。しかも実は今やろうとしている事はこれだけじゃなくて、もっと複雑なシステムを作ろうとしているんだ。
0806nobodyさん
2008/02/05(火) 23:36:35ID:???0807nobodyさん
2008/02/06(水) 01:44:25ID:???0808nobodyさん
2008/02/06(水) 10:28:36ID:???0810nobodyさん
2008/02/06(水) 16:59:42ID:???WordとExcelはある程度できます=パソコンド素人、
CもJavaもperlもPHPもある程度できます=実は何も作れない
0811nobodyさん
2008/02/07(木) 12:18:48ID:???0813nobodyさん
2008/02/07(木) 19:30:10ID:???このページで、
<tr class="{ds_EvenOddRow}">
という記法が出てきます。
まるでHTMLのclass属性からJavaScriptを呼び出しているようですが、
どうしてこのようなことが可能なのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています