Button ONCLICK

0

Cześć,
Na początku zaznaczę, że jestem mocno początkujący w kwestii PHP , ale piszę aktualnie pewien program i chciałbym żeby po wciśnięciu przycisku (najlepiej bez przeładowania strony) wykonała się pewna funkcja (w tej chwili jest to tylko napis dla sprawdzenia, czy działa). Posługiwałem się innymi wątkami na forum, YT, ale nie mogę już nic wymyślić.
Z góry dzięki za pomoc, poniżej umieszczam swój kod:

<form action="" method="post">
<button type="submit" name="addfirma" value="nowa">Dodaj firmę</button>
</form> 

<?php
    function nazwa($val)
    {
        echo "Udało się";
    }
if(isset($POST['addfirma']))
{
echo nazwa($_POST['addfirma']);
}

?>
0

Musisz poczytać o JS i Ajax jak chcesz bez przeładowywania strony, to raz. Dwa - Twój kod zawiera błąd przez który funkcja się nie wykonuje. Zmień swojego if'a na:

if(isset($_POST['addfirma']))
0

PHP się nie wykona w przeglądarce, ponieważ działa po stronie serwera. W momencie, kiedy użytkownik otwiera stronę w przeglądarce, kod PHP już jest dawno wykonany.

To jeden z najbardziej powszechnych błędów osób, które piszą w PHP - że chcą odpalać PHP w przeglądarce (albo inna odmiana tego błędu: chcą odpalać przeglądarkowy JavaScript na serwerze i brać z niego wartości do PHP).

PHP nie odpalisz w przeglądarce w ten sposób. Idąc w rozwiązanie PHP-only mógłbyś stworzyć formularz (<form>) w HTML i wspomniany przycisk zrobić jako "submit". Wtedy po wciśnięciu przycisku, poleciałoby zapytanie HTTP do serwera, w rezultacie odpaliłby się kod PHP na serwerze, który wyrenderowałby HTML z powrotem do przeglądarki (i strona by się przeładowała przy okazji).

Mógłbyś użyć też JavaScript, wtedy miałbyś to bez przeładowania strony, np. tak: https://jsfiddle.net/rgve2csd/
No ale jak JavaScript to zapomnij o PHP w tym kawałku

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