Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak zrobić dwuprzebiegowy formularz ?
Greg23
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

Ostrzeżenie: (0%)
-----


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ć ?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
vonski
post
Post #2





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

Ten post edytował vonski 3.04.2014, 12:32:00


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
Greg23
post
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

Ostrzeżenie: (0%)
-----


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) ?


--------------------
Go to the top of the page
+Quote Post
vonski
post
Post #4





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

Ten post edytował vonski 3.04.2014, 12:39:21


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
Greg23
post
Post #5





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 6.04.2012

Ostrzeżenie: (0%)
-----


Ok, dziękuję za pomoc, zaraz będę testował czy mi to wyjdzie smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:54