Kan jeg kalde en PHP-funktion med en onclick-attribut, eller skal den være JS?


Bedste svar

Ingen PHP er backend-serverkode her er en god forklaring fra stackexchange

Forstå først, at du har tre sprog, der arbejder sammen.

  • PHP: Køres kun af serveren og svarer på anmodninger som at klikke på et link (GET) eller indsendelse en formular (POST).
  • HTML & JavaScript: Køres kun i en persons browser (undtagen NodeJS).

Jeg antager, at din fil ligner noget :

function runMyFunction() {

echo "I just ran a php function";

}

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

runMyFunction();

}

?>

Hello there!

Run PHP Function

Fordi PHP kun svarer på anmodninger (GET, POST, PUT, PATCH og SLET via $ \_REQUEST), sådan skal du køre en PHP-funktion, selvom de er i den samme fil. Dette giver dig et sikkerhedsniveau, "Skal jeg køre dette script til denne bruger eller ej?".

Hvis du ikke ønsker at opdatere siden, kan du indgive en anmodning til PHP uden at blive opdateret via en metode kaldet Asynchronous JavaScript and XML (AJAX).

Det er dog noget, du kan slå op på YouTube. Søg bare efter "jquery ajax"

Fuldt link til citat:

Udfør PHP-funktion med onClick

Svar

Den bedste måde at gøre dette på er at udsætte din PHP-funktion via en controller på din serverside-app. Javascript kan derefter kalde metoden ved hjælp af et bibliotek som Axios. Det vil sandsynligvis se sådan ud (dette er et Laravelish-eksempel):

//HTML

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *