Czy mogę wywołać funkcję PHP z atrybutem onclick, czy też musi to być JS?


Najlepsza odpowiedź

Żaden kod PHP nie jest kodem serwera zaplecza. Oto świetne wyjaśnienie ze stosu wymiany

Po pierwsze, zrozum, że masz trzy języki współpracujące ze sobą.

  • PHP: jest uruchamiany tylko przez serwer i odpowiada na żądania, takie jak kliknięcie łącza (GET) lub przesłanie formularz (POST).
  • HTML i JavaScript: działa tylko w czyjejś przeglądarce (z wyłączeniem NodeJS).

Zakładam, że Twój plik wygląda mniej więcej tak :

function runMyFunction() {

echo "I just ran a php function";

}

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

runMyFunction();

}

?>

Hello there!

Run PHP Function

Ponieważ PHP odpowiada tylko na żądania (GET, POST, PUT, PATCH i DELETE przez $ \_REQUEST), w ten sposób musisz uruchomić funkcję PHP, nawet jeśli znajdują się one w tym samym pliku. Zapewnia to poziom bezpieczeństwa: „Czy powinienem uruchomić ten skrypt dla tego użytkownika, czy nie?”.

Jeśli nie chcesz odświeżać strony, możesz wysłać żądanie do PHP bez odświeżania za pośrednictwem metoda o nazwie Asynchronous JavaScript and XML (AJAX).

To jest coś, czego możesz szukać w YouTube. Po prostu wyszukaj „jquery ajax”

Pełny link do cytatu:

Wykonaj funkcję PHP za pomocą onClick

Odpowiedz

Najlepszym sposobem na to byłoby odsłonięcie twoją funkcję PHP za pośrednictwem kontrolera w aplikacji po stronie serwera. Javascript może następnie wywołać metodę przy użyciu biblioteki takiej jak Axios. Prawdopodobnie wyglądałoby to mniej więcej tak (to jest przykład Laravelish):

//HTML

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *