- ベストアンサー
質問:データベース更新に関する考え方と方法
- データベースを更新するためのPHPファイル(update.php)を別のPHPファイルからjavascriptを使って呼び出す方法について教えてください。
- 現在の方法では、update.phpがファイルとして開かれてしまい、更新ボタンを押した時に裏で更新処理を行うことができません。解決方法はありますか?
- また、update.phpを関数化する方法も考えられますが、別ファイルで更新処理を行いたいと思っています。どのような方法があるでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
隠しフレームとか。 <iframe width="0%" height="0%" name="dmy"> <form target="dmy" action="update.php">
その他の回答 (3)
- saijyo_739
- ベストアンサー率53% (119/222)
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616#Sec10.2.5 http応答で204 No Contentを返すとか方法は色々ありそうですね。
- yambejp
- ベストアンサー率51% (3827/7415)
すでに回答がありますが非同期処理であればajaxなのでしょう。 ただ、無手順で更新をかけられる仕組みは攻撃しやすく危険がつきものですし バリデートや二重処理のことも考えると管理しやすいとは言えません。 可能な限りページ遷移を前提とした構成にした方がスマートだと思います
- question_buster
- ベストアンサー率80% (4/5)
ちょうど今日隣の人に聞かれたので答えときます。 関数化したところでページは遷移すると思いますよ。 ライブラリ使わないと面倒なんでjqueryで; <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ //サブミットボタンをクリックしたら $('#submit_id').click(function(){ //シリアライズ form_data = $('#form_id').serialize(); //ajaxで通信 $.ajax({ type: "POST", url: "update.php", data: form_data, success: function(e){ //eには結果がはいりますー。任意の方法で表示やた判別を。 alert(e); } }); }); }); </script> HTML <form id="form_id"> <input> <input type="submit" id="submit_id"> </form> こんな感じでどうでしょ。 最初は$.getとか$.postの方が単純でいいかも。 上のソースは全角なんで半角に直してください。ではー。
お礼
早速のご回答ありがとうございます。 やはりAjax等を使わないとできないですか・・・
お礼
ご回答ありがとうございます。 以前に調べたところ、教えて頂いたように"iframe"を使ったケース がありましたが、知識不足で良く理解できませんでした。 上記の内容ももう少し詳しく教えて頂ければ助かります。 よろしくお願いします。