![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czy można za pomocą kontrolki checkbox przekazać więcej parametrów niż tylko ten w postaci Value ? Chcę zrobić na stronie kilka chceckboxów, każdy chceckbox przypisany jest do fotografii towaru, towar posiada nazwę i cenę, chciałbym żeby zaznaczenie określonych checkboxów powodowało przekazanie do skryptu php nazwy i ceny towaru jednocześnie. Standardowo zaznaczenie checkaboxa powoduje przekazanie do php tylko parametru Value, a chciałbym przekazać i cenę i nazwę.
Ten post edytował pisiorek 18.05.2011, 21:18:23 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
możesz w jednym value przekazywać kilka parametrów oddzielając je czymś, a później za pomocą php je oddzielać i wykonywać na nich dalsze operacje, np.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Niestety otrzymuję taki komunikat:
Warning: explode() expects parameter 2 to be string, array given in D:\xampp\... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
na pewno podałeś oba parametry? myślę, że trochę pokombinuj i powinno być okej.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wiem gdzie jest błąd, parametr "name" jest w tym przypadku tablicą i tu jest kłopot, ale muszę go miec jako tablicę, bo na stronie musi być możliwość zaznaczania większej ilość chceckboxów na raz i potem z pomocą pętli for wylistowania wszystkich zaznaczonych elementów, da się to jakoś rozwiązać ?
Zamieszczam fragment kodu: fragment formularza: skrypt php, który ma wylistować wybrane elementy, niestety tu powstaje błąd, który pokazałem wcześniej:
Powód edycji: [Ociu]: Dodałem bbCode
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
w explode zamiast ',' daj ","
czyli Kod $wybrany = explode (",",$_POST['wybrany']);
Ten post edytował toaspzoo 18.05.2011, 22:30:43 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Tylko takie coś jest niebezpieczne, lepiej tutaj trzymać tylko id a w bazie reszte
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki koledzy za zaangażowanie w temat, SOG-i oczywiście otrzymacie.
@gorden postęp już jakiś jest, ale jeszcze nie wszystko działa tak jak powinno, nie do końca działa chyba funkcja explode, efekt Twojego skryptu jest taki: foto1,15 - nazwa: , cena: foto2,10 - nazwa: , cena: foto3,11 - nazwa: , cena: @toaspzoo Cytat Tylko takie coś jest niebezpieczne, lepiej tutaj trzymać tylko id a w bazie reszte mógłbyś troszkę rozwinąć temat, dlaczego jest niebezpieczne, czym to grozi ? Ten post edytował pisiorek 19.05.2011, 19:52:50 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
W tym wypadku każdy potencjalny kupujący może manipulować ceną i przedmiotem wg jego upodobań
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
racja. może w value po prostu wstaw id aukcji i pobieraj z bazy potrzebne informacje ukrywające się pod nim. debugując stronę jakimś firebugiem czy czymś, można manipulować wszystkimi parametrami, między innymi value, więc każdy będzie mógł wpisać co chce.
Ten post edytował gorden 19.05.2011, 20:45:18 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Albo WebDeveloperem
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
OK, dzięki za pomoc.
Koledzy jeszcze jedna prośba o pomoc, zrobiłem prostą bazę danych jednak jest problem z tymi checkboxami, bo jeśli parametr name mam ustawiony na "id[]", to niestety skrypt php tego nie obsługuje, tzn. nie wyświetla wyników. Jeżeli zmienię tylko parametr name na samo "id" to wtedy wszystko działa, ale nie można wyświetlić więcej niż jednego elementu, a chodzi o to że mają się wyświetlać wszystkie zaznaczone checboxy. Jak to naprawić, żeby można było zaznaczać więcej niż jeden ? Poniżej kod formularza: Poniżej kod php:
Ten post edytował Ociu 22.05.2011, 22:46:22
Powód edycji: [Ociu]: Poprawiłem bbCode
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Daj w checkboxie name = "1", "2", "3" itd...
Potem sprawdzaj zaznaczenia issetami, czyli if(isset($_POST['1'])) { ... } Ten post edytował toaspzoo 22.05.2011, 08:42:45 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że w tym przypadku ten fragment kodu
Kod if(isset($_POST['1'])) { ... } będzie musiał być użyty dla każdego checkboxa. Jest to o tyle kłopotliwe, że będzie tego docelowo kilkadziesiąt sztuk.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
to zrób tworzenie pól w php i sprawdzanie
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Proponuje abyście zaczęli używać bbCode, bo skończy się zamknięciem tematu.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cytat("toaspzoo") to zrób tworzenie pól w php i sprawdzanie Mógłbyś troszkę przybliżyć ten sposób ? Nie do końca rozumiem, jak to ugryźć.
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
pisiorek, użyj foreach. ta pętla przeleci przez całą tablicę $_POST i samodzielnie sprawdzi, czy istnieje. możesz w niej np przypisać do oddzielnej tablicy zaznaczone checkboxy i operować na nich, o ile dobrze zrozumiałem.
Ten post edytował gorden 23.05.2011, 16:13:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:49 |