php $_POST 配列を確認して、ユーザーがアニメーション画像をクリックした場所を示す X:Y 値をキャプチャしたいと考えています。問題は、静止画像の入力送信情報を取得できる一方で、アニメーション画像からは値を取得できないことです。
この動作を示す完全な HTML ページとフォームを次に示します:
<!doctype html> <html> <頭> <メタ文字セット="utf-8"> <title>ガンファイター テスト ページ</title> <スタイル> ディビジョン { 幅:24ピクセル; 高さ:24ピクセル; 位置:相対; -webkit-animation:glide 1 秒イーズインアウト代替無限; } @-webkit-keyframes グライド { から { 左:-400ピクセル; 上:0px; } に { 左:400ピクセル; 上:0px; } } </スタイル> </head> <本体> <中央> <フォームメソッド="ポスト"> <input type="image" name="Staredown" value="Staredown" alt="Staredown" src="https://i.imgur.com/sQwX4Qg.png"> <input type="image" name="ジェスチャー" value="ジェスチャー" alt="ジェスチャー" src="https://i.imgur.com/0iJnH5Q.png"><br> <div><input type="image" name="撮影" value="撮影" alt="撮影" src="https://i.imgur.com/i9oV2j3.png"></div> ; </フォーム> </center> </本文>
これは、フォーム (ボタン) の送信をチェックし、クリックされた画像内の座標を表示するいくつかの PHP です:
<?php //var_dump($_POST); echo "フォーム (ボタンのクリック) 結果 (完璧なスコアは x=32 および y=32 です: <br>\n"; echo "<p>\n"; if ((isset($_POST["Staredown_x"])) || (isset($_POST["Gesture_x"])) || (isset($_POST["Shoot_x_x"]))){ スイッチ(真){ case (isset($_POST["Staredown_x"])): echo "見つめられたクリック座標=> 壊す; case (isset($_POST["Gesture_x"])): echo "ジェスチャーのクリック座標=> 壊す; case (isset($_POST["Shoot_x"])): echo "シュートクリック座標=> 壊す; } } それ以外 { echo "ボタンをクリックするとスコアが表示されます。
\n"; } ?>
クリックされた画像のクリック座標は (静的な場合) 取得できるのに、アニメーション画像を同じように動作させることができないのはなぜですか?アニメーション画像は、クリックの座標を $_POST["Shoot_x"] に設定しません (または、php で収集できると思われる他の方法で登録します)。
この例は、(私とは異なり) $_POST["imagename_x_x"] をチェックするのではなく、$_POST["imagename_x"] の入力とチェックに注意を払っていれば、書かれたとおりに機能します。フォーム作業>"] 私がやったのと同じです。