Mam do wyboru trzy opcje - jedna musi być koniecznie zaznaczona ponieważ jest to potwierdzenie na przesyłanie ofert handlowych, a dwie pozostałe są opcjonalne i maksymalnie tylko jedna z nich może być zaznaczona.
Mam zrobione zapisywanie w sesji zaznaczeń oraz adresu email wpisanego w formularzu, tak aby w razie niepowodzenia nie było potrzeby wpisywania drugi raz adresu czy zaznaczania ponownie wyboru (bo wszystko jest sprawdzane i jak coś co jest wymagane nie jest spełnione wyrzuca błąd, że trzeba poprawić, a jak jest wszystko ok to dodaje do bazy danych).
Moim problemem jest to, że jak właśnie zaznaczę jedną z tych dwóch opcjonalnych opcji, a np. nie wypełnię pola z adresem email - czyli wyrzuci mi błąd to mimo, że zaznaczyłem opcję drugą, przeskakuje mi na pierwszą. Opcje korzystają z tej samej sesji, dzięki temu mogę wybrać maksymalnie jedną z nich bo wybierając drugą przełącza mi się z tej pierwszej. Podejrzewam, że to właśnie powoduje ten problem, ale nie wiem jak go rozwiązać...
W chwili obecnej w bazie zapisuje się tylko adres email, a chciałbym jeszcze osiągnąć zapisywanie opcji zgodnie z tą która została wybrana.
Kończąc dodam tylko, że moja znajomość php jest jeszcze (mam nadzieję


Formularz:
<label> <input type="radio" name="zgoda" <?php { } ?>/> Zgadzam się na przesłanie ofert handlowych na podany e-mail </label> <br/> <label> <input type="radio" name="opcja" <?php { } ?>/> Reprezentuję skład budowlany </label> <br/> <label> <input type="radio" name="opcja" <?php { } ?>/> Buduję dom </label>
Akceptacja zgody i wybór opcji, oraz zapamiętanie ich:
//Akceptacja zgody $wszystko_OK = false; $_SESSION['info_zgoda'] = "Potwierdź wyrażenie zgody na przesłanie ofert handlowych."; } $wszystko_OK = false; $_SESSION['info_opcja'] = "Wybierz opcję."; } //Zapamiętanie wprowadzonych danych $_SESSION['zapamietaj_email'] = $email;
Dodawanie emaila do bazy:
if ($wszystko_OK==true) { //Wszystko ok, dodanie adresu email do bazy if ($polaczenie->query("INSERT INTO adresy VALUES (NULL, '$email', '$opcja')")) { $_SESSION['info_poprawne']="Dziękujemy za skorzystanie z naszej oferty!"; }