Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]duży formularz na stronę sposób na przechwycenie danych
Forum PHP.pl > Forum > Przedszkole
asqard
Witam kolegów.
Gdyż jestem początkującym programistą w php "przyjmnijmy że programistą"

na swoją stronę próbuję zrobić formularz zamówienia

Kod formularza już w tym momencie jest bardzo opszerny, i chcąc go wysyłać stworzyłem taki skryp

  1. // dane zamawiającego
  2.  
  3.  
  4.  
  5. $zamawiajacy = $_POST["zamawiajacy"];
  6.  
  7. $adres = $_POST["adres"];
  8.  
  9. $nazwa = $_POST["nazwa"];
  10.  
  11. $miasto = $_POST["miasto"];
  12.  
  13. $kod_pocztowy = $_POST["kod_pocztowy"];
  14.  
  15. $telefon = $_POST["telefon"];
  16.  
  17. $gotowka = $_POST["gotowka"];
  18.  
  19. $przelew = $_POST["przelew"];
  20.  
  21. $adresdo = "lewandowski.it@gmail.com";
  22.  
  23. $temat = "Zamówienie ze strony www";
  24.  
  25. $zawartosc = 'Zamawiający: ' . $zamawiajacy. "\n"
  26.  
  27. .'Adres zamawiającego: ' . $adres. "\n"
  28.  
  29. .'Miasto: ' . $miasto. "\n"
  30.  
  31. .'Kod pocztowy: ' . $kod_pocztowy. "\n"
  32.  
  33. .'Telefon: ' . $telefon. "\n"
  34.  
  35. .'Gotówka: ' . $gotowka. "\n"
  36.  
  37. .'Przelew: ' . $przelew. "\n"
  38.  
  39.  
  40.  
  41. mail($adresdo,$temat,$zawartosc)



Jest to znikoma część skryptu bo sam formularz w html zajmyje już blisko 800lini kodu

formularz urywek

  1.  
  2. <form action="zam.php" method="post">
  3.  
  4.  
  5. <legend>Formularz</legend>
  6.  
  7. <table width="953" border="0">
  8.  
  9. <tr>
  10.  
  11. <th colspan="3" scope="col"><em><u>Dane zamawiającego:</u></em></th>
  12.  
  13. <th colspan="3" scope="col"></th>
  14.  
  15. <th colspan="3" scope="col">&nbsp;</th>
  16.  
  17. <th width="333" colspan="3" scope="col">&nbsp;</th>
  18.  
  19. </tr>
  20.  
  21. <tr>
  22.  
  23. <th colspan="3" scope="row"><div align="right">Zamawiający</div></th>
  24.  
  25. <td colspan="3"><input type="text" name="zamawiajacy" size="40" maxlength="150"></td>
  26.  
  27. <th colspan="3"><div align="right">Adres</div></th>
  28.  
  29. <td colspan="3"><input type="text" name="adres" size="40" maxlength="150"></td>
  30.  
  31. </tr>
  32.  
  33. <tr>
  34.  
  35. <th colspan="3" scope="row"><div align="right">Nazwa</div></th>
  36.  
  37. <td colspan="3"><input type="text" name="nazwa" size="40" maxlength="100"></td>
  38.  
  39. <th colspan="3"><div align="right">Miasto</div></th>
  40.  
  41. <td colspan="3"><input type="text" name="miasto" size="40" maxlength="150"></td>
  42.  
  43. </tr>
  44.  
  45. <tr>
  46.  
  47. <th colspan="3" scope="row"><div align="right">NIP</div></th>
  48.  
  49. <td colspan="3"><input type="text" name="nip" size="20" maxlength="10"></td>
  50.  
  51. <th colspan="3"><div align="right">Kod pocztowy</div></th>
  52.  
  53. <td colspan="3"><input type="text" name="kod_pocztowy" size="20" maxlength="6"></td>
  54.  
  55. </tr>
  56.  
  57. <tr>
  58.  
  59. <th colspan="3" scope="row"></th>
  60.  
  61. <td colspan="3"></td>
  62.  
  63. <th colspan="3"><div align="right">Telefon</div></th>
  64.  
  65. <td colspan="3"><input type="text" name="telefon" size="20" maxlength="9"></td>
  66.  
  67.  
  68.  
  69. </tr>
  70.  
  71. <tr>
  72.  
  73. <th colspan="3" scope="row"><div align="right">Forma płatności</div></th>
  74.  
  75. <th colspan="3"><div align="left">
  76.  
  77. <select name="platnosc" id="platnosc">
  78.  
  79. <option value="gotowka" name="gotowka" label="Gotówka">Gotówka</option>
  80.  
  81. <option value="przelew" name="przelew" label="Przelew">Przelew</option>
  82.  
  83. </select>
  84.  
  85. </div></th>
  86.  
  87. </tr>
  88.  
  89.  


Próbowałem przy użyciu metody post z przesyłką na maila ale nie zadziałało i skłaniam się ku temu by jakoś zapisać to do bazy może sqlite może mysql
ale za bardzo nie wiem jak się tym zająć mam wyobrażenie jak ma działać ale jak to osiągność już jest gorzej...smile.gif

PS. może są jakieś automaty generujące takowy kod?
z góry dziękuję za pomoc i sugestie
jeremiash
To nie będzie takie łatwe jak Ci się wydaje. Głównie ze względów bezpieczeństwa danych. Po pierwsze polecam korzystanie z połączenia z bazą danych poprzez PDO http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO . Zasada jest prosta... wysyłasz formularz na stronę zam.php i przechwytujesz zmienne za pomocą
  1. $nazwa = $_POST['nazwa'] // !!! tam jest pijedyńczy apostrof !!!
Potem zapisujesz do bazy. Tak jak mówię: najlepiej PDO za pomocą podpinania, wówczas problem filtracji danych wejściowych masz załatwiony -> jeśli dobrze będziesz oczywiście podczepiał smile.gif pozdrawiam




  1. <input atrybuty=" " />
/// <input />

tyle na szybko znalazłem z literówek
bigZbig
Ale w czym jest problem? Nie wiesz jak wysłać treść formularza na maila, czy jak zapisać wynik do bazy danych?
jeremiash
Nie wyszło mu na maila i wie, że alternatywą jest zapis do bazy danych... tylko nie wie jak. Cokolwiek wybierzesz, pamiętaj o zabezpieczeniu tego formularza ... to najważniejsze w tym wszystkim ! Najlepiej oblukaj jakiegoś gotowca na necie.
asqard
dobrze zapoznam się z PDO i już coś tam działa, pozostanie zrobienie jakiegoś backendu dla tego formularza i wyświetlenie sobie danych ale to już wyczytałem w mądrej "książce php i mysql vademecum profesjonalisty" założenie chciałem to w zend zrobić ale kicha wyszła:) ale dzięki za sugestie jak zaczne robić to na bazie i będę miał problemy opiszę sprawę więc wątka nie zamykam pozdrawiam
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-2024 Invision Power Services, Inc.