Marcin Barańczak

Marcin Barańczak Programista - tester
automatyzujący

Temat: Pobieranie danych z formularza

Podczas mojej nierównej walki z php natknąłem się na kolejny problem, z którym nie potrafię sobie poradzić:

Posiadam plik php zawierający <FORM>. W tym samym pliku pobieram dane z formularza za pomocą filter_input(INPUT_POST). W zależności od wyniku program ma podjąć odpowiednie działanie. Problem polega na tym, że program nie czeka na wysłanie (<input type='submit'>) tylko od razu przechodzi do analizy warunku. Czy jest jakaś możliwość, żeby zmusić program do tego aby faktycznie poczekał aż we formularzu pojawią się odpowiednie dane?
Marek Karmelski

Marek Karmelski PHP Programmer,
Magento dev, Agencja
reklamowa White
Ducky

Temat: Pobieranie danych z formularza

Spróbuj zastosować ukryte pole input albo nadaj wartość przyciskowi submit, po przeładowaniu niech skrypt sprawdzi czy przesłałeś w tych polach jakąś wartość, jeżeli tak: skrypt rozpoczyna wykonywać swoje instrukcje, jeżeli nie wraca do formularza.

Temat: Pobieranie danych z formularza

Tu nie ma czegoś takiego jak 'program nie czeka na wysłanie'.
Plik przetwarza się zawsze od góry do dołu niezależnie czy wyślesz formularz czy nie.
To Ty masz zrobić taki warunek że jeżeli formularz nie jest przesłany to dany fragment kodu ma się nie wykonać.
Jaki warunek to już Marek napisał.

konto usunięte

Temat: Pobieranie danych z formularza

Marcin B.:
Podczas mojej nierównej walki z php natknąłem się na kolejny problem, z którym nie potrafię sobie poradzić:

Posiadam plik php zawierający <FORM>. W tym samym pliku pobieram dane z formularza za pomocą filter_input(INPUT_POST). W zależności od wyniku program ma podjąć odpowiednie działanie. Problem polega na tym, że program nie czeka na wysłanie (<input type='submit'>) tylko od razu przechodzi do analizy warunku. Czy jest jakaś możliwość, żeby zmusić program do tego aby faktycznie poczekał aż we formularzu pojawią się odpowiednie dane?

http://jqueryvalidation.org/
http://jqueryvalidation.org/files/demo/

dodaj walidację po stronie klienta i jak dane nie będą poprawne to nie zrobisz submit
Marcin Barańczak

Marcin Barańczak Programista - tester
automatyzujący

Temat: Pobieranie danych z formularza

Dziękuję bardzo za informacje.
Przemysław Świderski

Przemysław Świderski Administrator Sieci,
Aves Sp. z o.o.

Temat: Pobieranie danych z formularza

użyj skryptów js. One zwalidują ci formularz, a w momencie kiedy wszystko będzie ok, zaczną przetwarzać kod php, w przeciwnym przypadku skrypty js podejmą akcje jaką w nich wskażesz.
Tomasz Zadora

Tomasz Zadora programuję

Temat: Pobieranie danych z formularza

Tak gwoli ścisłości to skrypty js nie przetwarzają żadnego PHP, mogą co najwyżej wysłać zapytanie (np. wykorzystując AJAX) do serwera, który to serwer wywoła skrypt php i zwróci odpowiedź.

Po za tym sprawdzenie formularza po stronie js/klienta/przeglądarki to za mało, ZAWSZE musi być też sprawdzenie po stronie serwera/skryptu php.

Natomiast jak sprawdzić czy dane z formularza zostały wysłane? Nie przez submit tylko od tego jest ukryte pole, np.:

<input type="hidden" name="formularz_wyslany" value="1" />


if (isset($_POST['formularz_wyslany']) && $_POST['formularz_wyslany'] == 1) {

....kod php wywoływany jedynie kiedy wyslano formularz...

}
Przemysław Świderski

Przemysław Świderski Administrator Sieci,
Aves Sp. z o.o.

Temat: Pobieranie danych z formularza

Mi chodziło o walidacje w postaci, czy pola są uzupełnione, czy email przypomina email, a nr telefonu jest numerem telefonu. Dodatkowo w js za pomocą php możesz sprawdzić czy dane wpisy widnieją, w twojej bazie danych, lub spełniają określone warunki
Jeśli te dane się zgadzają, to pisząc przetwarzać, znaczy przejść to wywołania kodu php.

Następna dyskusja:

pobieranie danych z kilku t...




Wyślij zaproszenie do