• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Serialize tablicy z JS nie działa poprawnie, tablica staje się wartością string w nowej tablicy

Mały hosting, OGROMNE możliwości
0 głosów
353 wizyt
pytanie zadane 20 czerwca 2021 w PHP przez Renzov Obywatel (1,220 p.)

Hej

Mam problem z serializacją danych. Napisałem kod JS dzięki któremu można dodawać tagi. Działa to na takie zasadzie, że jest tablica tags do której są dodawane tagi. Tutaj wszystko działa prawidłowo. Problem pojawia się w momencie próby zapisuje tablicy do bazy danych poprzez PHP.

Do zapisania tablicy używam Serialize(), ale problem jest taki, że tablica jest zapisana jako jedna wartość string.

1. Utworzenie tablicy w JS
 

tags = ['samochod', 'motoryzacja', 'polska']

2. Uzywam funkcjo serialize PHP, w rezultacie otrzymuje to:

a:1:{i:0;s:27:"samochod,motoryzacja,polska";}

Co już jest błędne. NIe mam pojęcia jak to zrobić. Próbowałem JSON.stringify, dodać cast JSONArray ale nici.

Czy ktoś może wiem jak temu zaradzić?

1
komentarz 20 czerwca 2021 przez adrian17 Mentor (354,880 p.)
Musisz pokazać więcej kodu - jaki Serialize, jak ogólnie wygląda kod po stronie JSa, jak po stronie PHP - bez tego raczej nikt Ci nic konkretnego nie powie.
komentarz 20 czerwca 2021 przez Renzov Obywatel (1,220 p.)

Udało mi się rozwiązać problem (Od razu podam w rozwiązaniu cały kod). Nie jestem pewien, czy to na 100% dobre rozwiązanie, ale działa.

1. Elementy są dodawane do tabeli w JavaScripcie

2. Tabela przed wysłanie do backendu przechodzi przez funkcje JSON Stringify

3. Wartość przesłana do backendu przechodzi przez json_decode a następnie przez serializację

    public function setContentAttribute($value)
    {
        $value = json_decode($value);
        $this->attributes['content'] = serialize($value);
    }

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 556 wizyt
pytanie zadane 2 września 2017 w PHP przez marcin99b Szeryf (86,140 p.)
0 głosów
0 odpowiedzi 594 wizyt
0 głosów
1 odpowiedź 2,039 wizyt
pytanie zadane 30 lipca 2019 w JavaScript przez niezalogowany

93,718 zapytań

142,631 odpowiedzi

323,262 komentarzy

63,266 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...