ここから本文です

Google Chromeの拡張機能でJavascriptを使ってMySQLにデータを追加する方法を教え...

このエントリーをはてなブックマークに追加

質問者

norihito08さん

2013/7/2622:53:36

Google Chromeの拡張機能でJavascriptを使ってMySQLにデータを追加する方法を教えて下さい。

ソースファイルは以下の3つです。
・manifest.json //Chromeマニフェストファイル
・post.js //MySQLに送る値を指定してregist.phpに渡す。
・regist.php //post.jsから受け取った値をMySQLに登録する。

*regist.phpは他の場所で使用し、登録ができることを確認済みです。

症状はChromeのツールバーにボタンを表示させボタンを押すのですが反応がありません。
どこをどう修正すればよいのかが分かりません。
分かる方教えてください。

manifest.json
{
"manifest_version": 2,

"name": "My 12th Extension",
"description": "My 12th Extension",
"version": "1.0",

"browser_action": {
"default_icon": "icon.png",
"name": "click to rewrite form actions"
},
"background": {
"scripts":["jquery.js", "post.js"]
},
"permissions":[
"tabs", "http://*/"
]
}



post.js
var param1 = 1;
var param2 = 2;
function ajaxPostFunc(param1, param2){
$.post("regist.php", {input1:param1, input2:param2}, function(json){alert("パラメータをPOSTしました");});
}


regist.php
<?php

mb_language("uni");
mb_internal_encoding("utf-8"); //内部文字コードを変更
mb_http_input("auto");
mb_http_output("utf-8");

//conection:

try {
$dbh = new PDO('mysql:host=localhost;dbname=amazon','root','root') or die("Error " . mysqli_error($link));
;
} catch (PDOException $e) {
var_dump($e->getMessage());
exit;
}

mysql_set_charset('utf8');



// POSTされたパラメータを受け取る
$title = $_POST["input1"];
// $ = $_POST["input2"];

//エンコード
$title = mb_convert_encoding($title, "UTF-8", "auto");
print($str);


//レコード登録
$stmt = $dbh->prepare("insert into keyword (keytitle) values (:keytitle)");
$stmt->execute(array(":keytitle"=>$title));


// レコード取得
// $sql = "select * from keyword";
// $stmt = $dbh->query($sql);
// foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $user) {
// var_dump($user['keytitle']);
// }

echo "登録されました。";

//disconect:
mysql_close($dbh);
?>
<br>
<a href = "http://localhost">戻る<a>

閲覧数:
436
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

darkintegerさん

2013/7/2708:57:22

ブラウザアクションのボタンクリックにイベントハンドラを追加する必要があります。

post.js
var param1 = 1;
var param2 = 2;
function ajaxPostFunc(param1, param2){
$.post("regist.php", {input1:param1, input2:param2}, function(json){alert("パラメータをPOSTしました");});
}
chrome.browserAction.onClicked.addListener(ajaxPostFunc)

質問した人からのコメント

2013/7/27 14:37:40

ありがとうございます!
無事にクリックするとpost.jpが動くようになりました!

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加
簡単にみんなで作るショート動画アプリ Yahoo!Chocotle for Android(無料)

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する