• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy da się wywołać funkcję i przesłać formularz jednym przyciskiem?

Object Storage Arubacloud
0 głosów
348 wizyt
pytanie zadane 10 sierpnia 2016 w PHP przez Karwolo Użytkownik (500 p.)
	<input type="submit" value="Dodaj" />

Chciałbym wywołać funkcję  w PHPie która wykona działania z danymi z formularza wysłanymi postem, da się to zrobić jednym przyciskiem?

komentarz 10 sierpnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Much details.... O co chodzi? Klikasz na submita i wysyłasz jednym przyciskiem...
komentarz 10 sierpnia 2016 przez Karwolo Użytkownik (500 p.)

Chcę zapisać to w jednym pliku phpa czyli:  

<form action="index.php" method="post"> 

Wysyła mi do tego samego pliku tylko jest taki problem, że mi wykonuje obliczenia z inputów zanim wcisnę przycisk, więc chce te działania wsadzić do funkcji którą wywołam po naciśnięciu. Wiem, że można to niby zrobić ifami, żeby sprawdzał czy są podane wartości ale moim zdaniem to niepotrzebne obciążanie serwera,

 

1
komentarz 10 sierpnia 2016 przez Spiral Obywatel (1,330 p.)

To prawdopodobnie masz problem, bo umieszczenie wszystkiego w jednym pliku wymaga właśnie takiego  "niepotrzebnego obciążania serwera". Ewentualnie możesz zamiast wykonywać if dla każdej zmiennej, zrobić jednego ifa sprawdzającego jedną ze zmiennych post czyli:
 

if(isset($_POST['zmienna1'])){
    // sprawdzanie i akcje na innych zmiennych
}
//Reszta kodu (forumularz itd.)

Wtedy za każdym razem, gdy zmienne jeszcze nie będą ustawione, wykona się tylko 1 if. Nie sądzę by istniało dużo lepsze rozwiązanie. Użycia ifa po prostu raczej nie da się uniknąć.

komentarz 11 sierpnia 2016 przez Karwolo Użytkownik (500 p.)
W sumie racja jeden if mnie nie zbawi, a tak na przyszłość wiesz jak zrobić przycisk do którego mogę wywołać funkcję? Coś chyba z onclickiem było..
komentarz 11 sierpnia 2016 przez Comandeer Guru (600,690 p.)
W PHP nie da się przechwycić kliku, bo PHP jest wykonywany po stronie serwera a klik zachodzi po stronie klienta.
komentarz 11 sierpnia 2016 przez Karwolo Użytkownik (500 p.)
Dzięki!

1 odpowiedź

+1 głos
odpowiedź 11 sierpnia 2016 przez Comandeer Guru (600,690 p.)

 Wiem, że można to niby zrobić ifami, żeby sprawdzał czy są podane wartości ale moim zdaniem to niepotrzebne obciążanie serwera,

Rozumiem, że piszesz aplikację w skali Facebooka, gdzie każda linijka kodu i milisekunda się liczą? Nie? To w takim razie robisz przedwczesną optymalizację i robisz sobie krzywdę.

Wystarczy przerwać wykonanie skryptu jeśli metoda żądania to nie POST:

if ( $_SERVER[ 'REQUEST_METHOD' ] !== 'POST' ) {
    exit;
}

W idealnym świecie miałbyś routing rozdzielający działanie w zależności od metody żądania.

Podobne pytania

0 głosów
3 odpowiedzi 4,961 wizyt
pytanie zadane 31 marca 2016 w JavaScript przez lukasz1390 Użytkownik (500 p.)
0 głosów
1 odpowiedź 196 wizyt
0 głosów
2 odpowiedzi 742 wizyt
pytanie zadane 30 czerwca 2020 w HTML i CSS przez asdsad Początkujący (420 p.)

92,536 zapytań

141,377 odpowiedzi

319,455 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...