Witajcie,

Jestem nowy na forum, a moja wiedza jest dość ograniczona więc proszę o wyrozumiałość. Chciałem sobie zrobić formularz na stronę internetową, który pozwalałby
uprawnionej osobie (np. pracownikowi) na wybranie z list rozwijanych zależnych od siebie konkretnych pozycji i późniejsze przesłanie tego na maila.
Do stworzenia list użyłem tutoriala http://ajaxin.pl/2007/02/22/zalezne-od-sie...tmlowe-selecty/
Stworzyłem sobie przykładową bazę danych i wszystkie elementy w "selectach" ładnie się wczytują.
Mam jednak problem z pobraniem wartości wybranych w selectach i przesłaniem ich na konkretny adres email.
Byłbym bardzo wdzięczny za wszelaką pomoc.

Mój kod:


htmlselects.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  4. <title>ajaxin.pl - Zależne od siebie HTML'owe selecty - DEMO</title>
  5. <script type="text/javascript" src="prototype.js"></script>
  6. <script type="text/javascript" src="htmlselects.js"></script>
  7. </head>
  8.  
  9. <body>
  10.  
  11.  
  12.  
  13. <form name="doublecombo" id="doublecombo" action="ddl.php">
  14.  
  15. <select size="1" name="a" id="a" onChange="getLevel(this)">
  16. <option value="0" selected>-- wybierz kategorię --</option>
  17. <?php
  18. $mysql_conn = mysql_connect('localhost', 'root', 'haslo');
  19. mysql_select_db('formularz', $mysql_conn);
  20. mysql_query("SET NAMES utf8;");
  21. $query = mysql_query("SELECT * FROM html_sel WHERE parent_id=1",$mysql_conn);
  22.  
  23. while ($myrow = mysql_fetch_array($query)) {
  24. echo '<option value="'.$myrow["id"].'">'.$myrow["nazwa"].'</option>'."\n";
  25. }
  26. ?>
  27. </select>
  28.  
  29. <select name="b" id="b" onChange="getLevel(this)" disabled>
  30. <option selected>-- puste --</option>
  31. </select>
  32.  
  33. <select name="c" id="c" onChange="getLevel(this)" disabled>
  34. <option selected>-- puste --</option>
  35. </select>
  36.  
  37. <select name="d" id="d" onChange="getItem(this)" disabled>
  38. <option selected>-- puste --</option>
  39. </select>
  40.  
  41. <input type="submit" name="submit" value="Wyślij"> /*dopisane przeze mnie*/
  42.  
  43.  
  44. </form>
  45.  
  46.  
  47.  
  48.  
  49. <?php
  50.  
  51. if (!empty($_POST['submit']) && !empty($_POST['a']) && !empty($_POST['b']) && !empty($_POST['b']) && !empty($_POST['d'])) {
  52. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  53. // zmienna $message zawiera treść wiadomości
  54. $message = "usluga:\n$_POST[a]\nformat: $_POST[b]\nilosc: $_POST[c]\ncena: $_POST[d]";
  55. // zmienna $header zawiera przede wszystkim adres zwrotny
  56. $header = "From: $_POST[a] <$_POST[b]>";
  57. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  58. @mail("mail@mail.pl","formularz","$message","$header")
  59. or die('Nie udało się wysłać wiadomości');
  60. // wyświetlenie komunikatu w przypadku powodzenia
  61. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  62. }
  63. // lub w przypadku nie wypełnienia formularza do końca
  64. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  65. ?>
  66.  
  67.  
  68.  
  69.  
  70.  
  71. </body>
  72. </html>


plik ddl.php

  1. <?php
  2. /* header('Content-Type: text/xml; charset=utf-8'); */
  3. header('Content-Type: text/xml');
  4. header('charset=utf-8;');
  5.  
  6. /* Sprawdzanie czy id jest liczbą - w PHP od wersji 5.2*/
  7. if(filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT) == FALSE) return false;
  8.  
  9. //dla starszych wersji PHP
  10. if (!isset($_GET["id"]) or !is_numeric($_GET["id"])) exit;
  11. $id = (int)$_GET["id"];
  12.  
  13. $mysql_conn = mysql_connect('localhost', 'root', 'haslo');
  14. mysql_select_db('formularz', $mysql_conn);
  15. mysql_query("SET NAMES utf8;");
  16.  
  17. $query = mysql_query("SELECT * FROM html_sel WHERE parent_id = ".$id."", $mysql_conn);
  18.  
  19. echo '<?xml version="1.0" encoding="utf-8" ?>'
  20. .'<records>';
  21. if(mysql_num_rows($query) > 0)
  22. {
  23. while ($myrow = mysql_fetch_array($query)) {
  24. echo '<option id="'.$myrow["id"].'">'.$myrow["nazwa"].'</option>';
  25. }
  26. }
  27. else
  28. {
  29. echo '<option id="1">Brak podkategorii!</option>';
  30. }
  31. echo '</records>';
  32. ?>