Problem z formularzem PHP, Problem z przekazaniem danych miedzy stronami... |
Problem z formularzem PHP, Problem z przekazaniem danych miedzy stronami... |
4.10.2012, 17:05:45
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.09.2010 Skąd: Kędzierzyn Ostrzeżenie: (0%) |
Witam,
od jakiegos czasu mecze sie z formularzem. uproscilem juz go do 1 zmiennej i dalej mam problem. Chodzi o to, iż w pierwszej czesci podajemy zamawianą ilosc, klikamy podglad ->nastepuje przejscie do drugiej strony i wyswietlenie podgladu -tutaj dane jeszcze są... a potem klikamy złóż zamowienie i robi sie problem, bo nie ma danych... gdzies sie gubią. Przesyłam kody 3 plikow: index.php Kod <?php extract( $_GET ); // sprawdzamy, czy zmienna $submit jest pusta if (empty($_POST['submit'])) { // wyswietlamy formularz echo " <form method=\"POST\"> <center> <br> <!-- <center><b>Pola oznaczone * s± wymagane!</center></b> --> <br> <table border=\"0\" width=\"433\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td align=\"right\"><b>Zamawiana ilosć*:</b> </td> <td> <p align=\"center\"> <input name=\"ilosc\" maxlength=\"70\" type=\"text\" style=\"float: left\"></td> </tr> </table> <br> <input type=\"submit\" name=\"submit\" value=\"Podgl±d\" onclick=\"form.action='/formularze/test/podglad.php';\"></form> <input type=\"reset\" value=\"Wyczy¶ć formularz\"></form> <br>Aby złożyć zamówienie kliknij przycisk <b>Podgl±d</b> a na następnej stronie kliknij <b>Złóż zamówienie</b></center> </font></center></center><br><br><br><br> </body> "; } ?> podglad.php Kod <?php echo "<form method=\"POST\">"; echo $_POST['ilosc']; echo " <input type=\"submit\" name=\"submit\" value=\"Złóż zamówienie\" onclick=\"form.action='/formularze/test/wyslij.php'\"> <input type=\"submit\" name=\"back\" value=\"Wróć\" onclick=\"form.action='java script:history.go(-1);'\"> </form><br><center>"; ?> wyslij.php Kod <?php echo $_POST[ilosc]; if (!empty($_POST[ilosc]) ) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomo¶ć // zmienna $message zawiera tre¶ć wiadomo¶ci $message = "Zamowienie\n Rodzaj druku: Skierowanie do poradni specjalistycznej Zamawiana ilosc: $_POST[ilosc] "; // zmienna $header zawiera przede wszystkim adres zwrotny $header = "From: $_POST[nazwa_jednostki] <$_POST[email]>"; $header = "Content-type: text/plain; charset=iso-8859-2\r\n"; // $header .= "MIME-Version: 1.0\r\n"; // $header .= "Content-Transfer-Encodin: 8bitr\n"; // funkcja mail() za pomoc± której wiadomo¶ć zostanie wysłana @mail("damian@sowatech.com.pl","Zamówienie","$message","$header") or die("Nie udalo sie wyslac wiadomosci"); // wy¶wietlenie komunikatu w przypadku powodzenia echo "<div align=\"center\"><strong><font face=\"verdana\" color=\"#008000\" size=\"2\">Wiadomo¶ć wysłano<br> <a href='java script:back();'>Wróć</a></font></strong></div>"; } // lub w przypadku nie wypełnienia formularza do końca else echo "<span style=\"color: #FF0000; text-align: center;\"><font face=\"verdana\" color=\"#FF0000\" size=\"3\">Wyst±pił bł±d - wróć i uzupełnij pola oznaczone gwiazdk±! <a href='java script:history.back();'> Wróć</a></font></span>"; ?> Co zrobic aby to zadziałało?? dodam, że jeżeli pomine plik podgląd to działa bez problemu |
|
|
4.10.2012, 17:15:54
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) |
nie czytałem Twojego kodu, ale dane są w tablicy POST tylko bezpośrednio po wysłaniu, jeżeli robisz formularz wieletapowy, czyli wysyłany jest kilka razy, to poprzednie dane możesz zachować na 2 sposoby: 1. Zapisać je do sesji (wtedy na końcu pobierzesz sobie z sesji dane z poprzednich formularzy), 2. zapisać do pól typu hidden (wszystkie będziesz miał w tablicy POST)
|
|
|
4.10.2012, 17:19:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.09.2010 Skąd: Kędzierzyn Ostrzeżenie: (0%) |
w jaki sposób je zapisać jako hidden??
Kod <input type="hidden" name="ilosc" value="ilosc"> czy moze Kod <input type="hidden" name="ilosc" value="<?php echo $_POST['ilosc']; ?>">
Ten post edytował viTokk 4.10.2012, 17:22:50 |
|
|
4.10.2012, 17:51:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) |
to drugie
|
|
|
4.10.2012, 17:56:14
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.09.2010 Skąd: Kędzierzyn Ostrzeżenie: (0%) |
a jak to ma wygladac w kodzie??
|
|
|
4.10.2012, 18:07:32
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) |
no tak jak pokazałeś (ten drugi przykład), pytasz się jakbyś pierwszy raz przy komputerze siedział Żeby się nauczyć to trzeba pokombinować na kilka sposobów i obadać co jak działa, takim teoretyzowaniem niczego się nie nauczysz.
Ten post edytował tehaha 4.10.2012, 18:07:43 |
|
|
4.10.2012, 18:45:49
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.09.2010 Skąd: Kędzierzyn Ostrzeżenie: (0%) |
no i doigrałeś się....
wielkie dzieki za pomoc... udalo sie... Kod echo "<input type=\"hidden\" name=\"ilosc\" value=\"$_POST[ilosc]\">
Ten post edytował viTokk 4.10.2012, 18:52:51 |
|
|
Wersja Lo-Fi | Aktualny czas: 13.06.2024 - 05:20 |