Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z formularzem PHP, Problem z przekazaniem danych miedzy stronami...
viTokk
post 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>&nbsp;&nbsp;&nbsp;&nbsp; </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
Go to the top of the page
+Quote Post
tehaha
post 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)
Go to the top of the page
+Quote Post
viTokk
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
Go to the top of the page
+Quote Post
tehaha
post 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
Go to the top of the page
+Quote Post
viTokk
post 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??
Go to the top of the page
+Quote Post
tehaha
post 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ł biggrin.gif Ż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
Go to the top of the page
+Quote Post
viTokk
post 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
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 Wersja Lo-Fi Aktualny czas: 16.05.2024 - 15:34