PHP is server-side code, and html is client-side code. To implement the button's onclick event, the client calls the server-side function, so it must submit a request to the server.
There is a simple and crude way, that is, when the button is an a tag, you can directly write the PHP page to be executed in the href (or jump to PHP through JS by binding window.location to the button) . This approach requires designing a PHP code for each button.
My approach is: bind the click event to the button with event ajax, and then execute ajax.
1, server.php
<?php if (isset($_POST['action'])) { switch($_POST['action']) { case "btn1":btn1();break; case "btn2":btn2();break; default:break; } } function btn1() { echo "hello 按钮1"; } function btn2() { echo "hello 按钮2"; } ?>
Method 1: index.php
<html> <head> <style> div {width:600px;margin:200px auto;} .btn { background-color:#44c767; -moz-border-radius:28px; -webkit-border-radius:28px; border-radius:28px; border:1px solid #18ab29; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:17px; padding:16px 31px; text-decoration:none; text-shadow:0px 1px 0px #2f6627; } .btn:hover { background-color:#5cbf2a; } .btn:active { position:relative; top:1px; } #btn2 {float:right;} </style> <script type="text/javascript" language="javascript" src="jquery.js"></script> <script type="text/javascript" language="javascript"> function fun(n) { $.ajax({ url:"server.php", //the page containing php script type: "POST", //request type data:{action: n.value}, success:function(result){ alert(result); } }); } function fun2(n) { var url = "server.php"; var data = { action : n.value }; jQuery.post(url, data, callback); } function callback(data) { alert(data); } </script> </head> <body> <div> <button type="button" class="btn" id="btn1" οnclick="fun(this)" value="btn1">按钮1</button> <button type="button" class="btn" id="btn2" οnclick="fun2(this)" value="btn2">按钮2</button> </div> </body> </html>
Method two: index.php
<html> <head> <style> div {width:600px;margin:200px auto;} .btn { background-color:#44c767; -moz-border-radius:28px; -webkit-border-radius:28px; border-radius:28px; border:1px solid #18ab29; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:17px; padding:16px 31px; text-decoration:none; text-shadow:0px 1px 0px #2f6627; } .btn:hover { background-color:#5cbf2a; } .btn:active { position:relative; top:1px; } #btn2 {float:right;} </style> <script type="text/javascript" language="javascript"> var xmlHttp; function createXMLHttpRequest(){ //检查浏览器是否支持 XMLHttpRequest 对象 if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } } function fun(n){ createXMLHttpRequest(); var url="server.php"; xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xmlHttp.onreadystatechange = callback; xmlHttp.send("action=" + n.value); } function callback(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ alert(xmlHttp.responseText); } } } </script> </head> <body> <div> <button type="button" class="btn" id="btn1" οnclick="fun(this)" value="btn1">按钮1</button> <button type="button" class="btn" id="btn2" οnclick="fun(this)" value="btn2">按钮2</button> </div> </body> </html>
Method one reference:
jQuery ajax - post() method:
http://www.w3school.com.cn/jquery/ajax_post.asp
Method 2 Reference:
Create XMLHttpRequest Object:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_create.asp
Send request to the server:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp
Server response:
http://www.w3school.com.cn /ajax/ajax_xmlhttprequest_response.asp
onreadystatechange event:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechange.asp
For more related questions, please visit the PHP Chinese website: PHP Video Tutorial
The above is the detailed content of onclick event in corresponding button in PHP. For more information, please follow other related articles on the PHP Chinese website!

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
