PDA

Zobacz pełną wersję : Jakiś błąd w module użytkownicy



jerry123
27-09-2008, 00:18
Witam
Stronka działa pod Joomla 1.5, ale jak wszedlem do modułu użytkownicy to wywala mi błąd (DB function failed with error number 1054) i nie mogę dodać nowego uzytkownika np. autora, a bladego pojęcia nie mam co to za błąd.
Może ktoś mial taki problem i podzieli się pomyslem na rozwiązanie go.
Pozdrawiam

crazyluki
27-09-2008, 09:33
1. jeden temat - jeden problem (edytowalem Twoj post)
2. przeczytaj regulamin forum ( przyda Ci się)
3. napisz jaką masz joomle i na jakim serwerze.

jerry123
27-09-2008, 16:52
Witam ponownie
Joomla 1.5.6 na serwerze TPsa (internetdsl), walczę ze stroną szkoły i problem jest jeden z tym komunikatem o błędzie jak wyżej. Chciałbym umożliwić zalogowanie się np. jako autor z możliwością dodania artykułu. Próbowałem znaleźć we wcześniejszych postach jakąś odpowiedź, ale bezskutecznie :confused:
pozdrawiam

crazyluki
27-09-2008, 16:59
generalnie - błąd ten jest spowodowany prawdopodobnie starą wersją serwera mysql - niestety, nic z tym nie zrobisz ( chyba że napiszesz sobie sam ten moduł).

co do drugiego pytania - poszukaj na forum

jerry123
27-09-2008, 17:18
Dzwoniłem do TP i twierdzą, że wersje w hostingu mają najnowsze i php i mysql, wklę cały komunikat, który mam w menu witryna -> użytkownicy w panelu administracyjnym:
DB function failed with error number 1054
Unknown column 'aro.aro_id' in 'on clause' SQL=SELECT a.*, g.name AS groupname FROM jos_users AS a INNER JOIN jos_core_acl_aro AS aro ON aro.value = a.id INNER JOIN jos_core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id INNER JOIN jos_core_acl_aro_groups AS g ON g.group_id = gm.group_id GROUP BY a.id LIMIT 0, 20
W informacjach:
PHP 5.2.6
wersja bazy 5.0.21-log
prawa do katalogów wszystkie wyświetlone - zapisywalny

jerry123
29-09-2008, 01:39
Szkoda, że nikt nie ma pomysłu jak to ugryźć :confused:

vego007
29-09-2008, 07:29
Masz w jos_core_acl_aro kolumnę aro_id?

jerry123
29-09-2008, 09:25
Może głupio zapytam, ale jak to sprawdzić, w panelu administracyjnym Joomla nie mogę znaleźć takiej opcji.

vego007
29-09-2008, 09:45
No troche głupio. Żeby zobaczyć to w menu administratora musiałbyś mieć komponent z extensions. Nie możesz poprostu sprawdzić w bazie danych np. przez phpmyadmin?

jerry123
29-09-2008, 09:51
W międzyczasie tak wykombinowałem, wszedłem do phpMyAdmin i tam w jos_core_acl_aro mam kolumny: id, section_value, value, order_value, name, hidden.
Czyli co, mam poprawić id na aro_id, czy dodać aro_id - trochę się boje, żeby nie namieszać i nie rozwalić bazy, czy stronki, a jednocześnie bardzo przydałaby się możliwość dodawania nowych użytkowników np. jako autor (to stronka szkoły, więc nie musiałbym sam tworzyć artykułów)

vego007
29-09-2008, 10:27
Lepiej odnajdź w komponencie zapytanie i zmień tam z aro_id na id. Na wszelki wypadek zrób backup

jerry123
29-09-2008, 10:43
I znów nie odrobilem lekcji, we właściwościach komponentu nie ma takiej opcji, czyli mam szukać w jakimś pliku php związanym z komponentem?
Komponent użytkownicy jest systemowy, i nie bardzo mogę znaleźć to o czym piszesz.

vego007
29-09-2008, 11:06
Ok rozumiem. Wejdź do katalogu administrator/components/com_users/views/users i znajdź plik view.html.php. Otwórz edytorem tekstu (office niepolecany) i znajdź (być może w linii 106 :D) zmienną $query
Wtedy zamień swoją część znajdującą się przed zmienną filter na


$query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'

Zapisz plik i módl się żeby zadziałało

jerry123
29-09-2008, 11:37
Dzięki
Wszedłem, dokładnie w 106 linii jast kod identyczny z tym, który podałeś - wiec nie wklejałem go ponownie.
Czy przyczyną problemów może być włączony tryb safe mode na serwerze? (TP internetdsl, php 5.2.6, wersja bazy 5.0.21)
Z instalowaniem dodatkowych modułów nie ma żadnych problemów

vego007
29-09-2008, 11:40
Jesteś pewny że jest identyczny? Daj echo na query i wrzuć na forum to co się wydrukuje

jerry123
29-09-2008, 11:59
$query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'
. $filter
. $where
. ' GROUP BY a.id'
. $orderby

