1

タイトルがかなり漠然としているように見えるかもしれません。申し訳ありませんが、質問の言い方がよくわかりません。

ボタンが押されたときにボタンクラスの値が割り当てられるPHP変数を取得しようとしています。このような並べ替え:

<input id="button-id" class="button-1" type="button" onclick="<?php $variable=class of button-id; // Assign the variable here ?>"

どうすればよいか、または可能かどうかがわからないため、明らかに構文が間違っています。

これが必要な理由は、次のようなものに依存する MySQL クエリを実行して$variableいるためです。

$query = "SELECT * FROM table WHERE name='{$variable}'";

これは、クエリの使用目的により、このようにする必要があります。

助けてくれてありがとう。

4

2 に答える 2

0

要するに、そのようにすることはできません。

おそらくやりたいことは、非表示フィールドを使用して、フォームを送信することによってデータを PHP スクリプトに渡すことです。例えば:

<form method="post" action="form.php">
  <input type="hidden" name="variable" value="button-1" />
  <input type="submit" class="button" />
</form>

ファイルform.phpは次のようになります。

<?php

$user = 'example';
$pass = 'example';

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

// use a prepared statement!
$stmt = $dbh->prepare("SELECT * FROM table WHERE name = ?");

// the user input is automatically quoted, so no risk of SQL injection
if ($stmt->execute(array($_POST['variable']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}

もちろん、クエリの結果をすぐに出力するのではなく、後で使用するために変数に格納することをお勧めします。フォームと同じページにスクリプトを組み込むこともできます。

于 2013-07-10T00:47:41.517 に答える
-1

うーん、これを試してみてください: Jquery を使用してボタン クラスを Ajax リクエストに渡しました。このリクエストは以下の php ファイルに送信されます。

編集:インジェクション攻撃を防ぐために、データを正しく解析およびフィルタリングしていることを確認してください。これは、HTML クラスを PHP に渡すことができることを示しています。

HTML ファイル

<html>
    <head>
    <script type="text/javascript">
        // Assign your button an on click event using jquery
        $('#button-id').click(function(){ 
            //Store our current elements class value
            var buttonclass = $(this).attr("class");
            //Create an ajax request that goes to aphp file and will receive your class value
            $.ajax({
              url: 'ajaxfile.php?buttonclass='+buttonclass,
              success:function(data){
                alert(data);
              }
            });
        }); 
    </script>
    </head>
    <body>
    <input id="button-id" class="button-1" type="button"  />
    </body>
</html>

PHPファイル

<?php

    $pdo = new PDO("mysql:dbname=newdbnaem;host=1.1.1.1:1111", "owner",  "passwordlulz");

    $buttonclass = $_GET['buttonclass'];
    $query = $pdo->prepare("SELECT * FROM table WHERE name = :name");
    $query->execute(array(':name' => $buttonclass));

?>
Success
<?php exit(0);
?>

うまくいけば、それは役に立ちます!

于 2013-07-10T00:39:46.397 に答える