ボタンのクリック時にphp関数を実行したい。例えば:
<input type="button" name="test" id="test" value="RUN" onclick="<?php echo testfun(); ?>" /><br/>
<?php
function testfun()
{
echo "Your test function on button click is working";
}
?>
私の質問は、これを行うと、期待した出力が得られないことです。単純なbutton
またはsubmit
であるかどうかにかかわらず、ボタンクリックでphp関数を実行するための最適なソリューションを教えてください。
兄のウィリアムのコードを試しました。
しかし、method = "post"でフォームを追加する必要がある単純なボタンとしては機能しません。また、ボタンの代わりに送信を作成する必要があります。
以下は私のコードです。
<form method="post">
<input type="submit" name="test" id="test" value="RUN" /><br/>
</form>
<?php
function testfun()
{
echo "Your test function on button click is working";
}
if(array_key_exists('test',$_POST)){
testfun();
}
?>
これを行う:
<input type="button" name="test" id="test" value="RUN" /><br/>
<?php
function testfun()
{
echo "Your test function on button click is working";
}
if(array_key_exists('test',$_POST)){
testfun();
}
?>
JavaScript関数を呼び出そうとしています。 PHP関数を呼び出したい場合は、たとえばフォームを使用する必要があります:
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
(元のコード: http://www.w3schools.com/html/html_forms.asp )
したがって、非同期呼び出しを実行する場合は、「Ajax」を使用できます。これがJavascript-Wayです。しかし、今回は私のコード例で十分だと思います:)
<a href="home.php?click=1" class="btn">Click me</a>
<?php
if($_GET['click']){
doSomething();
}
?>
しかし、JSを使用し、ajaxを使用して関数を呼び出すことをお勧めします。