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

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

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

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

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前に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/
06076002008/01/19(土) 16:01:48ID:???
>>606
サンクス
HTTPの勉強になって助かります

HTTPHeadersとか入れてみる


06086042008/01/19(土) 16:44:59ID:???
>>605
あ、今日のヤツを表示してたダケなのか、、、スマン確認不足だった。
何かそれっぽい数字が出たのでオッケーだと思ってしまった。
POSTで与えないとダメっぽいね。さらにリファラーを設定せんとダメかもー
0609nobodyさん2008/01/19(土) 16:58:51ID:???
× HTTPHeadersとかieHTTPHeadersとか入れてブラウザが何やってるのか見ようze
○ LiveHTTPHeadersとかieHTTPHeadersとか入れてブラウザが何やってるのか見ようze
だった なんか短いと思ったんだ
0610nobodyさん2008/01/20(日) 11:46:56ID:???
SQLiteを使いたいんですけどrubyとphpどっちがいいですか
0611nobodyさん2008/01/20(日) 12:25:09ID:???
php
0612nobodyさん2008/01/20(日) 14:42:10ID:jGlr+mbd
質問です スケジューラを作っていて、
1)イベントの基本情報(開催日、開始時間、参加費etc)の登録
2)そのイベントへの参加者(複数)の情報(名前、簡単なプロフィールetc)の登録
という流れのプログラムを作ろうと思ってます

で、1)、2)の登録先テーブルはそれぞれ別なんですが、
1)のDBへの登録がすんでから、2)の登録に移るべきなんでしょうか?
それともhiddenで引き回してまとめて登録?

基本情報を先に登録しないとイベントIDをキーにして参加者登録できないから
別々かなって思うんですが、基本情報の登録後に接続エラーが起きて、
参加者だけ登録できない状態で公開みたいになるのも嫌だし、、
どんなやり方がいいんでしょうか?
0613nobodyさん2008/01/20(日) 15:49:33ID:???
トランザクションかければ?
06146122008/01/20(日) 18:15:26ID:jGlr+mbd
>>613
レスありがとうございます トランザクションて初めて聞きました
ちょっと高等テクニックぽいですね
トライしてみます、ありがとう
0615nobodyさん2008/01/20(日) 18:38:48ID:???
後から参加者を編集できる画面が存在するなら別々登録にしとけば簡単

先に参加者0人の状態で基本情報を追加して
後から参加者を追加削除できる画面へ行かせればいい。

>参加者だけ登録できない状態で公開
公開/非公開を選択できるようにしておく
0616nobodyさん2008/01/20(日) 23:44:02ID:???
質問です。

Webシステムを構築する際の基本的なところがわかりません。
VBやC++でクライアントアプリケーションを作成する場合、
サーバ側はWebサービス、として動作する仕組みを用意
する必要がある、ということでよろしいでしょうか。
0617nobodyさん2008/01/21(月) 01:29:00ID:KPl3BNLF
CSVファイルの情報をサーバに送信しようとしたら
ファイルアップロード→サーバ解析・・・とするしか
方法ない?
クライアント側で解析してから送信なんてできないよね?
0618nobodyさん2008/01/21(月) 02:22:13ID:???
>>616
一般に「Webシステム」というとブラウザを使うもの
どちらにしろサーバ側にシステムが必要という点では合ってる

