Kan jag ringa en PHP-funktion med ett onclick-attribut eller måste det vara JS?


Bästa svaret

Ingen PHP är backend-serverkod här är en bra förklaring från stackexchange

Först först, att du har tre språk som arbetar tillsammans.

  • PHP: Körs bara av servern och svarar på förfrågningar som att klicka på en länk (GET) eller skicka ett formulär (POST).
  • HTML & JavaScript: körs bara i någon webbläsare (exklusive NodeJS).

Jag förutsätter att din fil ser ut som :

function runMyFunction() {

echo "I just ran a php function";

}

if (isset($\_GET["hello"])) {

runMyFunction();

}

?>

Hello there!

Run PHP Function

Eftersom PHP bara svarar på förfrågningar (GET, POST, PUT, PATCH och DELETE via $ \_REQUEST), så måste du köra en PHP-funktion även om de finns i samma fil. Detta ger dig en säkerhetsnivå, "Ska jag köra det här skriptet för den här användaren eller inte?".

Om du inte vill uppdatera sidan kan du göra en begäran till PHP utan att uppdatera via en metod som heter Asynchronous JavaScript and XML (AJAX).

Det är dock något du kan slå upp på YouTube. Sök bara "jquery ajax"

Hel länk till citat:

Kör PHP-funktionen med onClick

Svar

Det bästa sättet att göra detta skulle vara att exponera din PHP-funktion via en styrenhet på din serversida-app. Javascript kan sedan ringa metoden med hjälp av ett bibliotek som Axios. Det skulle förmodligen se ut så här (Detta är ett Laravelish-exempel):

//HTML

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *