![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 1.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam na tyle nietypowy problem, że nawet nie wiem jak się zapytać o jego rozwiązanie ;-) otóż mam tabelę `komunikaty` do której dodaję nowe komunikaty na stronę główną, (budowa tabeli jest identyczna z tabelą `wydarzenia`), zrobiłem też panel administracyjny z systemem logowania, w którym mogę: -dodać komunikat -usunąć komunikat - edytować komunikat {to samo dotyczy się tabeli wydarzenia} utworzyłem też system uprawnień do modyfikacji dla określonych grup userów (ja mam pełne) Opis problemu ----------------------------------------------- ostatnio jeden z userów dodał komunikat, który chciałem poprawić, więc zalogowałem się na moje konto do mojego panelu admin., poprawiłem komunikat i nacisnąłem button [Aktualizuj] ale nic nie zaktualizowało - jakby tabela odrzuciła prośbę o update Co dziwne, mogę edytować inne komunikaty zamieszczone przez tego usera, ale tego jednego (ostatniego) nie mowę wyedytować Nie mam zielonego pojęcia gdzie szukać problemu, wiem tylko, że ten user dodaje komunikaty w trybie wyswig, a ja w panelu administracyjnym witryny używam 'tinymce' i 'fckeditor', ale w tej części tylko 'tinymce', ale bardzo mało prawdopodobne, żeby to 'tinymce' było przyczyną problemu. Może ktoś z Was miał podobny problem i jakoś go rozwiązał? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
W aktualizowanej treści masz jakiś znak, który powoduje, że całe zapytanie UPDATE jest nieprawidłowe i się nie wykonuje.
Zrób sobie echo tego zapytania, a jeśli tam nie zobaczysz błędu, wklej na żywca do phpMyAdmina i wykonaj. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 1.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat W aktualizowanej treści masz jakiś znak, który powoduje, że całe zapytanie UPDATE jest nieprawidłowe i się nie wykonuje, Zrób sobie echo tego zapytania, .zrobiłem echo wszystkich zmiennych użytych w update i wyświetlają się ze zmianami (prawidłowo) Cytat a jeśli tam nie zobaczysz błędu, wklej na żywca do phpMyAdmina i wykonaj. to równie dobrze mógłbym usunąć ten komunikat i dodać nowy ze zmienioną treścią, ale to obejście problemu a mi chodzi o poznanie przyczyny. Dodam jeszcze, że tamten user wkleił tekst komunikatu z worda 2007 (często tak robi) Właśnie zauważyłem, że to problem nie ostatniego komunikatu, ale ostatnich 3 komunikatów (nomen omen ten jest 13-sty ;-)) Ale 10 już poprawiam bez problemu Ten post edytował qpeace1 3.01.2010, 23:12:46 |
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat zrobiłem echo wszystkich zmiennych użytych w update i wyświetlają się ze zmianami (prawidłowo) Wyświetl całe zapytanie, a nie same zmienne, i wklej do phpMyAdmina. Cytat to równie dobrze mógłbym usunąć ten komunikat i dodać nowy ze zmienioną treścią, ale to obejście problemu a mi chodzi o poznanie przyczyny. Właśnie to jest sposób na poznanie przyczyny, bo skutkiem jest to, że UPDATE na tych komunikatach się nie wykonuje. Cytat to równie dobrze mógłbym usunąć ten komunikat i dodać nowy ze zmienioną treścią, ale to obejście problemu a mi chodzi o poznanie przyczyny. Problem - komunikaty się nie aktualizują. Przyczyna - UPDATE się nie wykonuje, bo w treści zapytania jest błąd. Rozwiązanie - wykonaj wyśiwetlone zapytanie na żywca w phpMyAdminie. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ja bym zabawił się albo z propozycją poprzednika (na żywca w PhpMyAdmin), albo zrobił zaraz po UPDATE takie jedno małe coś
i popatrzył co mi sypnęło ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 2 Dołączył: 1.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 1.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kiszka ;-(
1) dodałem zaraz po update i wkleiłem 'na chama' w MySQL efekt: MySQL dał komunikat: 414 Request-URI Too Large po czym rozwaliło mi cały komunikat - same 'krzaki' nic więc, usunąłem cały komunikat i dodałem ponownie treść jako nowy komunikat (całe szczęście że miałem go jeszcze w cache przeglądarki) - już jako 14 komunikat, teraz ten dodany przeze mnie [14] można edytować, [13] został usunięty, ale dalej nie mogę edytować kilku wcześniejszych komunikatów - przed 13-stym, PS. odnośnie komunikatu błędu, to google mówi, że "Żądany identyfikator URI (zazwyczaj adres URL) jest zbyt długi i serwer nie może go przetworzyć." - ale tam nie ma żadnego adresu url 2) dodałem zamiast powyższego, zaraz po update instrukcję efekt brak komunikatu błędu, brak aktualizacji komunikatu [12] {czyli brak efektu;-(} W zapytaniu UPDATE potraktuj zmienna z danymi funkcja addslashes() [SQL] pobierz, plaintext 1. UPDATE TABELA SET NAZWA_POLA='".addslashes($zmienna)."' WHERE ... [SQL] pobierz, plaintext mam coś takiego:
---------- i wracam do punktu wyjścia: nie mam zielonego pojęcia co jest grane ;-( co dziwne, w innych komunikatach (tych powiedzmy od nr 1 w górę do chyba 9,czy 10) można zmieniać treść, a więc zapytanie [update] jest poprawne Ten post edytował qpeace1 5.01.2010, 00:47:50 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 200 Pomógł: 40 Dołączył: 26.08.2009 Skąd: Kobiernice Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli dodaje cudzysłowy dla tablic POST GET ... to ty je usuwasz przed dodaniem do bazy? Ten post edytował Armstrong 6.01.2010, 07:49:51 -------------------- // NOPE
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jedna rzecz... Skoro slashe usuwasz jeśli magic_quotes są włączone (bo to robi ów IF), to chyba zapomniałeś, że wtedy do bazy leci niezabezpieczone zapytanie. Nie lepiej zrobić:
1. Jeśli magic_quotes włączone - olej sprawę (choć i tak ja bym się zastanawiał jak zabezpieczać inaczej) 2. Brak magic_quotes - addslashes lub mysql_real_escape_string to minimum. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 17:45 |