• 締切済み

mysqlの設定&php+javascript(ajax)

今javascript(ajax)とphpとmysqlで多言語チャットを作っているんですが退出するときにwindowを消したら退出しデータを消したいんですがmysqlにどのような設定をすればmysqlのデータを消していいのかわかりません。 htmlに<body onUnload="window.location='logout.php'">というコードを書いてlogout.phpは作ったんですが、mysqlのデータを消すのに個人に絞ることがどうやるのかという事がわかりません。 ちなみにmysqlで自分はchat(nick(入ったときのニックネーム)、time(入った時間)、words(チャットのコメント))というテーブルとmembers(nick(入ったときのニックネーム)、time(入った時間)というテーブルを使っています。

  • MySQL
  • 回答数1
  • ありがとう数1

みんなの回答

  • dell_OK
  • ベストアンサー率13% (740/5646)
回答No.1

ログインした時に、 PHPで $_SESSION["nick"] にニックネームを記憶させておきます。 logout.phpでデータを削除するSQLに、 " where nick = '".$_SESSION["nick"]."'" と記述すればいいと思います。 $_SESSIONを使うと、 ログイン時のPHPと退出時のPHPで変数の値を共有できます。 各PHPの先頭あたりで、 session_start(); を記述しておいてください。

cs007055
質問者

お礼

遅くなって申し訳ありません。とってもわかりやすい回答ありがとうございました。プログラムについて素人なのでこれからも質問しますのでもしよかったらまた回答をよろしくお願いします。

関連するQ&A

  • チャットでの自動ログアウト(PHP+MYSQL)

    今研究でPHPとMysqlを使ったチャットを作ってるんですが、どうやればチャットのブラウザーを消すと同時に退出し参加者に反映するのかわかりません。どんな小さな事でもいいので教えてください。 ちなみにMysqlのdtabase内のtableに参加者のニックネームとログイン時間のを示したものがあり、コメントをするとログの時間は更新されます。

    • ベストアンサー
    • PHP
  • mysqlを配列でjavascriptにinputする

    今、大学の研究で多言語チャットをphp、javascript、mysqlで作っているのですが、mysqlに入っているデータをどのようにしてjavascriptに配列で読み込ませるのかわかりません。どんなことでもいいので教えてください。ちなみに、mysqlにはtable名:english中身はno:番号words:使う文章となっています。またphpによりmysqlリストはjavascriptに読み込めていると思います。 できたら、配列で格納した後に検索をしなければならないのでそれをわかる人はそのことについても書いてくれるとうれしいです。

  • Ajax、PHP、MySQLでDBからデータをWEB上に表示するサイト

    Ajax、PHP、MySQLでDBからデータをWEB上に表示するサイトでDBのデータが変わるとWEBサイトの表示も変わるようにするにはどうすればいいのでしょうか。

    • ベストアンサー
    • AJAX
  • AjaxでMySQLへのデータの追加と表示をしたい

    htmlで、jQueryでMySQLのテーブルmessage_tableのデータid(int auto_increment primary)、time(datetime)、message(varchar(1000))を<tr><td>id</td><td>time</td><td>message</td>というような形で、<table id="show_table"><table>の中で全行表示し、inputのtextから新たにmessageを送信したら、それがリロードなしに同じテーブルに追加されて、表示されるというAjaxを使ったプログラムをhtmlとPHPファイルで作成したいのですが、どのようなソースを書けばよろしいでしょうか。 PHP側はMySQLのデータの取得と、htmlから送られてきたデータの追加を行い、JSON形式でhtmlに投げるという風にしたいと考えています。 データの表示と送信をするhtmlと、データを受け取り、MySQLのテーブルに追加し、htmlに返すPHPのソースは、以下のような形を考えています。 [message.html] <!DOCTYPE html> <head> <meta charset="UTF-8"> <title>message.php</title> </head> <body> <p> <input type="text" id="messgage"> <input type="button" id="add" value="add"> </p> <table id="show_table"></table> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $('#add').click(function(){ $.post('post.php',{ }, function(引数){ //処理 }) }); }); </script> </body> </html> [post.php] <?php try{ $pdo = new PDO('mysql:dbname=test; host=localhost; charset=utf8', 'root'); }catch(PDOException $e){ die($e->getMessage()); } $st = $pdo->query("SELECT * FROM message_table"); // データの取得 header('Content-Type: application/json; charset=utf-8'); echo json_encode($result);

    • ベストアンサー
    • AJAX
  • Ajax.requestでphpファイルを習得するとwhileが実行されない。

    プログラミング初心者です。初歩的な見落とし等あるかもしれませんがどうぞよろしくお願いします。 現在、AJAX、phpおよびMySQLを使ってWebアプリケーション(もどき)を製作しています。 元のファイル(便宜上a.htmlとします)にてprototype.jsのAjax.Requestを使ってphpファイル(db.phpとします)に向けて送ったパラメータによって処理を分けつつ、db.phpにてMySQLから取得して表示させたデータをさらにresponseTextで取得してa.html上に表示させるというという挙動を期待してコードを書いていました。 しかし取得したresponseTextの内容から推測するに、db.php単体で表示させると機能するwhileが、Ajax.requestでphpファイルにアクセスした場合には機能していないのです。 もう少し詳しく説明しますと、データを格納しているテーブルに対して、select* from [テーブル名] のクエリを投げたあと、 while($row= mysql_fetch_row($result)){ echo row["カラム名"]; } を行ってテーブルの内容を出力していたのですが、 phpファイルのurlをブラウザに直に打ち込んで表示させた場合は全レコードの内容が表示されるのに対し、Ajax.Request→responseTextでphpファイルの内容を取得した場合には、1行目にレコードの内容しか表示されないのです。 while文の後に出力した文字も表示されているのでwhile文の途中でコードの実行が止まったわけではないと思うのですが、いかんせん知識不足の私には対処法が思いつきません…。 誰か対処法について気が付く点等ありましたらご教授願います。

  • PHP+MySQLでこのようなシステム

    PHPとMySQLで、このようなシステムを作れないかと考えているのですが、可能か不可能か、もしくはヒントだけでもいただだけないかと思い、質問させていただきました。 まず、PHP+MySQLというのは、javascriptとかも初心者用の本を買ったりしたのですが、こういうところに使うとかいまいち理解できず、 現在PHP+MySQLと必要な時だけjavascriptのサンプルをコピペとかで使って事足りているということです。 PHP+MySQLの知識は、浅い方ですが、データベースを使っての表示や条件抽出くらいはできるくらいです。 主に使うデータベース・ページは、下記の通りです。 データベース内にテーブルが複数あります。 ・table_01 ・table_02 ・table_03 全テーブルデータの一覧を表示させるPHP(1ページ20件毎に表示させています) ・itiran.php 各会員ページのPHP ・mypage.php 「このようなシステム」というのは、 ・一覧ページ【itiran.php】に[追加]ボタンを作り、[追加]を押すと会員ページ【mypage.php】に追加した商品が一覧として表示される ・【itiran.php】および【mypage.php】で追加した商品を一覧から[削除]できる ・【itiran.php】の各商品には、追加している人数[登録数]が表示される([削除]した場合は、人数は-1となる) 【itiran.php】テーブル例 ┼───┼───┼───────┼───┼ │NAME│ZAIKO│お気に入り    │登録数│ ┼───┼───┼───────┼───┼ │ポニョ │2,000 │ 追加       │500 │ ┼───┼───┼───────┼───┼ │ゲド  │1,000 │ 追加       │300 │ ┼───┼───┼───────┼───┼ │トトロ │9,000  │登録済み・・削除│100 │ ┼───┼───┼───────┼───┼ ・データベースは、各テーブル更新があった場合、一度の更新数が多くいので、1テーブルまるごとCSVで更新しています。 ・登録数を、このテーブル内に入れておいた方が良いのでしょうか。 参考になるようなサイトもなく、PHP+MySQL可能か不可能か、もしくはヒントだけでもお願い致します。

    • ベストアンサー
    • PHP
  • PHP+MySQLで社員DB

    PHP+MySQLで社員データベースを作りたいと考えています。 テーブルは共通にしておき、各社員が、自分のデータだけを見たり変更したりすることが出来るようにしたいと思っています。つまり、各社員は1つのテーブルのうち、その人のレコードだけしかアクセスできないようにしたいのです。 果たして、このようなことは可能でしょうか。

    • ベストアンサー
    • MySQL
  • 学校の授業で困っていることがあります。PHP+MySQLでショッピング

    学校の授業で困っていることがあります。PHP+MySQLでショッピングサイトを構築しているのですが、カートの在庫処理の部分で疑問が発生しました。 私たちのショッピングサイトは、カートに商品を追加した時点で、DBの在庫テーブルの販売数を増やし、在庫数に即時に反映させたいと考えています。 しかし、ブラウザを閉じた時やセッションタイムアウト時、ログアウト時に確定していないカートの商品については販売数を元に戻したいのです。 ログアウト時は明示的に行えると思うのですが、セッションタイムアウト時、ブラウザを閉じた時の処理はどのようにすればいいのですか? そのようなイベントを取得するメソッドや方法はないのでしょうか? 参考サイトや方法を教えてください!

    • ベストアンサー
    • PHP
  • Ajaxの質問です。

    Jquery php mysqlを利用したAjaxの質問です。 http://webcake.no003.info/webdesign/jquery-ajax-php-json-sample.html 上記サイトを参考にしています。 データをpostで渡していると思うのですが、 上記サイトですと、 クロスサイトフォージェリ対策はどの様に書いたらよいでしょうか? Jqueryのクロスサイトフォージェリ対策のよい情報がなかなか見つかりません。 PHPのみですと、postで渡すリファラー、トークン照合などあると思うのですが、 Jqueryでリファラーチェック、トークン作成、などはどう書くのでしょうか? 教えてください。

  • Ajax+PHP RSSリーダ

    よろしくお願いします。 IBM developerWorks http://www-06.ibm.com/jp/developerworks/xml/060707/j_x-ajaxrss.shtml を参考にAjax RSSリーダに挑戦しました。ローカルでは問題なく動いたのですが、さくらインターネットサーバにfuguを使用してアップし、MYSQLに指定通りテーブルを作成しているのにも関わらず、動きません。さくらサーバには色々な方々の情報を元にpearインストール済みで、今回必要なモジュールも追加しています。 imototakesiさんのhttp://d.hatena.ne.jp/imototakeshi/20061028を実行すると正常に動きます。 ローカルはMAC、MAMP+PEARで、IBMのRSSリーダーはMAMPでPHP4,PHP5どちらにしても動きます。さくらサーバのMYSQLのバージョンの問題なのでしょうか?? よくわからないので何が悪いのか教えて頂けないでしょうか。よろしくお願いします。

    • 締切済み
    • PHP