△▲ 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/
0658nobodyさん
2008/01/23(水) 14:00:50ID:???簡単にぐぐってみたら、欲しい情報が出てきましたので、
後で詳しく読んでみます。
0659nobodyさん
2008/01/23(水) 14:14:58ID:???0660nobodyさん
2008/01/23(水) 14:24:15ID:???0661nobodyさん
2008/01/23(水) 16:26:22ID:???0662nobodyさん
2008/01/23(水) 17:02:47ID:???0663nobodyさん
2008/01/24(木) 00:37:44ID:???なるほどね。
まあそんなことはめったに無いか。
あ、でもmod_perlとかで広告挿入スクリプトが誤爆したときとかやばそうだなぁ。
>>643
それなら古典的手法の拡張子.cgiでいい気もする。
0664nobodyさん
2008/01/24(木) 16:05:18ID:oseLc3nhいま、フォームを作っています。
1)記入フォーム 2)確認ページ 3)登録ページ(SQL) 4)完了ページ
という流れがあって、登録ページは登録完了後すぐに4の完了ページに
リダイレクトされるとします。(リロードによる二重送信防止のため)
で、リダイレクト先の完了ページで登録内容を修正したいと思ったユーザが、
ブラウザのバックボタンを押すと確認ページに戻り、そこで「登録」することで
結局2重送信の形になってしまいます
どうしたらいいでしょうか? バックボタン使用禁止などのメッセージを置く以外に
良い方法ないですか?
一度目の登録時に登録完了のフラグを持たせて、用意した「書き直す」ボタンでhidden送信しても
ブラウザの戻るボタン使われたら元も子もないですよね…
みなさんどうやってるんですか?
一応調べたんですが、「戻るボタン使用禁止メッセージ」を使うというのが多くて、
それ以外の考え方が聞きたくてお尋ねしました よろしくお願いします
0665nobodyさん
2008/01/24(木) 16:59:11ID:???http://pc11.2ch.net/test/read.cgi/php/1199956159/775-776
0666nobodyさん
2008/01/24(木) 17:19:17ID:???0667nobodyさん
2008/01/24(木) 17:36:51ID:???0668664
2008/01/24(木) 18:20:31ID:oseLc3nhスレ違いって意味で「どこに書き込んでるんだ」と言われたのかと思い…
質問の件ですが、お願いします
ヒントでもなんでもいいので… よろしくです
0669nobodyさん
2008/01/24(木) 18:22:42ID:???戻るで戻ってパラメタ変えて再送信とかな。
とりあえずHIDDENで時刻やアドレスから作った値でも仕込んでおいて
同じ値は二重送信と判断するとかしてみたら?
0670nobodyさん
2008/01/24(木) 23:18:55ID:???SQL→metaタグで飛ばす→完了しました。
ま、このあたりは深く考えるときりがない話だと思うけどな。
0671nobodyさん
2008/01/24(木) 23:36:37ID:???0672nobodyさん
2008/01/24(木) 23:38:35ID:XLbY+fStひととり説明しているようなサイトってないでしょうか。
サーバサイドだけではなく、クライアント側のC++、VB、Java
等についても何がどうすぐれているのか知りたいのですが。
0673nobodyさん
2008/01/24(木) 23:42:38ID:???そういう比較が欲しい気持ちも分かるが、言語それぞれにモットーが
あるので、目的次第なところがあり、比較しようがないのよね。
だから、大雑把過ぎるもの以外はない。
もっと目的を絞れば詳細に比較をしているサイトはある。
0675nobodyさん
2008/01/25(金) 00:48:12ID:???1)の入力が問題なかったら2)を表示するとともにセッションにデータ入れるでしょ
3)で登録するとともにセッションの該当データ消せばいいよ。
>完了ページで登録内容を修正したいと思ったユーザ
完了ページに編集ページへのリンク置いとくとか。
0676nobodyさん
2008/01/25(金) 00:53:32ID:???0677nobodyさん
2008/01/25(金) 01:01:20ID:???それはGCするしかないだろ、セッション自体そういうものだ。
それより(3)で消したら「戻る」ことができるほうが問題じゃないのかこの場合。
0678nobodyさん
2008/01/25(金) 01:08:19ID:???0679664
2008/01/25(金) 01:49:52ID:???頂いたアドバイスを参考に、以下のやり方を試すことにしました。
1)のフォームページで$_SESSION['inputstart']=1 とする
2)の確認画面にif($_SESSION['inputstart']==0){//エラーページに飛ばす} の処理を追加
4)の完了画面で$_SESSION['inputstart']=0 とする
こんな感じで… まずいですかねー
念のため、ワンタイムトークンていうの調べてみます
ありがとうございました
0680nobodyさん
2008/01/25(金) 02:32:12ID:???画面3の存在が謎だが…
セッションはウィンドウごと複製できちゃうから排他制御したいなら問題だし、
登録ユーザのおいしい情報ならCSRFの問題もあるし、
目的や使いどころによってはそれに応じて別の対策も必要
0681nobodyさん
2008/01/25(金) 03:39:24ID:MSgqQJVyファイルベースで行う方法と、DBベースで行う方法のどちらがいいでしょうか?
DBだと、DBにアクセスするオーバーヘッドがありますが、
ファイルがひとつに固まっているので、メンテナンス性はいい。
ファイルベースだと、DBのようなオーバーヘッドはありませんが
iノードを消費し、大量になるとメンテナンス性が落ちる。
と、一長一短あるとは思うのですが・・・
0682nobodyさん
2008/01/25(金) 03:59:45ID:???一般にDBだとスケールするのが面倒。コネクション数で詰まるからスレーブの台数も多くなる。
0683nobodyさん
2008/01/25(金) 04:10:50ID:???0685nobodyさん
2008/01/25(金) 04:22:27ID:???メンテナンス性っていうのは、
一つのディレクトリにファイルを大量に入れると速度が落ちるからディレクトリを掘らないといけないとか
古いキャッシュを削除する時にファイル数が膨大になると時間がかかるとかです
バックアップも時間かかりそう…と思ったけど
よく考えたらキャッシュのバックアップなんてしなくていいですね
0686nobodyさん
2008/01/25(金) 04:28:10ID:???キャッシュの参照回数など
0687nobodyさん
2008/01/25(金) 04:47:48ID:???DBがメタ情報を持ってることと、キャッシュ本体を持ってることはとくに関係がないな
DBでやるとキャッシュコントロールやバリデーションに応じたレスポンスなど、apacheが
やってる作業を実装する手間があるので、楽をしたいということならURLベースで
キャッシュすることにして全部Squidに任せるのが一番簡単で速いと思う
0688nobodyさん
2008/01/25(金) 05:16:35ID:???なるほどSquidですか…
それは考えたこともなかったです
ちょっと勉強してみます
ありがとうございました
0689nobodyさん
2008/01/25(金) 05:19:27ID:???やはり画像の性質とかサーバ構成など、どのくらいのデータをどうやって捌こうとしてるか次第なところがある。
ごく小規模なシステムで、既存のコンテンツキャッシュと協調させたいとかだとDBも選択肢に入るしね。
まずはファイル削除にどのくらい時間がかかるか、まず試してみることを薦める。
0690nobodyさん
2008/01/25(金) 05:30:13ID:???ブログのアドオンならDBに入れるかな
0691nobodyさん
2008/01/25(金) 05:43:00ID:???リバースプロキシは動的な画像のキャッシュには向かねえべ
任意のタイミングでキャッシュを削除する処理とか必要になったりしないか
ならなきゃそれでいいんだがw
0692nobodyさん
2008/01/25(金) 06:34:54ID:YEESSLoqフォームの要素は名前(name)・年齢(age)・住所(address)で、このセットが
20組くらいあるとします。
出席者は不特定数で、5人のときも20人のときもあります。
登録するテーブルのカラムも上記の3つだけのとき、どうやって
SQL文を書いたらいいんでしょう?
ループをまわすのがよさそうですがどうもよくわかりません
すみませんが教えてください。よろしくお願いします
0693nobodyさん
2008/01/25(金) 06:47:09ID:???出席簿なんだから、来た人物は"何に"あるいは"いつ"出席したかという情報と結びつけなくて良いのか。
0694nobodyさん
2008/01/25(金) 07:27:13ID:YEESSLoqありがとうございます とりあえずそれはいいです
不特定多数のデータを登録する仕組みを知りたいだけなので
よろしくお願いします
0695nobodyさん
2008/01/25(金) 08:02:43ID:???テーブルのカラムのつくりがおかしいと思うよ。
カラムは名前、年齢、住所と出席した講座名として、
その講座に出席した人を登録する。
なお、不特定多数のデータを登録する仕組みはありません。
不特定多数ということはシステム設計上は無限個数データを受け入れるか
ある上限に達したたらデータ登録はしなくてよいという制約を設けるしかありません。
どちらもシステム設計上問題があるので、こうしたアプローチはとりません。
0696nobodyさん
2008/01/25(金) 08:06:45ID:???でも、書き方を知りたいのならば、質問するよりもサイト検索した方が早い。
君が納得するまで、具体例(SQLを実行する前のテーブルの状況と実行結果など)を
書けというつもりなのか?
0698692
2008/01/25(金) 09:04:47ID:YEESSLoq言われてみて読み返すと、自分の文章に問題がありました。
一度の登録は上限20人として、0〜20の間で不特定数です。
(書いてみるとほんとに問題でした、すみません)
くどくてすみませんが、もう一度詳しく説明させてください。
たとえば、テーブルのカラムが最初から20人分あるんだったら
id,name1,age1,address1〜name20,age20,address20のような形で、
insert into table values(0,$name1,$age1,$address1…$name20,$age20,$address20)って
ふうにするのはわかりますが、それだと一人しか参加しないとき大量のNULLが
発生して無駄なので、name,age,addressという3カラムのテーブルにしたいのです。
ただ、このやり方だとどうやって一度に参加人数分のinsertをすればいいのか
わからないのです。
なので、SQLの書き方といったのも間違いで、SQLを表現するプログラム(PHP)の
書き方をしりたいな、と思っています。
フォームの構成は <input name="name"><input name="age"><input name="address">が
20組並んでる構成を考えていますが、それも間違ってるでしょうか?
すみませんが、気が向いたらで結構ですのでご意見お願いします
0699nobodyさん
2008/01/25(金) 10:18:12ID:???これやりだすと面白くてはまる可能性があるが
0701nobodyさん
2008/01/25(金) 11:03:14ID:???だったらテーブルの構造を
id,name,age,address,Attendance
とかにしてAttendanceに出席したら1,出席してないなら0
テーブル増やしちゃいけない場合なら
nameに例えば(小林,1)とかにしてinsertすればいいと思う。
取り出した時にsplitとかで取り出せばOK
0702nobodyさん
2008/01/25(金) 11:53:43ID:???「ある人数分をまとめてinsert into する」という事は通常はやらない。
「1人分のデータをinsert into」を○回行う。を、やる。
htmlでinputタグが20件並んでいて、ボタンを押すということだよな?
だったら、inputの値を取得し、その値が""であれば、SQLは実行しない。
でいいだろ。
工夫してループを書くことが出来ないのであれば、1件分を書いて、
20回コピペしなさい。
0703nobodyさん
2008/01/25(金) 12:02:56ID:???データを同時に一括で登録するというシステムを作ることは少ない。
登録している一覧が表示されており、それに1件追加という
形式の方が多い。
0704nobodyさん
2008/01/25(金) 13:36:45ID:???テーブル名がかかれてなかったので、[テーブル名]としている。
登録したデータ件数は $dat_cnt に入るようになっている。
htmlファイルが、以下のような感じで20件書かれている場合
<input name="name1"><input name="age1"><input name="address1">
<input name="name2"><input name="age2"><input name="address2">
<input name="name3"><input name="age3"><input name="address3">
<?php
$dat_cnt = 0; // データ件数
$i = 1;
while($i < 21){
$name_str = "name" . $i;
$age_str = "age" . $i;
$addr_str = "address" . $i;
// エラーチェック
if($_POST[$name_str] == "" or $_POST[$age_str] == "" or $_POST[$addr_str] =="" ){
// 入力不備なので何もしない。
}else{
// SQL文の準備
$dat[$i] = $_POST[$name_str] . "," . $_POST[$age_str] . "," . $_POST_[$addr_str];
$sql_str = "INSERT INTO [テーブル名] VALUES( " . $dat[$i] . " );"
// ここでSQL実行(省略)
$dat_cnt = $dat_cnt + 1;
}
$i = $i + 1;
}
?>
0705nobodyさん
2008/01/25(金) 14:20:18ID:???http://fair.jmd.ne.jp/detail.asp?feature_cls=1&page=3&merch_set_cd=TECN-10628
上記URLに何か付け足すと買い物かごに入れるURLになるらしいのですが、どなたか分かりませんか?
0706nobodyさん
2008/01/25(金) 14:40:55ID:PGrlWPEk以下のようにしていました。
WindowsXP+IE7だと問題ないのですが、VISTA+IE7環境だと
画像が表示されません。
ローカルファイルへのアクセスが厳しくなったためかと思われますが
設定でもプログラム変更でも結構ですので回避策があれば教えてください。
--------------------------------
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>サムネイル</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<script type="text/javascript">
function imgc(objimg) {
document.getElementById("s_img").src= "file:///" + objimg.value;
document.getElementById("s_img").style.display="inline";
}
</script>
</style>
</head>
<body>
<form>
<input type="file" onChange="imgc(this)" /><br />
<img src="" id="s_img" /><br />
</form>
</body>
</html>
0707nobodyさん
2008/01/25(金) 14:52:31ID:???で、OK であればサーバーにアップされてるテンポラリファイルを処理すればいいかと
0708nobodyさん
2008/01/25(金) 14:54:09ID:???何か怪しいことをやろうとしているという意味?
怖かったのでサイトはクリックしていない。
>>706
手元に環境が無いので予想しかいえないが、セキュリティーの設定を
変更してみてもダメだったということ?
まずはjavascriptの実行をするIEの方に問題があるのか、それとも、
システム的に制限をかけているのかを見ることになるだろう。
0709nobodyさん
2008/01/25(金) 16:21:48ID:???今までは、USBのHDDに全部を入れてwindows上で開発していましたが
最近のフレームワークは、サーバ上でscaffoldを生成するものが多いです。
coLinuxやVM上で構築していくことになりますが
これを続けるとファイルがあちこちのVMに分散してしまいます
複数のプロジェクトも一カ所に格納しておけるような
いい方法はないものでしょうか。
0710nobodyさん
2008/01/25(金) 16:30:14ID:???0711nobodyさん
2008/01/25(金) 17:17:49ID:???2ch.net で使用している read.cgi や bbs.cgi のソースコードは
見ることが出来るのでしょうか。
高速化プロジェクトなどのページを見てみても、そのソースを
見つけることは出来ませんでした。
あのようなプロジェクトの話は、途中経過の報告でしかないと
言う意味合いなのでしょうか。
0712nobodyさん
2008/01/25(金) 17:23:55ID:???あとは好きなように組めばいい
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:S1PjhxHu■ このスレッドは過去ログ倉庫に格納されています