サポート » 使い方全般 » アンカーリンクのクリック時にmysqlのテーブルにINSERTしたい

  • コチラを参考にして、フォーム部分をアンカーリンクに替えてリンククリック時にmysqlの既存テーブルにINSERTできるようにしたいと考えています。
    しかし、アンカーリンクをクリックしても、onClickが動きません。外部サイトへのURLがあるので、~とするのは難しいかと思っています。(そうしても動かないです)
    やりたいことは、imgタグを囲ったアンカーリンクをクリックして外部ドメインのサイトへページ遷移するその瞬間に、mysqlのテーブルをUPDATEすることです。これがクリアできれば途中の工程はこだわりません。
    アンカーリンクを使うことに問題があるのか、Wordpressで実現するのに問題があるのか、皆目わかりません。下記は現在のコードです。

    【HTMLファイル】

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="./js/post.js"></script>
    </head>
    
    <body>
    <a href="http://example.com/***/" onClick="updateMymysql('param1','param2','param3');"><img src=中略/></a>
    </body>
    </html>

    【post.js】

    function updateMymysql(param1,param2,param3) {
    $.ajax({
    type: 'POST',
    url: 'post.php',
    data: "data1=param1&data2=param2&data3=param3",
    });
    }

    【post.php】(エラー処理は省略しています。)

    <?php
    $url = "**************";
    $user = "**************";
    $pass = "**************";
    $db = "**************";
    
    $connect = mysql_connect($url, $user, $pass) ;
    $sdb = mysql_select_db($db, $connect) ;
    
    $data1 = $_POST['data1'];
    $data2 = $_POST['data2'];
    $data3 = $_POST['data3'];
    
    $sql = "INSERT INTO tb_sample VALUES('$data1','$data2','$data3')";
    mysql_query($sql, $connect);
    mysql_close($connect);
    ?>

    アドバイスを宜しくおねがいします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター jim912

    (@jim912)

    コードをざっと見て、post.php へのパスが正しく通っているかあやしい気がします。

    post.jsや、post.php の中でどこまで想定通りの動作が発生しているのか確認すべきですね。

    あと、post.phpのコードは送信されたデータをエスケープせずにそのままデータベースに挿入しようとする危険なコードなので利用すべきではありません。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「アンカーリンクのクリック時にmysqlのテーブルにINSERTしたい」には新たに返信することはできません。