Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybór opcji w formularzu z zapisem do bazy
andrzej11
post 5.01.2018, 14:38:56
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 29.12.2017

Ostrzeżenie: (0%)
-----


Witam, sprawa wygląda następująco..
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ę biggrin.gif) nie zbyt wielka, nie potrafiłem sobie z tym sam poradzić przez kilka h dlatego postanowiłem poprosić o pomoc smile.gif

Formularz:
  1. <label>
  2. <input type="radio" name="zgoda" <?php
  3. if (isset($_SESSION['zapamietaj_zgode']))
  4. {
  5. echo "checked";
  6. unset($_SESSION['zapamietaj_zgode']);
  7. }
  8. ?>/> Zgadzam się na przesłanie ofert handlowych na podany e-mail
  9. </label>
  10. <br/>
  11. <label>
  12. <input type="radio" name="opcja" <?php
  13. if (isset($_SESSION['zapamietaj_opcja']))
  14. {
  15. echo "checked";
  16. unset($_SESSION['zapamietaj_opcja']);
  17. }
  18. ?>/> Reprezentuję skład budowlany
  19. </label>
  20. <br/>
  21. <label>
  22. <input type="radio" name="opcja" <?php
  23. if (isset($_SESSION['zapamietaj_opcja']))
  24. {
  25. echo "checked";
  26. unset($_SESSION['zapamietaj_opcja']);
  27. }
  28. ?>/> Buduję dom
  29. </label>


Akceptacja zgody i wybór opcji, oraz zapamiętanie ich:
  1. //Akceptacja zgody
  2. if (!isset($_POST['zgoda'])) {
  3. $wszystko_OK = false;
  4. $_SESSION['info_zgoda'] = "Potwierdź wyrażenie zgody na przesłanie ofert handlowych.";
  5. }
  6. if (!isset($_POST['opcja'])) {
  7. $wszystko_OK = false;
  8. $_SESSION['info_opcja'] = "Wybierz opcję.";
  9. }
  10. //Zapamiętanie wprowadzonych danych
  11. $_SESSION['zapamietaj_email'] = $email;
  12. if (isset($_POST['zgoda'])) $_SESSION['zapamietaj_zgode'] = true;
  13. if (isset($_POST['opcja'])) $_SESSION['zapamietaj_opcja'] = false;


Dodawanie emaila do bazy:
  1. if ($wszystko_OK==true)
  2. {
  3. //Wszystko ok, dodanie adresu email do bazy
  4. if ($polaczenie->query("INSERT INTO adresy VALUES (NULL, '$email', '$opcja')"))
  5. {
  6. $_SESSION['info_poprawne']="Dziękujemy za skorzystanie z naszej oferty!";
  7. }


Ten post edytował andrzej11 5.01.2018, 14:47:38
Go to the top of the page
+Quote Post

Posty w temacie
- andrzej11   Wybór opcji w formularzu z zapisem do bazy   5.01.2018, 14:38:56
- - nospor   if (isset($_POST['zgoda'])) $_SE...   5.01.2018, 16:50:39
- - andrzej11   Wiem, że to nie powinno tak być, jednak też nie ma...   8.01.2018, 16:28:30
- - nospor   opcja masz ustawic na false w dwoch przypadkach: ...   8.01.2018, 16:36:15
- - andrzej11   Okej, a w jaki sposób mogę zrobić zapisywanie opcj...   9.01.2018, 13:09:41
- - nospor   Tak samo jak kazda inna, ktora juz zapisujesz do b...   9.01.2018, 13:15:46
- - andrzej11   Tak, mam zmienną [PHP] pobierz, plaintext $opcja ...   9.01.2018, 13:35:53
- - nospor   A co bys chcial by bylo wpisywane? Zastosowales ze...   9.01.2018, 14:51:00
- - andrzej11   Nie potrafię tego zrobić...   9.01.2018, 15:13:21
- - nospor   To czemu wczesniej napisales OKEJ? Pytam wiec po...   9.01.2018, 15:17:39
- - andrzej11   Jeśli tak to czy opcja nie była wybrana mam w tym ...   10.01.2018, 08:28:52
- - viking   Składnia if: if (warunek) { kod } U ciebie if (war...   10.01.2018, 08:30:57
- - andrzej11   Nie wiem czy na pewno się rozumiemy.. Przedstawię ...   10.01.2018, 09:19:02
- - nospor   Wszyscy cie doskonale rozumieja. To ty nie rozumie...   10.01.2018, 09:52:08
- - andrzej11   1.) Nigdzie nie pisałem, że pierwsze może być zazn...   10.01.2018, 10:14:51
- - nospor   Dalbym se reke czyjas uciac ze byly rozne. Widoczn...   10.01.2018, 10:20:58
- - andrzej11   Value już później dałem próbując zrobić zapisywani...   10.01.2018, 10:37:00
- - nospor   value ma byc 1,2 a nie jakies teksty i to jeszcze ...   10.01.2018, 11:01:38
- - andrzej11   Jak tu dodać zapamiętanie zaznaczonej opcji?   10.01.2018, 11:40:19
- - nospor   Moze tak samo jak zapamietywales wczesniej? Poza ...   10.01.2018, 11:55:01
- - andrzej11   Wszystko ciągle przeskakuje, a ja już nie mam na t...   10.01.2018, 12:44:37


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:21