Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zrobić dwuprzebiegowy formularz ?
Forum PHP.pl > Forum > Przedszkole
Greg23
Mam formularz, który pobiera dane wpisane na stronie i dodaje do bazy (wszystko dzieje się w index.html form action="")

  1. if(isset($_POST["submit"]) && ($_POST["check1"]==1) && ($_POST["check2"]==1)) {
  2.  
  3. $cur_date=date('Y-m-d H:i:s');
  4.  
  5. $wiadomosc = 'Imię i nazwisko: '.$name.'<br> Pesel: '.$pesel.'<br>Email: '.$email.'<br> Telefon: '.$telefon. '<br>Kwota: '.$amount.'<br> Raty: '.$amount2;
  6. $add = mysql_query("INSERT INTO kredyty(id, nazwa, pesel, telefon, email, kwota, raty, site, typ, ip, data) VALUES('', '$name', '$pesel', '$telefon','$email','$amount','$amount2', '$site', '$typ', '$ip', '$cur_date')");
  7.  
  8.  
  9. if ($add) {
  10. echo '<h1 style="color:#ff0000;line-height:50px;">Dziękujemy za wypełnienie formularza.<br /> Nasi doradcy wkrótce się z Tobą skontaktują aby przedstawić ofertę.</h1>';
  11. } else {
  12. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  13. }
  14. }
  15.  
  16. else {
  17. ?>
  18. <!-- kod formularza-->


Chciałbym pobrać jeszcze dodatkowe info takie jak miejsce zamieszkania itp (ale nie zrażać od razu dużą ilością pól do wypełnienia) i zrobić tak, ze po wypełnieniu tego formularza, który przedstawiłem dane dodają się do bazy, ale pojawia się jeszcze 2 formularz z prośbą o podanie dodatkowych danych i wysłanie tego 2 formularza powoduje update rekordu, który powstał wcześniej (z 1 formularza).

Jak to najlepiej zrobić ?
vonski
Jeżeli chcesz, żeby wszystko odbywało się w obrębie jednej strony / pliku, możesz w pierwszym formularzu submitowi nawać nazwę np. 'submit_1', a w drugim 'submit_2'. Potem sprawdzasz $_POST:
isset($_POST['submit_1']):
- obsłuż formularz
- pobierz ID utworzonego rekordu
- wyświetl drugi formularz
- wstaw do pola 'hidden' uprzednio pobrany ID

isset($_POST['submit_2']):
- obsłuż formularz

else:
- pokaż pierwszy formularz
Greg23
Rozumiem, a jak w takim razie zrobić, żeby 2 formularz updatował rekord dodany przez 1 ?
(można updatować ostatnio dodany rekord, ale gdyby w międzyczasie inna osoba wypełniała to samo, to mogłoby się nie updatować to co trzeba)
Czyli jak szybko pobrać id rekordu dodanego przez 1 formularz, żeby drugi dodawał właśnie do tego id (jakiś last_insert_id) ?
vonski
Zobacz mój wcześniejszy post, dopisałem to w edycji, bo dopiero po wysłaniu się zorientowałem, że w drugim kroku chcesz updatować stworzony rekord w kroku pierwszym smile.gif

[edit]
a id pobierzesz tą funkcją mysql_insert_id - przy okazji przeczytaj ten warning w czerwonej ramce wink.gif
Greg23
Ok, dziękuję za pomoc, zaraz będę testował czy mi to wyjdzie smile.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.