Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zmienne w formularzu - przekazywanie do kolejnej funkcji
Forum PHP.pl > Forum > Przedszkole
leewang
Witam,

Mam pewien problem, mianowicie chcę wysłać drugi raz przesłane dane metodą post i nie mogę sobie z tym poradzić.

Chodzi mi o to że mam pierwszą stronę na której mam np:

  1. <?php
  2.  
  3. $email_nadawcy = isset($_POST['email_nadawcy']) ? $_POST['email_nadawcy'] : '';
  4. $temat = isset($_POST['temat']) ? $_POST['temat'] : '';
  5. $pytanie = isset($_POST['pytanie']) ? $_POST['pytanie'] : '';
  6.  
  7.  
  8.  
  9. <table>
  10. <form method='post' action='zamowienie.php'>
  11. <tr>
  12.  
  13. <td> E-mail: </td><td><INPUT TYPE='TEXT' NAME='email_nadawcy' value=\"$email_nadawcy\" size=20>*</td>
  14.  
  15. </tr>
  16.  
  17. <tr>
  18.  
  19. <td> Temat: </td><td><INPUT TYPE='TEXT' NAME='imie' value=\"$temat\" size=20>*</td>
  20.  
  21. </tr>
  22.  
  23. <tr>
  24.  
  25. <td> Pytanie: </td><td><INPUT TYPE='TEXT' NAME='nazwisko' value=\"$pytanie\" size=20>*</td>
  26.  
  27. </tr>
  28. <input type='submit' value='Zamów'> </form>
  29.  
  30. </table>");
  31. ?>


Druga strona (zamowienie.php):

  1. <?php
  2. $email_nadawcy = $_POST['email_nadawcy'];
  3. $temat= $_POST['temat'];
  4. $pytanie= $_POST['pytanie'];
  5.  
  6.  
  7. print("<table>
  8. <form method='post' action='zamowienie.php'>
  9. <tr><td>E-mail: </td><td>$email_nadawcy</td></tr>
  10. <tr><td>Temat: </td><td>$temat</td></tr>
  11. <tr><td>Pytanie: </td><td>$pytanie</td></tr>
  12. <br/><input type='submit' name='wyslijzamowienie' value='Zamów'></form>
  13. </table>");
  14.  
  15. if(!isset($_POST['wyslijzamowienie']))
  16. {
  17. $_POST['wyslijzamowienie']='0'; //zmienna na poczatku przed przypisaniem wartosci
  18. }
  19.  
  20. if($_POST['wyslijzamowienie']) //Gdy wcisniety jest przycisk wyslij w formularzu
  21. {
  22.  
  23.  
  24. //E-mail z zamowieniem - tresc maila
  25.  
  26.  
  27.  
  28.  
  29.  
  30. mail('mojmail@wp.pl', $_POST['temat'], $pytanie, 'From: '.$_POST['email_nadawcy']);
  31. print("<center><b>Wiadomość została wysłana!</b><br>");
  32.  
  33. }
  34.  
  35.  
  36. ?>


Gdy kliknę na drugiej stronie wyślij to wywala mi błędy, że nie może znaleźć zmiennych (które wcześniej wyświetlił na tej samej stronie w tabeli) zamiast wysłać maila.

Co z tym zrobić? Próbowałem już wywoływać na innych stronach zmienne, przekazywać je itp, ale nic nie dawało.

Proszę o pomoc sad.gif
jacobson
A czemu w pierwszym formularzu przesylasz dane input name = imie i name = nazwisko?
A nie powinno byc przypadkiem name = temat i name = pytanie ?
leewang
Polę typu input bo osoba która będzie chciała skorzystać z formularza musi mieć możliwość wpisywania maila, tematu i pytania wink.gif

Ogólnie to chodzi mi o większy formularz, z większą ilością pól ale tutaj napisałem taki przykładowy żeby dowiedzieć się czemu zmienne które są na drugiej stronie w tabeli nie chcą się przesłać dalej do funkcji wyślij po kliknięciu przycisku.
sadistic_son
Sam sobie odpowiedziałeś dlaczego.... bo są w tabeli a nie w formularzu... Pododawaj tam pola typu hidden, w value daj te zmienne i wtedy przesyłaj je dalej.
leewang
Dzięki, działa 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.