2015-09-28 55 views
4

我想在按鈕單擊上運行php函數。對於如:在按鈕單擊上運行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"; 
} 

?> 

我的問題是,我這樣做時,我沒有得到預期的輸出我一直在尋找。請給我最好的解決方案,這是爲了在按鈕點擊時運行php函數,無論是簡單的button還是submit

+3

你不能老是這樣做,PHP是一種腳本語言。如果你想點擊事件,嘗試使用Javascript –

回答

4

我試過威廉的代碼,謝謝兄弟。

但它不是一個簡單的按鈕,我必須添加form =「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(); 
} 

?> 
+0

這一個在工作 –

2

這樣做:

<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(); 
} 
?> 
+0

它會工作,沒有包含'method =「POST」'屬性的'form'標籤? – marmeladze

1

您正在試圖調用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

所以,如果你想要做的做了asynchron通話時,您可以使用「阿賈克斯「 - 是的,這就是Javascript方式。但我認爲,我的代碼示例已足夠這次:)

1
<a href="home.php?click=1" class="btn">Click me</a> 
<?php 
    if($_GET['click']){ 
    doSomething(); 
    } 
?> 

但最好使用JS和使用Ajax調用的功能!

-1

沒問題,您可以使用onClick()功能很容易在不使用語言的任何其他干擾,

<?php 
echo '<br><Button onclick="document.getElementById(';?>'modal-wrapper2'<?php echo ').style.display=';?>'block'<?php echo '" name="comment" style="width:100px; color: white;background-color: black;border-radius: 10px; padding: 4px;">Show</button>'; 
?> 
+0

你好,按鈕顯示...但我沒有得到應用程序,所以這個問題的解決方案。謝謝,如果你添加它。 – Robert