ユーザーがボタンをクリックしたときにPHPスクリプトを実行するための最良の方法は何ですか?ユーザーには何も返送されません。(PHPスクリプトはPostgreSQLクエリのみを送信します。)
私はデータを返す方法を見つけただけです。実行したいだけです。
あなたはAJAX(非同期javascript)を探しています。javascript関数にターゲットスクリプトを呼び出させて、何も返さないか、戻り値に対して何もしないようにします。または、ページ上の非表示のiframeに送信するフォームを作成することもできます。
これは私が思いつくことができる最高のものです。それがあなたが探していたものであったことを願っています。
/* Function that we create to handle backwards compatiblity to browsers.
What it does is to try diffrent types of XMLHttpRequests. */
function getXMLHttp() {
var xmlHttp;
try {
//Firefox, Opera, Safari, Chrome, IE7+
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
//Internet Explorer 6
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
//Internet Explorer 5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
return xmlHttp;
}
// Here, we send the request
function send() {
/* We say the variable xmlHttp is the function
where we try the diffrent XMLHttpRequests*/
var xmlHttp = getXMLHttp();
// We open your PHP file...
xmlHttp.open("POST", "yourphpfile.php", true);
// ...and send it to the server
xmlHttp.send();
}
少し簡単 にユーザーに何も返されないため、GETではなくPOSTを使用します。サーバーへのリクエストをファイルに送信します。そして、あなたがあなたの質問で言ったように、何かがPostgreSQLサーバーに送られました。ただし、そのPHPスクリプトは、PHPをサポートするホスティングサーバーで実行されます。
これを行う最も基本的な方法は、htmlフォームです。
<form action="somePHPfile.php" method="post">
<input type="button" value="Run somePHPfile.php" />
</form>
ベンDが提案したことを行うこともできますが、それはこれを行うための最も基本的な方法ではありません。jqueryの使用:
$("#YOURbuttonID").click(function(){
$.post("yourPHPfile.php", function(){
alert("Success!");
});
});
Ajaxを使用する必要があります。その後、divなどを更新して、クエリが適切に実行されたかどうかをユーザーが認識できるようにします。