Spring Boot + React - błąd 500 tylko przy GET

0

Mam następujący problem: od pewnego czasu próbuję (zaznaczam od razu, że się uczę, więc dopiero szukam tej właściwej drogi..) połączyć moją aplikację Spring Boot z Reactem. Ogólnie kilka małych sukcesów już jest, ale mam ogromny problem z pobraniem danych z bazy danych.

Szukałem rozwiązań tego problemu i znalazłem taki przykład połączenia Springa z Reactem: https://bezkoder.com/react-spring-boot-crud/

Na początek chciałem przerobić ten kod na moje potrzeby, ale ponieważ ciągle pojawiały się różne błędy, postanowiłem najpierw przetestować działanie kodu opisanego na stronie z linka. Skopiowałem wszystko jak jest opisane w artykule i zadziałało pięknie, każda pojedyncza metoda.

Wróciłem zatem do mojej aplikacji, ale mimo licznych prób nie osiągnąłem zamierzonego celu. Odpaliłem więc ponownie aplikację z powyższego artykułu i.. przestał działać GET, choć działają wszystkie pozostałe żądania. Nic nie zmieniłem w kodzie, mało tego, na wszelki wypadek jeszcze raz skopiowałem wszystko ze strony, ale nadal pojawia się komunikat:

Error: Request failed with status code 500
at createError (createError.js:16)
at settle (settle.js:18)
at XMLHttpRequest.handleLoad (xhr.js:59)

Ma ktoś wskazówkę, co zrobić, aby to przełamać? Tkwię w miejscu z tym błędem już od 2 dni..

1

No dobra dostajesz tą 500 we froncie, ale przecież ona idzie z backendu o_O To zobacz moze w logi bakendu co się wywaliło. Bo teraz to troche tak jakby paliła ci się kontrolka check engine w samochodzie i próbujesz coś na podstawie tej kontrolki wymyślić, a tu trzeba zajrzeć pod maskę.

0

Od startu aplikacji, przez wyświetlenie błędu na froncie:

2020-06-03 23:20:48.706 INFO 3971 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 4.796 seconds (JVM running for 10.994)
2020-06-03 23:21:44.027 INFO 3971 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-06-03 23:21:44.028 INFO 3971 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-06-03 23:21:44.128 INFO 3971 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 99 ms

Ok, dopatrzyłem się więcej..

2020-06-03 23:20:41,224 [1033858] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: All illegal access operations will be denied in a future release
2020-06-03 23:21:09,198 [1061832] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:21:09,202 [1061836] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:21:09,204 [1061838] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:21:33,205 [1085839] ERROR - rm.terminal.model.JediTerminal - Unsupported erase in display mode:3
2020-06-03 23:21:35,154 [1087788] INFO - rationStore.ComponentStoreImpl - Saving appFileTypeManager took 25 ms, TerminalOptionsProvider took 16 ms
2020-06-03 23:21:35,223 [1087857] INFO - rationStore.ComponentStoreImpl - Saving Module: 'demo'FacetManager took 45 ms
2020-06-03 23:21:35,371 [1088005] INFO - rationStore.ComponentStoreImpl - Saving Project (name=demo, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/demo) KotlinCommonCompilerArguments took 36 ms, RunManager took 11 ms, uidesigner-configuration took 17 ms
2020-06-03 23:21:35,835 [1088469] INFO - rationStore.ComponentStoreImpl - Saving Project (name=wybankuj, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/wybankuj) ChangeListManager took 14 ms, FileEditorManager took 11 ms, TaskManager took 15 ms, libraryTable took 15 ms
2020-06-03 23:21:35,898 [1088532] INFO - mponents.impl.stores.StoreUtil - saveProjectsAndApp took 1266 ms
2020-06-03 23:21:42,926 [1095560] ERROR - rm.terminal.model.JediTerminal - Unsupported erase in display mode:3
2020-06-03 23:26:43,287 [1395921] INFO - rationStore.ComponentStoreImpl - Saving appActionsLocalSummary took 14 ms, FileTypeManager took 50 ms, FindSettings took 173 ms, NodeModulesEnvTerminalCustomizer took 14 ms
2020-06-03 23:27:43,391 [1456025] INFO - rationStore.ComponentStoreImpl - Saving appHttpConfigurable took 14 ms
2020-06-03 23:27:43,466 [1456100] INFO - rationStore.ComponentStoreImpl - Saving Project (name=demo, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/demo) Kotlin2JvmCompilerArguments took 16 ms, libraryTable took 17 ms
2020-06-03 23:34:26,571 [1859205] INFO - rationStore.ComponentStoreImpl - Saving appActionsLocalSummary took 16 ms
2020-06-03 23:34:26,773 [1859407] INFO - rationStore.ComponentStoreImpl - Saving Project (name=demo, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/demo) CompilerConfiguration took 14 ms
2020-06-03 23:34:27,151 [1859785] INFO - rationStore.ComponentStoreImpl - Saving Project (name=wybankuj, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/wybankuj) ArtifactManager took 14 ms, JavaScriptSettings took 236 ms
2020-06-03 23:35:52,715 [1945349] INFO - rationStore.ComponentStoreImpl - Saving appFileTypeManager took 13 ms