>>617
意図するところがわからんが
とりあえずサーバ側でやった方が楽
0619nobodyさん2008/01/21(月) 21:18:46ID:LlcZb9sw
ブラウザのアドレスバーに日本語を打ち込んだらエンコードは何とみなされるんですか?
たとえば、
http://www.google.co.jp/search?q=ほげ
のようにした場合、search内でqを取り出すとどうなるんですか?
今環境がなくて試せないんで、よろしくお願いします。
0620nobodyさん2008/01/21(月) 22:07:36ID:???
環境入れて試せ
0621nobodyさん2008/01/21(月) 22:28:11ID:???
>>619
基本からやりなおしたほうがいいと思う
0622nobodyさん2008/01/22(火) 13:50:38ID:???
環境を準備せずに勉強が出来るなんてすごいな。
コーディングやプログラムの実行は全部記憶などで
やってるのかな?
0623nobodyさん2008/01/22(火) 14:21:47ID:???
っていうか、自分で動かさず、他人のやった結果を100%信じて
勉強しようという信念がすごい。
0624nobodyさん2008/01/22(火) 16:27:10ID:???
不正アクセスに関する質問です。
Perlでプログラムを動かし、csvファイルの内容を読み込んだり、
書き込んだりしている場合、csvファイル名というものは簡単に
分かるものなのでしょうか。
input type=hidden タグなどにはcsvファイル名が入っていない
場合の話です。
0625nobodyさん2008/01/22(火) 16:35:38ID:???
どっかで配布してるシステムのまま使ってるとバレバレだろうな
自分で変えてれば普通はわかんないでしょ
0626nobodyさん2008/01/22(火) 16:40:09ID:???
データファイルのディレクトリを 「jiaergyiuyaerbyiwev_data」 みたいにすればいいんじゃないかな
自分は、自分で作ってるのとか配布されてるやつのデータ保存先は毎回そうやってる。
0627nobodyさん2008/01/22(火) 16:42:09ID:???
そこは出来ればweb外に
ダメなら.htaccess使おうよ
0628nobodyさん2008/01/22(火) 16:42:39ID:???
>>625-626
ありがとうございます。ディレクトリやファイル名を変えてみます。
0629nobodyさん2008/01/22(火) 16:46:35ID:???
まあ>>627もやっといた方がいいね
httpでアクセスされないようにすれば一先ずは安心
0630nobodyさん2008/01/22(火) 16:49:39ID:???
httpで見れない位置ってのが楽っちゃ楽だけど、ディレクトリを移動したりとかが発生したときとか
バックアップのときとかあと開発中のときときとかはスクリプトの配下にデータディレクトリがあると
なにかと便利なんですよね^^;
0631nobodyさん2008/01/22(火) 16:55:42ID:???
そうかな
0632nobodyさん2008/01/22(火) 17:09:20ID:???
>>627>>629>>630
.htaccessで、csvファイルが置かれているディレクトリやファイルへの
アクセスを出来なくするわけですね。
そうすると安心ですね。
0633nobodyさん2008/01/22(火) 17:43:57ID:???
.htaccess は負荷が高めなので出来ることなら http で見えない場所か、
データファイル置き場をランダムな文字列にした方がいいです

※ 追記
高負荷いってもひっきり無しに HDD が動くほどアクセスがあっての場合の話です
0634nobodyさん2008/01/22(火) 20:09:54ID:???
>>625-626
吹いたw

まともな解答が >>627 だけなのが笑える
0635nobodyさん2008/01/22(火) 20:21:08ID:???
質問よく見ろよ文盲w
0636nobodyさん2008/01/22(火) 21:54:32ID:???
>>634がちょっとかわいそうに見えてきた
人生まだ長そうだし、がんばって生きていこうね♪
0637nobodyさん2008/01/22(火) 23:24:05ID:HbTlLDnk
上の方で

> 一般に「Webシステム」というとブラウザを使うもの

