Jak wywołać funkcje php za pomocą funkcji javaScript?

0

kliknięcie na przycisk uruchamia mi funkcję javaScript i chciałbym aby ta funcja uruhcomiła innafukcję w pliku php

plik php path = 'php/plik.php';

function funkcjaPHP(){
      echo '<script>console.log("wykonano:  funkcjaPHP()");</script>';
}

plik javascript

function funkcjaJS() {
    console.log('wykonano funkcjaJS');  // i jakieś inne operacje
   

//nie wiem jak wywołać funkcję php
    uruchom.funkcjaPHP('php/plik.php');
}

w pliku index.php wczytalem plik.php

require_once 'php/plik.php';

więc funkcja jest widoczna

1

Funkcji/metody nie wykonasz. Możesz za to posłużyć się ajaxem.

0

czy mógłby ktoś wskazać jakiś bardzo prosty przykład??

0

szukam i nie umiem znalezc

0

To poczytaj o AJAX to zrozumiesz.

2
Taraj2 napisał(a):

https://www.w3schools.com/php/php_ajax_php.asp

Tutaj masz przykładowe połączenie JS i PHP ;)

<script>
$(document).ready(function () { 
    var interval = 20000;   
    var refresh_audition1 = function() {
        $.ajax({
            url: "php/box.php",
            cache: false,
            success: function(html) {
                $('.ajax_front_box1').html(html);
                setTimeout(function() {
                    refresh_audition1();
                }, interval);
            }
        });
    };
});
</script> 
0

kliknięcie na przycisk uruchamia mi funkcję javaScript i chciałbym aby ta funcja uruhcomiła innafukcję w pliku php

Jeśli JavaScript odpala się w przeglądarce, a PHP jest na serwerze, to znaczy, żeby wywołać funkcję PHP musiałbyś ją wywołać zdalnie. Przez internet musiałyby lecieć dane z nazwą funkcji, parametrami itp. żeby serwer wiedział co ma uruchomić (to, że coś piszesz w jednym pliku, nie znaczy, że uruchomi się razem!).

To o co pytasz, potraktowane dosłownie, byłoby możliwe przez RPC (remote procedure calling), jednak wymagałoby to specjalnych zabiegów, odpowiedniej infrastruktury, np.

  1. skrypt JS w przeglądarce odpala funkcjaPHP('NAZWA FUNKCJI)
  2. lecą dane przez internet (AJAX)
  3. serwer odbiera dane, wywołuje funkcję PHP o podanej nazwie
  4. funkcja PHP wywołuje się
  5. serwer zwraca odpowiedź do przeglądarki -
  6. skrypt JS w przeglądarce ją odbiera i zwraca wynik, np. wywołując odpowiedni callback

Tylko, że w większości przypadków nie byłoby ci to w ogóle potrzebne, szczególnie, że implementacja RPC byłaby trochę trudniejsza niż sam AJAX (a jeśli sam AJAX stanowi problem...).

Radziłbym raczej zmienić pytanie i zamiast pytać o wywołanie funkcji PHP z poziomu JS, to zapytałbym o to "w jaki sposób przesłać dane z JS do PHP i odwrotnie?", czyli np. wspomnianym już AJAXem (są biblioteki do tego, np. jQuery).

1 użytkowników online, w tym zalogowanych: 0, gości: 1