0

Odpaliłem jeszcze raz przed chwilą - logi poniżej:

2020-06-03 23:39:51,039 [2183673] INFO - rationStore.ComponentStoreImpl - Saving appFileTypeManager took 14 ms
2020-06-03 23:39:51,271 [2183905] INFO - rationStore.ComponentStoreImpl - Saving Project (name=demo, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/demo) JavacSettings took 84 ms, SvnFileUrlMappingImpl took 21 ms
2020-06-03 23:39:51,643 [2184277] INFO - rationStore.ComponentStoreImpl - Saving Project (name=wybankuj, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/wybankuj) AutoImportSettings took 163 ms, MavenRunner took 20 ms, RunManager took 12 ms, TaskManager took 11 ms
2020-06-03 23:39:59,880 [2192514] INFO - rationStore.ComponentStoreImpl - Saving appLocalDatabaseDriverManager took 90 ms
2020-06-03 23:39:59,896 [2192530] INFO - ij.compiler.impl.CompileDriver - COMPILATION STARTED (BUILD PROCESS)
2020-06-03 23:39:59,912 [2192546] INFO - j.compiler.server.BuildManager - Using preloaded build process to compile /Users/myszkaimisiek/Desktop/Kurs/demo
2020-06-03 23:40:00,853 [2193487] INFO - lij.compiler.impl.CompilerUtil - COMPILATION FINISHED (BUILD PROCESS); Errors: 0; warnings: 0 took 971 ms: 0 min 0sec
2020-06-03 23:40:00,893 [2193527] INFO - s.CompilerReferenceServiceBase - backward reference index reader is opened
2020-06-03 23:40:02,428 [2195062] INFO - notification.NotificationGroup - Notification group Spring Boot Application Endpoints is already registered
java.lang.Throwable
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:48)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:28)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt)
at com.intellij.spring.boot.run.lifecycle.SpringBootApplicationInfoImpl.lambda$new$0(SpringBootApplicationInfoImpl.java:67)
at com.intellij.spring.boot.run.lifecycle.AsyncLiveProperty.lambda$compute$2(AsyncLiveProperty.java:50)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:255)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-06-03 23:40:02,978 [2195612] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: Build process started. Classpath: /Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/jps-launcher.jar
2020-06-03 23:40:03,039 [2195673] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2020-06-03 23:40:03,040 [2195674] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: Defaulting to no-operation (NOP) logger implementation
2020-06-03 23:40:03,040 [2195674] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2020-06-03 23:40:04,948 [2197582] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: An illegal reflective access operation has occurred
2020-06-03 23:40:04,948 [2197582] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/Applications/IntelliJ%20IDEA.app/Contents/lib/protobuf-java-3.5.1.jar) to field java.nio.Buffer.address
2020-06-03 23:40:04,948 [2197582] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
2020-06-03 23:40:04,948 [2197582] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
2020-06-03 23:40:04,948 [2197582] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: All illegal access operations will be denied in a future release
2020-06-03 23:40:20,426 [2213060] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:40:20,427 [2213061] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:40:20,431 [2213065] ERROR - jediterm.terminal.TerminalMode - Mode EightBitInput is not implemented, setting to true
2020-06-03 23:40:30,596 [2223230] INFO - notification.NotificationGroup - Notification group Terminal is already registered
java.lang.Throwable
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:48)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:28)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup$Companion.toolWindowGroup(NotificationGroup.kt:93)
at com.intellij.notification.NotificationGroup$Companion.toolWindowGroup$default(NotificationGroup.kt:92)
at com.intellij.notification.NotificationGroup.toolWindowGroup(NotificationGroup.kt)
at org.jetbrains.plugins.terminal.TerminalShellCommandHandlerHelper.highlightMatchedCommand(TerminalShellCommandHandlerHelper.java:92)
at org.jetbrains.plugins.terminal.TerminalShellCommandHandlerHelper.lambda$processKeyPressed$0(TerminalShellCommandHandlerHelper.java:54)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:232)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:367)
at com.intellij.util.Alarm$Request.run(Alarm.java:357)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:220)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:222)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:29)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:201)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:210)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:190)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-06-03 23:40:30,890 [2223524] INFO - notification.NotificationGroup - Notification group Terminal is already registered
java.lang.Throwable
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:48)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:28)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup.<init>(NotificationGroup.kt:36)
at com.intellij.notification.NotificationGroup$Companion.toolWindowGroup(NotificationGroup.kt:93)
at com.intellij.notification.NotificationGroup$Companion.toolWindowGroup$default(NotificationGroup.kt:92)
at com.intellij.notification.NotificationGroup.toolWindowGroup(NotificationGroup.kt)
at org.jetbrains.plugins.terminal.TerminalShellCommandHandlerHelper.highlightMatchedCommand(TerminalShellCommandHandlerHelper.java:92)
at org.jetbrains.plugins.terminal.TerminalShellCommandHandlerHelper.lambda$processKeyPressed$0(TerminalShellCommandHandlerHelper.java:54)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:232)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:367)
at com.intellij.util.Alarm$Request.run(Alarm.java:357)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:220)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:222)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:29)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:201)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:210)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:190)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-06-03 23:40:38,298 [2230932] ERROR - rm.terminal.model.JediTerminal - Unsupported erase in display mode:3
2020-06-03 23:40:40,227 [2232861] INFO - rationStore.ComponentStoreImpl - Saving appCodeInsightSettings took 26 ms, FileTypeManager took 14 ms
2020-06-03 23:40:47,928 [2240562] INFO - rationStore.ComponentStoreImpl - Saving Project (name=wybankuj, containerState=ACTIVE, componentStore=/Users/myszkaimisiek/Desktop/Kurs/wybankuj) MavenProjectsManager took 21 ms
2020-06-03 23:40:48,261 [2240895] ERROR - rm.terminal.model.JediTerminal - Unsupported erase in display mode:3