とありますが、サーバ側にServletがあって、
クライアント側がC++とかVBとかで動作する
アプリケーションは何と呼べばよい?
クラサバシステム?
0638nobodyさん2008/01/22(火) 23:46:13ID:???
どー考えてもWEBアプリです
ありがとーござーました
0639nobodyさん2008/01/22(火) 23:49:11ID:HbTlLDnk
あ、やっぱりそうなんですね^^;
0640nobodyさん2008/01/22(火) 23:58:42ID:HbTlLDnk
ん?
Webアプリ≠Webシステム?
0641nobodyさん2008/01/23(水) 02:09:08ID:???
普通にパーミッションで見れないようにすれば良いと思うのだけど、
みんなはフォルダ名変更とか.htaccess使うの?
というか、パーミッションってレスがないのは、セキュリティ的な理由があったりする?
0642nobodyさん2008/01/23(水) 02:31:49ID:???
共用サーバでSuEXECが効いているならパーミッションによる保護は絶対だろう。
もし、サーバの設定がザルだと他のアカウントから普通に読める。
0643nobodyさん2008/01/23(水) 03:21:42ID:???
データファイル名を ,htxxxxx にしちまって
スクリプトからのアクセス(スクリプトはファイルI/Oで読む)可能でも
ブラウザからは読めないようにすればいいんじゃね?
.htaccessもいじる必要は無い。
0644nobodyさん2008/01/23(水) 04:54:08ID:+GfNFwTn
開発機のwinと、テスト機のlinuxの間で、
ディレクトリを自動的に同期させたいのですが、
どうするのがいいですか?
0645nobodyさん2008/01/23(水) 05:16:07ID:???
なんか板違いのような気がする
0646nobodyさん2008/01/23(水) 06:10:19ID:???
cwRsyncという奴でなんとかできました
自動ではないですが…
0647nobodyさん2008/01/23(水) 06:25:47ID:+GfNFwTn
win-linux間をrsyncで同期すると改行がcrlfのままです
lfにする処理をどこで行うのがベストでしょうか?
>>646
開発環境に関することなので板違いではないと思いますが…
0648nobodyさん2008/01/23(水) 06:38:08ID:???
>>647
winで開発中の時点で
0649nobodyさん2008/01/23(水) 06:59:20ID:???
エディタやIDEの設定でですね
やっぱりそれが一番ですか
何かの拍子でcrlfが紛れこんでしまいそうで不安も残りますが
その時はその時ですね
0650nobodyさん2008/01/23(水) 08:50:27ID:???
Winで開発してFTPでうpして実行する手間はそんなに面倒だと思わないけどな。
XAMPPをWinに入れて実行までをやる方法もあるけれど、それは駄目なの?
0651nobodyさん2008/01/23(水) 09:12:49ID:???
ちょ、おまっ・・・
0652nobodyさん2008/01/23(水) 13:19:28ID:???
yahooの検索サイトで、リニューアルされる前から気になっていたのですが、
トップページにおいて、リンクが貼られているアドレスと、それをクリックした時に
表示されるアドレスが異なってますよね。
どういった都合であのような仕様にしているのでしょうか。
通常だと 〜.cgi でいいかと思うのですが。

公表されていないことであれば、「わからない」となりますが、プログラム的な
都合であのようにする必要性は、私には無いとしか思えません。
こういう利便性がある、みたいな推測で結構ですので、よろしくお願いします。
0653nobodyさん2008/01/23(水) 13:22:18ID:???
rewrite
0654nobodyさん2008/01/23(水) 13:27:21ID:???
>>653
ありがとうございます。
0655nobodyさん2008/01/23(水) 13:31:49ID:???
2ちゃんねるをIEで見る時、アドレスの最後がスラッシュになっていても
cgiが動いてますよね。あれはどういう仕組みなのでしょうか。
通常だと以下のようなアドレスになるかと思うのですが。
2ch.net/pc11/read.cgi?1187729623
Apacheの設定では、拡張子の設定はあっても、アドレスにはファイルが
存在していないような設定はないはずですが。
0656nobodyさん2008/01/23(水) 13:35:21ID:???
pathinfo modrewrite
0657nobodyさん2008/01/23(水) 13:35:48ID:???
拡張パスでヤフーでぐぐってみそ
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:???
liveでaskる
0662nobodyさん2008/01/23(水) 17:02:47ID:???
明日どこ行くの?
0663nobodyさん2008/01/24(木) 00:37:44ID:???
>>642
なるほどね。
まあそんなことはめったに無いか。
あ、でもmod_perlとかで広告挿入スクリプトが誤爆したときとかやばそうだなぁ。

>>643
それなら古典的手法の拡張子.cgiでいい気もする。
0664nobodyさん2008/01/24(木) 16:05:18ID:oseLc3nh
phpスレで聞いたところ、スレ違いということでこちらにきました

いま、フォームを作っています。
1)記入フォーム 2)確認ページ 3)登録ページ(SQL) 4)完了ページ
という流れがあって、登録ページは登録完了後すぐに4の完了ページに
リダイレクトされるとします。(リロードによる二重送信防止のため)

で、リダイレクト先の完了ページで登録内容を修正したいと思ったユーザが、
ブラウザのバックボタンを押すと確認ページに戻り、そこで「登録」することで
結局2重送信の形になってしまいます
どうしたらいいでしょうか? バックボタン使用禁止などのメッセージを置く以外に
良い方法ないですか?
一度目の登録時に登録完了のフラグを持たせて、用意した「書き直す」ボタンでhidden送信しても
ブラウザの戻るボタン使われたら元も子もないですよね…
みなさんどうやってるんですか?
一応調べたんですが、「戻るボタン使用禁止メッセージ」を使うというのが多くて、
それ以外の考え方が聞きたくてお尋ねしました  よろしくお願いします
0665nobodyさん2008/01/24(木) 16:59:11ID:???
>>664がいっているphpスレとはこれのことか?
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:???
百度は大陸にカエレ
06686642008/01/24(木) 18:20:31ID:oseLc3nh
どうもすみません
スレ違いって意味で「どこに書き込んでるんだ」と言われたのかと思い…
質問の件ですが、お願いします
ヒントでもなんでもいいので… よろしくです
0669nobodyさん2008/01/24(木) 18:22:42ID:???
まず、再送信をどこまで許容するかという問題もあるんだが。
戻るで戻ってパラメタ変えて再送信とかな。

とりあえずHIDDENで時刻やアドレスから作った値でも仕込んでおいて
同じ値は二重送信と判断するとかしてみたら?
0670nobodyさん2008/01/24(木) 23:18:55ID:???
処理が終わるたびに2回ページを飛ばしてしまうという方法はだめかな。
SQL→metaタグで飛ばす→完了しました。

ま、このあたりは深く考えるときりがない話だと思うけどな。
0671nobodyさん2008/01/24(木) 23:36:37ID:???
そんなことはどうでもいいからいいからCSRF対策をしろ
0672nobodyさん2008/01/24(木) 23:38:35ID:XLbY+fSt
JavaとかPHPとかASPとか、言語ごとの長所、短所について
ひととり説明しているようなサイトってないでしょうか。

サーバサイドだけではなく、クライアント側のC++、VB、Java
等についても何がどうすぐれているのか知りたいのですが。
0673nobodyさん2008/01/24(木) 23:42:38ID:???
>>672
そういう比較が欲しい気持ちも分かるが、言語それぞれにモットーが
あるので、目的次第なところがあり、比較しようがないのよね。
だから、大雑把過ぎるもの以外はない。
もっと目的を絞れば詳細に比較をしているサイトはある。
0674nobodyさん2008/01/25(金) 00:18:53ID:???
>>673
なるほど、ちょっと調べてみます。
ありがとうございました。
0675nobodyさん2008/01/25(金) 00:48:12ID:???
>>664
1)の入力が問題なかったら2)を表示するとともにセッションにデータ入れるでしょ
3)で登録するとともにセッションの該当データ消せばいいよ。

