わかりましたので、HTML5 で実験しており、Javascript で単純な「ペイント」アプリケーションを作成して、ユーザーのマウスが画面上のどこにあるかを描画します。正常に動作します。
次に、座標をファイルに保存したいと思いました。私のプログラムには、Javascript コードからの x 座標の配列と y 座標の配列が既にありました。
ユーザーがボタンを押すと、onClick は jQuery を使用する Javascript の関数を呼び出します。こちらのトップ アンサーのように、JavaScript 関数データを PHP 変数に取得する方法では、これを php ファイルに渡して保存しようとします。
しかし、それは機能していません。キャンバスを含む元の php ドキュメントにデータを戻す必要がありますか? もしそうなら、ドキュメントがロードされたときにPHPが実行されるときに保存するコードを実行するにはどうすればよいですか?
コード:
これは、キャンバスを含む Web ページの HTMl を含む元の php ファイルにあります。関連する保存ボタンは次のとおりです。
<button type="button" onclick="saveDrawing()" id="saveButton">Save</button>
これは、別の JS ファイルで以下を呼び出します
function saveDrawing(){
// First check that not drawing and have data
if (!readyToDraw && clickX!=null){
// If ready then pass back to the PHP file the data
$url = 'file_save_test.php';
$.get($url, {x_coords: getXCoords(), y_coords: getYCoords()});
}
else {
alert("Please add some coordinate points and press Finish before saving");
}
}
file_save_test.php には以下のみが含まれます。
<?php
// retrieve data from the JS
$buffer_data['x_coords'] = $_GET['x_coords'];
$buffer_data['y_coords'] = $_GET['y_coords'];
$x_s = $_GET['x_coords'];
$y_s = $_GET['y_coords'];
// first want to open a file
$file_name = "data_test.txt";
$file_handler = fopen($file_name, 'w');
// now to loop through arrays and write!
/*for ($i = 0; $i < sizeof($x_s); i++){
fwrite($file_handler, "$x_s[i], ");
fwrite($file_handler, "$y_s[i]\n");
} */
fclose($file_handler);
?>