Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie formularza post
Forum PHP.pl > Forum > Przedszkole
Mackos
Witajcie!
Mam formularz w którym trzeba podać login, hasło i jakies tam jeszcze dane. I teraz chciałbym zrobić to tak żeby system po wpisaniu tych danych sprawdzał czy login i hasło jest zgodny, zapisywał wpisane wartości a następnie wysyłał to do systemu płatności za pomocą metody POST.
Tak więc czy istnieje jakakolwiek funkcja 'auto_submit' dla formularzy ?
askone
Hej
  • jeśli nie znasz podstaw budowania i wysyłania formularzy to zajrzyj do manuala
  • czy sprawdzenie ma się odbywać po stronie klienta czy przeglądarki? Jeśli tak to javascript i ajax, jeśli nie to standardowo sprawdź w php po stronie serwera.


Pozdrawiam
zordon
musiałbyś zaprząc do tego ajaxa - za pomocą javascript musiałbyś wykrywać zmiany w każdym formularza i przy każdej zmianie zawartości wysyłać dane ajaxem w celu weryfikacji, jeśli ok to wysyłasz do płatności. Rozwiązanie średnie, chociażby dlatego, że niby w jaki sposób rozstrzygniesz, czy użytkownik skończył już wpisywać dane? Może się pomylił, chce cofnąć a tu zonk, formularz wysłany? Może nie dokończył wpisywać swojego nazwiska? Jak dla mnie stąpasz po cienkim lodzie. Jak już chcesz się bawić w ten sposób to możesz zrobić validację - w trakcie wpisywania skrypt niech sprawdza, czy np wypełnione zostało pole, lub kod pocztowy jest zgodny ze wzorcem i przy polu wyświetla ikonkę "ok" lub "błąd". "Autozatwierdzanie" formularza w ten sposób to średni pomysł
Mackos
Hej!
smile.gif
Znam podstawy budowania formularzy, oraz systemów logowania.

Wszystkie formularze mam gotowe tak samo jak moduł logowania itd. więc wiesz, chodzi mi jedynie o to że schemat powinien wyglądać następująco:
Klient wypełnia pole formularza i wysyła ->(tego momentu klient nie widzi)system sprawdza czy podane hasło jest ok, czy nie jeśli jest ok to wybiera dane z jego konta oraz formularza wpisuje je w zmienne i przekazuje metodą "post" ->(to klient już widzi) system płatności.

Sugerujesz javascript, próbowałem coś takiego wstawić do tej strony która wykonuje podane czynności:
  1. <head>
  2. <script languaje="JavaScript">
  3. function MiFuncion(){location.href=document.formularz.submit()};
  4. </script>
  5. </head>
  6. <body>
  7. <form action='system platnosci' name='formularz' method="post">
  8. <input tutaj inputy>
  9. </form>
  10. <script>
  11. MiFuncion();
  12. </script>
  13. </body>
  14.  

Jednak niezbyt to działa

@Zordon
No właśnie chodzi mi o to żeby użytkownik sobie na spokojnie wypełnił formularz i go wysłał, i dopiero po wysłaniu system sprawdzał wszystkie wpisane pola i zapisywał je do bazy po czym przekazywałby go na stronę płatności, jednak nie wiem jak mam 'podtrzymać' to co zostało wpisane i przesłać dalej ?
Znaczy myślałem o tym żeby w formularzu nr1 zrobić metodą GET potem z tego GET odczytać,sprawdzić i zapisać do formularza2 a następnie przesłać metodą POST ów formularz, jednak nie wiem jak automatycznie uruchomić to POST.
zordon
poczytaj o zdarzeniu onkeydown, onchange w js, a później o wysyłaniu formularzy przez ajax
w skrócie do kazdego interesującego cię pola wywołujesz swoją funkcję na eventy onkeydown, onchange (może jeszcze coś), czyli jeśli cokolwiek zmienisz w tym polu wywołujesz swoją funkcję
Twoja funkcja powinna pobierać wartości interesujących cię pól(czyli np login, hasło) i przesyłać je ajaxem do skryptu, który sprawdza, czy istnieje taki user. Jeśli tak, ajax zwraca dane o użytkowniku, ktore wstawiasz do pozostałych, niewypełnionych pól
Mackos
No właśnie o dziwo do płatności.pl jest "Post" (również mnie to zdziwiło) i wygląda następująco:
  1. <form action="https://www.platnosci.pl/paygw/ISO/NewPayment" method="POST" name="myform" id="myForm">


Jeśli da się to zrobić w js to będę wdzięczny za kod do takiego rozwiązania. Bo ten który zaprezentowałem nie działa
askone
System "Płatności.pl" udostępnia dokumentację techniczną w dziale "Pliki do pobrania". Może tam znajdziesz odpowiedź co i jak winksmiley.jpg

ps. przez przypadek skasowałem swój post....

Pzdr
Mackos
Askone nie rozumiesz mnie.
Ja MAM zintegrowany system z płatności.pl, mam przygotowane formularze, mam przygotowane niemal wszystko.
Jedno jedyne co mi jest potrzebne to to żeby to co wpisze użytkownik zapisać sobie do bazy jednocześnie przenosząc go do systemu płatności.
I to JEDYNE "coś" co mi jest potrzebne to automatyczne wysłanie formularza.
askone
Oki

To skoro tak to musisz przejąć kontrolę nad zdarzeniem "onsubmit" formularza. Wtedy będziesz mógł przed faktycznym wysłaniem formularza podjąć dodatkowe działania np sprawdzenie danych, zapis do bazy itp.

[JAVASCRIPT] pobierz, plaintext
  1. $("form").submit(function(){
  2. sprawdzenie poprzez ajax danych użytkownika, zapis w bazie i zwrócenie odpowiedniego wyniku - oczywiście należy uzupełnić wywołanie ;)
  3. $.post{
  4. url : questionmark.gif,
  5. success: function(data){
  6. if(data.wynik_sprawdzenia === true)
  7. $(this).submit; - musisz sprawdzić czy this wskazuje na formularz jeśli nie to go pobierz
  8. });
  9. };
  10.  
  11.  
  12.  
  13. });
[JAVASCRIPT] pobierz, plaintext
Mackos
a można w onsubmit wstawić funkcję php ? pytam bo jestem bardziej biegły w php jak w AJAX ;P
askone
Nie można, to jest javascript winksmiley.jpg Ale zawsze możesz poprzez ajax wywołać funkcję php
Mackos
I jak to zrealizować ? guitar.gif

Szczerze mówiąc nie mogę sobie poradzić z kodem który mi podałeś sadsmiley02.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.