>完了ページで登録内容を修正したいと思ったユーザ
完了ページに編集ページへのリンク置いとくとか。
0676nobodyさん2008/01/25(金) 00:53:32ID:???
入ったまんまいなくなるだろ脳無し
0677nobodyさん2008/01/25(金) 01:01:20ID:???
>>676
それはGCするしかないだろ、セッション自体そういうものだ。
それより(3)で消したら「戻る」ことができるほうが問題じゃないのかこの場合。
0678nobodyさん2008/01/25(金) 01:08:19ID:???
お前もワンタイムトークンとかCSRFでぐぐれ
06796642008/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:???
リロードしたユーザにnotifyするだけならそれでもいいんじゃない?
画面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:???
メンテナンス性って具体的に何よ
0684nobodyさん2008/01/25(金) 04:13:12ID:???
>>679
それSQLを発行するタイミングでチェックしないと何の意味もないよ
0685nobodyさん2008/01/25(金) 04:22:27ID:???
ああ、たしかにDBはコネクションの問題がありますね
メンテナンス性っていうのは、
一つのディレクトリにファイルを大量に入れると速度が落ちるからディレクトリを掘らないといけないとか
古いキャッシュを削除する時にファイル数が膨大になると時間がかかるとかです
バックアップも時間かかりそう…と思ったけど
よく考えたらキャッシュのバックアップなんてしなくていいですね
0686nobodyさん2008/01/25(金) 04:28:10ID:???
DBの利点としてはメタ情報を持たせるのが簡単なことがあると思います
キャッシュの参照回数など
0687nobodyさん2008/01/25(金) 04:47:48ID:???
>>686
DBがメタ情報を持ってることと、キャッシュ本体を持ってることはとくに関係がないな
DBでやるとキャッシュコントロールやバリデーションに応じたレスポンスなど、apacheが
やってる作業を実装する手間があるので、楽をしたいということならURLベースで
キャッシュすることにして全部Squidに任せるのが一番簡単で速いと思う
0688nobodyさん2008/01/25(金) 05:16:35ID:???
>>687
なるほどSquidですか…
それは考えたこともなかったです
ちょっと勉強してみます
ありがとうございました
0689nobodyさん2008/01/25(金) 05:19:27ID:???
う〜ん、メタ情報ってのが必要なのか?
やはり画像の性質とかサーバ構成など、どのくらいのデータをどうやって捌こうとしてるか次第なところがある。
ごく小規模なシステムで、既存のコンテンツキャッシュと協調させたいとかだとDBも選択肢に入るしね。
まずはファイル削除にどのくらい時間がかかるか、まず試してみることを薦める。
0690nobodyさん2008/01/25(金) 05:30:13ID:???
俺の場合脳内メーカー的なものならファイルベースにするけど
ブログのアドオンならDBに入れるかな
0691nobodyさん2008/01/25(金) 05:43:00ID:???
>>687
リバースプロキシは動的な画像のキャッシュには向かねえべ
任意のタイミングでキャッシュを削除する処理とか必要になったりしないか
ならなきゃそれでいいんだがw
0692nobodyさん2008/01/25(金) 06:34:54ID:YEESSLoq
質問させてください 出席簿のようなアプリを作るとします。
フォームの要素は名前(name)・年齢(age)・住所(address)で、このセットが
20組くらいあるとします。
出席者は不特定数で、5人のときも20人のときもあります。
登録するテーブルのカラムも上記の3つだけのとき、どうやって
SQL文を書いたらいいんでしょう?
ループをまわすのがよさそうですがどうもよくわかりません
すみませんが教えてください。よろしくお願いします
0693nobodyさん2008/01/25(金) 06:47:09ID:???
> 登録するテーブルのカラムも上記の3つだけ
出席簿なんだから、来た人物は"何に"あるいは"いつ"出席したかという情報と結びつけなくて良いのか。
0694nobodyさん2008/01/25(金) 07:27:13ID:YEESSLoq
>>693
ありがとうございます とりあえずそれはいいです
不特定多数のデータを登録する仕組みを知りたいだけなので
よろしくお願いします
0695nobodyさん2008/01/25(金) 08:02:43ID:???
>>692
テーブルのカラムのつくりがおかしいと思うよ。
カラムは名前、年齢、住所と出席した講座名として、
その講座に出席した人を登録する。

なお、不特定多数のデータを登録する仕組みはありません。
不特定多数ということはシステム設計上は無限個数データを受け入れるか
ある上限に達したたらデータ登録はしなくてよいという制約を設けるしかありません。
どちらもシステム設計上問題があるので、こうしたアプローチはとりません。

0696nobodyさん2008/01/25(金) 08:06:45ID:???
SQLの書き方ならば、データベース板のほうだろう。
でも、書き方を知りたいのならば、質問するよりもサイト検索した方が早い。
君が納得するまで、具体例(SQLを実行する前のテーブルの状況と実行結果など)を
書けというつもりなのか?
0697nobodyさん2008/01/25(金) 08:19:25ID:???
>>692のIDは、なんとなくかっこいい件
06986922008/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:???
テーブルの設計をいろいろ工夫してみ
これやりだすと面白くてはまる可能性があるが
0700nobodyさん2008/01/25(金) 10:56:01ID:???
>>698
SSLか
いいIDだ
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:???
>>698
「ある人数分をまとめて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>
■ このスレッドは過去ログ倉庫に格納されています