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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ajaxin.pl - Zależne od siebie HTML'owe selecty - DEMO</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="htmlselects.js"></script>
</head>
<body>
<form name="doublecombo" id="doublecombo" action="ddl.php">
<select size="1" name="a" id="a" onChange="getLevel(this)">
<option value="0" selected>-- wybierz kategorię --</option>
<?php
$query = mysql_query("SELECT * FROM html_sel WHERE parent_id=1",$mysql_conn);
echo '<option value="'.$myrow["id"].'">'.$myrow["nazwa"].'</option>'."\n"; }
?>
</select>
<select name="b" id="b" onChange="getLevel(this)" disabled>
<option selected>-- puste --</option>
</select>
<select name="c" id="c" onChange="getLevel(this)" disabled>
<option selected>-- puste --</option>
</select>
<select name="d" id="d" onChange="getItem(this)" disabled>
<option selected>-- puste --</option>
</select>
<input type="submit" name="submit" value="Wyślij"> /*dopisane przeze mnie*/
</form>
<?php
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "usluga:\n$_POST[a]\nformat: $_POST[b]\nilosc: $_POST[c]\ncena: $_POST[d]";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[a] <$_POST[b]>";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("mail@mail.pl","formularz","$message","$header") or
die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>"; }
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>"; ?>
</body>
</html>
plik ddl.php
<?php
/* header('Content-Type: text/xml; charset=utf-8'); */
header('Content-Type: text/xml');
/* Sprawdzanie czy id jest liczbą - w PHP od wersji 5.2*/
if(filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT) == FALSE) return false;
//dla starszych wersji PHP
$id = (int)$_GET["id"];
$query = mysql_query("SELECT * FROM html_sel WHERE parent_id = ".$id."", $mysql_conn);
echo '<?xml version="1.0" encoding="utf-8" ?>' .'<records>';
{
echo '<option id="'.$myrow["id"].'">'.$myrow["nazwa"].'</option>'; }
}
else
{
echo '<option id="1">Brak podkategorii!</option>'; }
?>