0

@luke83 lepiej ale to nadal nie są dobre logi. Znając życie to odpalasz tą aplikacje w taki sposób, ze wartościowe logi idą w piach. Jak to uruchamiasz?

3

Tak trochę na marginesie, to nie wiem czy bym się uczył z tego tutoriala ;] Jak widzę:

        if (tutorialData.isPresent()) {
            return new ResponseEntity<>(tutorialData.get(), HttpStatus.OK);
        } else {
            return new ResponseEntity<>(HttpStatus.NOT_FOUND);
        }

To wiem ze autor nie umie w Springa, a w Javę też tak średnio.
Tak samo cała logika upchnięta do kontrolera :/ widać ze ktoś nic ponad tutorial chyba w życiu nie napisał.

4

W logach nic nie masz bo w controlerze wyłapujesz wyjątek i zwracasz Response z 500:

        try {
            List<Tutorial> tutorials = new ArrayList<Tutorial>();

            if (title == null)
                tutorialRepository.findAll().forEach(tutorials::add);
            else
                tutorialRepository.findByTitleContaining(title).forEach(tutorials::add);

            if (tutorials.isEmpty()) {
                return new ResponseEntity<>(HttpStatus.NO_CONTENT);
            }

            return new ResponseEntity<>(tutorials, HttpStatus.OK);
        } catch (Exception e) {
            return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
        }

Najprościej w catchu daj:

e.printStackTrace()

I wrzuć kod błędu.

0

Logi z uruchomienia aplikacji wyglądają tak:


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.0.RELEASE)

2020-06-04 00:20:59.849  INFO 28844 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication 
2020-06-04 00:20:59.859  INFO 28844 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2020-06-04 00:21:00.629  INFO 28844 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2020-06-04 00:21:00.679  INFO 28844 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 47ms. Found 1 JPA repository interfaces.
2020-06-04 00:21:01.169  INFO 28844 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-06-04 00:21:01.179  INFO 28844 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-06-04 00:21:01.184  INFO 28844 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.35]
2020-06-04 00:21:01.269  INFO 28844 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-06-04 00:21:01.269  INFO 28844 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1370 ms
2020-06-04 00:21:01.409  INFO 28844 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-06-04 00:21:01.449  INFO 28844 --- [         task-1] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2020-06-04 00:21:01.489  WARN 28844 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-06-04 00:21:01.509  INFO 28844 --- [         task-1] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.15.Final
2020-06-04 00:21:01.639  INFO 28844 --- [         task-1] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-06-04 00:21:01.728  INFO 28844 --- [         task-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2020-06-04 00:21:01.884  INFO 28844 --- [         task-1] com.zaxxer.hikari.pool.PoolBase          : HikariPool-1 - Driver does not support get/set network timeout for connections. (feature not supported)
2020-06-04 00:21:01.889  INFO 28844 --- [         task-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2020-06-04 00:21:01.904  INFO 28844 --- [         task-1] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
2020-06-04 00:21:02.399  INFO 28844 --- [         task-1] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-06-04 00:21:02.414  INFO 28844 --- [         task-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-06-04 00:21:02.829  INFO 28844 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-06-04 00:21:02.829  INFO 28844 --- [           main] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2020-06-04 00:21:02.920  INFO 28844 --- [           main] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2020-06-04 00:21:02.929  INFO 28844 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 3.464 seconds (JVM running for 4.879)

I to tutaj, jesli w ogóle, będą pojawiać się błędy (o ile nie będziesz ich "zjadać", patrz wyżej).

0

Dzięki za wskazówki - spróbuję powalczyć znowu wieczorem ;)

0

Dziękuję wszystkim za pomoc :) Zmieniłem w controllerze catcha zgodnie z poradą @Aisekai i pojawił się właściwy błąd, a mianowicie dla tabeli Tutorials w kolumnie Published były nulle, natomiast Published jest typu String. Zamieniłem więc typ kolumny i wszystko działa pięknie :)
Jeszcze raz dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1