ユーザーが Web ページのボタンをクリックしたときに、サーバー上のファイルを編集しようとしています。php を使用してボタンのテーブルを生成します。STRING1、STRING2、および BOOL は、関数に渡す変数です。作成した editPlist() 関数が呼び出され、テストの alert() が表示されます。問題は、php ファイルを実行することです。エラーも発生していません。何が悪いのかわからないようです。
サンプル HTML ボタン:
<a href="#" onclick="editPlist('STRING1', 'STRING2', 'BOOL')" class="buttong">1 : Round 1</a>
ボタンをクリックすると、次のスクリプトが実行されます (URL 行の PHP が、実行するファイルのアドレスを生成します)。
<script type='text/javascript'>
function editPlist(stage, dance, oldValue)
{
alert('test ' + stage + dance + oldValue);
$.ajax({
type: "POST",
url: <?php echo '"'.dirname(curPageURL()).'/PlistEditorFunction.php"' ?>,
data: {"var1" : stage , "var2" : dance , "var3" : oldValue},
success: function(msg){
alert( "Data Saved: " + msg ); //Anything you want
}
});
}
外部の php ファイル PlistEditorFunction.php で、偽のエラーをログに記録して変数をロードしようとしましたが、エラーは表示されません。これはphpファイルの始まりです:
$msg = 'test error message';
error_log('['.date("F j, Y, g:i a e O").']'.$msg."<br /> \n", 3, $phperrorPath);
if (isset($_POST['data']) and trim($_POST['data']) != '' ) {
$stage = trim($_POST['var1']);
$dance = trim($_POST['var2'])
$oldValue = trim($_POST['var3']);
}
ドメイン名がajaxの実行元のファイルと一致する場合にのみ、phpスクリプトが実行されることを私は知っています。2 つのファイルが隣り合っているので、これが問題ではないことはわかっています。
これを修正するにはどうすればよいですか?