Temat: tablice otrzymane z _POST i ich wskaźniki
kolego, pisałem że o kolejności decyduje użytkownik. dostaje do tego narzędzie typu drag&drop w postaci jqueryui sortable.
zatem to czy użytkownik skorzysta z gotowego narzędzia czy zmanipuluje DOM korzystając z innego narzędzia nie robi dla mnie różnicy. nadal jest to input od użytkownika.
dalej idąc sugerowanym sposobem przez jquery do wysyłania nowej kolejnosci elementów jest użycie metody serialize
http://jqueryui.com/demos/sortable/#method-serialize
która nie robi nic innego jak iteruje po elementach i tworzy zmienną tekstową wyglądającą następująco:
setname[]=number&setname[]=number
którą jak podaje dokumentacja może zostać dołączona do url
a zatem tworząc po stronie PHP tablicę w _GET lub _POST z elementami ułożonymi dokładnie tak jak w DOM, bo tak działa interacja po elementach DOM.
a zatem sami twórcy jquery zakładają to samo co ja, czyli że kolejność setname[] w url będzie taka sama w PHP.
jak uważasz że są w błędzie to napisz do nich.
powtarzając się, moja aplikacja nie popiera swojego poprawnego działania na otrzymaniu elementów formularza w założonej przeze mnie kolejności, tylko na kolejności ustalonej przez użytkownika.
teoretycznie żadna przeglądarka nie dokona zmiany kolejności elementów podczas przesłania formularza, gdyż takie jest założenie html, a dowody na to podałem powyżej w postaci linków.
kolejna sprawa to to że żadna przeglądarka nie zmieni kolejności elementów na podstawie nazwy z [x] gdyż dla js to jest nazwa zmiennej a nie wskaźnik tablicy.
a zatem <input name="trololo[12]" value=10> jest nadal w js zmienną o nazwie trololo[12] a nie tablicą trololo z elementem 12 o wartości 10. jeśli jest inaczej to daj znać. może się mylę.
problem leży głównie po stronie PHP, gdyż dokumentacja nie jest jasna w tej kwestii.
przetestowałem dla kilku wersji PHP i otrzymuję ten sam wynik, a zatem elementy w tablicy są w takiej kolejności w jakiej znajdują się w DOM, o czym pisałem już w pierwszym poście.
i pytanie dotyczyło głównie czy stosowanie wskaźników po stronie html zmieni kolejność.
natomiast zamiast otrzymać odpowiedź w tej kwestii każdy postanowił skrytykować sam kod. taki widocznie urok tego forum.
oczywiście jak pisałem powyżej mogę dołączyć funkcję js do onsubmit i wygenerować sobie zmienną zawierającą kolejność elementów w postaci 2,4,3,1 rozdzielając przecinkiem czy innym znakiem i potem to sparsować po stronie PHP, ale idąc waszym rozumowaniem ta zmienna tez może zostać zmanipulowana, więc wracamy do początku. i tu znowu pojawia się kwestia : nie interesuje mnie czy użytkownik zmanipuluje kolejność, bo taką możliwość już użytkownikowi dałem. A zatem interesuje mnie tylko i wyłącznie zmanipulowanie tej kolejności przez przeglądarkę, PHP, ew. proxy pomiędzy, antywirus itp.
wracając do obrażania się. ktoś kto zamiast podania przykładów i konkretnej krytyki pisze co ja niby robię po stronie PHP nie widząc mojego kodu jest po prostu żałosny i tyle. argumentacja w stylu "pewnie nie sprawdzam danych i od razu wrzucam do bazy" jest na poziomie podstawówki.
typowy brak argumentów zakończony inwektywami.
piszesz że "mądrzy" ludzie podają mi rozwiązania. gdzie ?
cały temat jest w stylu : pytanie " jak wymienić żarówkę migacza w maluchu", a poniżej 20 odpowiedzi, "pozbądź się tego trupa", "kto jeszcze używa malucha", "kup sobie za 2 tys starego golfa będzie lepszy", a odpowiedzi jak wymienić żarówkę to nie ma.
napisałem tutaj posta właśnie po to by uzyskać konkretne informacje wynikające z doświadczenia, niestety nie doczekałem się. możliwe że ktoś jeszcze się zreflektuje.
Krzysztof D. edytował(a) ten post dnia 20.07.12 o godzinie 18:24