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

Problem z "duplikacją" danych na stronie www

Object Storage Arubacloud
0 głosów
232 wizyt
pytanie zadane 4 czerwca 2019 w JavaScript przez BjoTrek Nowicjusz (180 p.)

Dzień dobry

Ostatnio aplikowałem do pewnej firmy tworzącej strony internetowe na praktyki studenckie. Na rozmowach kwalifikacyjnych otrzymałem zadanie stworzenia strony, która będzie zawierać strukturę "drzewa". Po stworzeniu takowej strony, odesłałem ją do (mam nadzieję) przyszłego "praktykodawcy" i otrzymałem odpowiedź zwrotną, że na stronie znajduję się błąd. I w rzeczy samej, strona (a raczej struktura drzewa) została wysypana poprzez wprowadzenie duplikatu wartości (np. wprowadzenie drugiego obiektu o wartości 3 na tym samym "poziomie"). 

Niestety nie mam pojęcia jak osoba sprawdzająca tą stronę tego dokonała, przez co nie wiem gdzie i co muszę poprawić w kodzie.

Prosiłbym Was o przetestowanie strony i wgląd do kodu. Może Wy coś znajdziecie.

 

Oto link do strony: http://piotr.bobusia.niedoszkolenie.pl/

Kod strony na GitHubie: https://github.com/piotrek490/Praktyki-Zadanie.git

Pliki odpowiedzialne za dodawanie wartości do drzewa są w folderze Hash2/Ajax

 

Z góry bardzo dziękuję za wszelką pomoc.

 

1 odpowiedź

+1 głos
odpowiedź 4 czerwca 2019 przez adrian17 Ekspert (344,860 p.)

I w rzeczy samej, strona (a raczej struktura drzewa) została wysypana poprzez wprowadzenie duplikatu wartości (np. wprowadzenie drugiego obiektu o wartości 3 na tym samym "poziomie"). 

Zakładam że przez "została wysypana" masz na myśli "nie dodaje się do drzewa".

Może czegoś nie widzę, ale na moje oko... explicite obsługujesz ten przypadek i na to nie pozwalasz, nie?

// Sprawdzam czy jest już w tabeli taka wartość
$zapytanie="select * from ".$_GET['key']." where val=".$_GET['value'].";";
$wynik = mysqli_query($polaczenie, $zapytanie);
$switch = mysqli_fetch_array($wynik, MYSQLI_ASSOC);
if($switch) exit(1); //Jeśli jest już taka wartość -> "wyłączam" ten plik

A boczne uwagi, tak szczerze, gdybym był rekruterem to raczej byłbym przerażony. Dynamiczne tworzenie tabel per ojciec drzewa; surowe stringowe sklejanie zapytań SQLowych; ręcznie napisany kod sortujący; obsługa ActiveXObject, jakby to miało chodzić na IE6; synchroniczne zapytania XHR (na które sama przeglądarka krzyczy w konsoli)... D:

komentarz 4 czerwca 2019 przez BjoTrek Nowicjusz (180 p.)
Dziękuję za uwagi :) Co do obsłużonego przypadku jednak jakoś jest on jakoś pomijany przez Pana sprawdzającego. NA chwilę obecną zauważyłem, że dodanie wartości NULL do MainTable i usunięcie wszystkich rekordów skutkuję właśnie "wysypaniem" drzewa.

Przez "wysypanie" mam na myśli sytuację, w której obiekty nie są wyświetlane (mimo tego że istnieją).
komentarz 4 czerwca 2019 przez mrspock1 Mądrala (6,420 p.)
Pewnie dodali kod do strony zdążając ją przekazać przed zakończeniem sesji. Niektóre biblioteki mają mechanizmy reagowania na takie sytuacje, czasem trzeba samemu to zrobić.
komentarz 4 czerwca 2019 przez adrian17 Ekspert (344,860 p.)
(z tego co widzę, tu w ogóle nie ma sesji.)

Podobne pytania

0 głosów
2 odpowiedzi 161 wizyt
0 głosów
1 odpowiedź 288 wizyt
pytanie zadane 4 marca 2022 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
3 odpowiedzi 393 wizyt
pytanie zadane 2 listopada 2016 w C i C++ przez L33TT12 Gaduła (3,950 p.)

92,576 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...