vego007
29-09-2008, 12:11
Nie wiem jak to możliwe. Może jest coś o czym nie wiem. Daj echo przed zmienną $query. I wejdź w miejsce gdzie masz błąd. Jeśli będzie zapytanie na stronie to wklej je tutaj

jerry123
29-09-2008, 12:16
Sorry, ale może bardziej łopatologicznie poproszę :eek:

vego007
29-09-2008, 12:48
Sorry, ale może bardziej łopatologicznie poproszę :eek:
Zamiast


$query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'
. $filter
. $where
. ' GROUP BY a.id'
. $orderby

ma być:


echo $query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'
. $filter
. $where
. ' GROUP BY a.id'
. $orderby


Wchodzisz do admina, na witryne, użytkownicy i powinno się pojawic tam te zapytanie. Wklej je tutaj

jerry123
29-09-2008, 13:02
Tak zrobiłem i to co tam jest wklejam:
DB function failed with error number 1054
Unknown column 'aro.aro_id' in 'on clause' SQL=SELECT a.*, g.name AS groupname FROM jos_users AS a INNER JOIN jos_core_acl_aro AS aro ON aro.value = a.id INNER JOIN jos_core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id INNER JOIN jos_core_acl_aro_groups AS g ON g.group_id = gm.group_id GROUP BY a.id LIMIT 0, 20

vego007
29-09-2008, 13:42
a weź query wstaw w /* */



/*
$query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'
. $filter
. $where
. ' GROUP BY a.id'
. $orderby
*/

jerry123
29-09-2008, 15:09
Zrobiłem tak i teraz jest taki błąd:
DB function failed with error number 1054
Unknown column 'aro.aro_id' in 'on clause' SQL=SELECT a.*, g.name AS groupname FROM jos_users AS a INNER JOIN jos_core_acl_aro AS aro ON aro.value = a.id INNER JOIN jos_core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id INNER JOIN jos_core_acl_aro_groups AS g ON g.group_id = gm.group_id GROUP BY a.id LIMIT 0, 20
czyli chyba nic sie nie zmieniło

vego007
29-09-2008, 15:56
Czy Ty czasem nie masz dwóch joomli zainstalowanych i edytujesz nie tą co trzeba? Zapytanie to służy do wybierania danych o userach w miejscu gdzie masz ten błąd. Może jest coś o czym nie wspomniałeś? Jeśli nie to ja się poddaję :)

jerry123
29-09-2008, 16:21
Mam jedną - wersja 1.5.6 z templatkami na serwerze tp internetdsl. Katalog instalacyjny wywaliłem zgodnie z instrukcją. Co dziwne tylko w tym miejscu jest problem z tymi użytkownikami, wszystko inne śmiga, przy instalacji też nie było żadnych problemów. Momo, że na serwerze jest włączony safe mode. Niektóre moduły jakoś nie dają się wgrać, wywala błędy, ale większość działa OK.
pozdrawiam

zwiastun
29-09-2008, 17:09
Proponuję skończyć tę bezsensowną dyskusję, Mistrzu jerry123 i poczytać sobie na temat bezpieczeństwa Joomla!

Ad Vego: jerry123 jest po odwiedzinach, co wynika z innego tematu.

http://forum.joomla.pl/showthread.php?t=21863

vego007
29-09-2008, 18:05
Ad Vego: jerry123 jest po odwiedzinach, co wynika z innego tematu.

http://forum.joomla.pl/showthread.php?t=21863

No to wszystko jasne :)

jerry123
29-09-2008, 23:02
No nie do końca, bo jeden temat z soboty dotyczył braku możliwości otwarcia strony, a drugi problemów z logowaniem użytkowników, które to problemy pojawiły się od razu po postawieniu Joomla ponad miesiąc temu. Wię tematy te nie mają ze sobą nic wspólnego, a mistrzem nie jestem dopiero się uczę i dopiero uświadamiam sobie jak mało wiem, pomimo tego, że zanim zacząłem działać z Joomla sporo czytałem o bezpieczeństwie.
Dzięki serdeczne vego007 za próby pomocy, przy okazji sporo się nauczyłem.
Muszę rozejrzeć się chyba za innym serwerem, żeby potestować stronkę...

zwiastun
29-09-2008, 23:35
To testów to sobie zainstaluj na komputerze lokalnym XAMPPa, i też będzie - wygodniej, taniej, bezpieczniej.

dabrowski
02-12-2008, 23:17
Witam.
Mam ten sam problem co Jerry123. Wątek nie wyczerpał tematu więc zapytam jeszcze raz. W czym tkwi przyczyna tego komunikatu? Dlaczego Community Builder nie działa poprawnie?

Dodam, że mam wersję joomli 1.5.8. Serwer płatny.

Pozdrawiam
Dabrowski

cdsMarcin
11-12-2008, 15:54
Dołączam się do pytania

andrzejek
05-02-2010, 11:12
Ten błąd jest spowodowany najczęściej nadpisaniem j 1.5 na starą j1.0xx bez usunięcia starych plików. Sprawdźcie sobie czy w katalogu administrator/components/com_users/ nie pozostały pliki z wcześniejszej wersji admin.users.php, admin.user.php.html i po prostu je usuńcie