Strona 1 z 2
[cr +sr] błąd w usercp_wiewprofile
: 30 lipca 2005, 12:20
autor: autobus
instalowałem color ranks + sex ranks i wyskoczył mi taki błąd
Kod: Zaznacz cały
Parse error: parse error, unexpected T_ELSE in /home/gw/public_html/forum/includes/usercp_viewprofile.php on line 90
od 87 linii wygląda to tak:
Kod: Zaznacz cały
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
else
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
}
$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=" . $profiledata['user_id']);
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
bardzo proszę o pomoc
: 30 lipca 2005, 12:42
autor: MSX2
Zamień ten kod co podałeś na ten (1 element dopisany):
Kod: Zaznacz cały
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
}
else
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
}
$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=" . $profiledata['user_id']);
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
Heh...
: 31 lipca 2005, 00:24
autor: autobus
nie pomógł ten zabieg, problem jest w tym, że kiedy klikam na użytkownika to mi się pojawia błąd zamiast wioku profilu.
ale zrobiłem coś takiego, wyrzuciłem z pliku ten kawałek
Kod: Zaznacz cały
else
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
}
po tym zabiegu profil się poajawia ale nie ma w nim nazwy rangi, pokazuje się tylko sam przedrostek rangi. cosik trzeba by stąd usunąć tylko co żeby nie zepsuć kodu?
: 31 lipca 2005, 10:46
autor: MSX2
Jak na mój gust, to błędu w tym fragmencie nie ma...
Niech się wypowie ktoś zdolniejszy ode mnie ;P...
: 31 lipca 2005, 10:49
autor: Lilly
autobus pisze:nie pomógł ten zabieg, problem jest w tym, że kiedy klikam na użytkownika to mi się pojawia błąd zamiast wioku profilu.
A jaki konkretnie blad sie pojawia po tych zmianach

: 31 lipca 2005, 11:38
autor: autobus
ten sam co był czyli
Kod: Zaznacz cały
Parse error: parse error, unexpected T_ELSE in /home/gw/public_html/forum/includes/usercp_viewprofile.php on line 90
: 31 lipca 2005, 14:06
autor: Lilly
Domyslam sie, ze 90 linia, to ta z else. Zauwaz, ze linijke wczesniej jest pojedynczy apostrof. Sprobuj dodac tam drugi. No i chyba rzeczywiscie powinien tam tez byc ten nawias {
Ale tak to sobie mozmy gdybac. Podeslij mi na maila caly plik, bo po takim fragmencie, to troche malo... (jesli nie zadziala to, co napisalam powyzej)
: 31 lipca 2005, 14:36
autor: MSX2
Jedna uwaga, Lilly. Odnośnie apostrofu - przed else są dwa, pojedyncze ;P...
I moim zdaniem błąd jest tylko w braku { ...
: 31 lipca 2005, 16:23
autor: Lilly
MSX2 pisze:Jedna uwaga, Lilly. Odnośnie apostrofu - przed else są dwa, pojedyncze ;P...
I moim zdaniem błąd jest tylko w braku { ...
Hmm... no tak tez moze byc. Ale gdyby blad byl TYLKO w braku apostrofu, to by dzialalo. Nie wszystko mozna poprawic analizujac jedynie fragment pliku.
: 31 lipca 2005, 19:17
autor: MSX2
Wiem o tym, ale błędy typu T_ELSE odnoszą się do else, bądź elseif'ów... Nie ma chyba innej możliwości...
Co do fragmentu pliku, to masz rację..
: 31 lipca 2005, 23:03
autor: autobus
dalej nic
cały plik znajduje się tutaj
http://gw.livenet.pl/roz/us.rar
: 31 lipca 2005, 23:20
autor: MSX2
Erm... Zamień:
Kod: Zaznacz cały
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
else
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
}
na:
Kod: Zaznacz cały
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
może jakimś cudem zadziała... chociaż nie wydaje mi się... brakuje if'a całego...
: 31 lipca 2005, 23:33
autor: Lilly
Ewentualnie ten kawalek:
Kod: Zaznacz cały
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
powinien znalesc sie miedzy nawiasami { { z 84 i 85 linii
: 31 lipca 2005, 23:43
autor: autobus
twój pomysł nie zadziałał, natomiast sposób przedstawiony przez MSX2 dał pewien efekt, otóż profil się pokazuje ale nie ma nazwy rangi a wygląda to tak:
http://gw.livenet.pl/forum/profile.php? ... 2241f36074
: 01 sierpnia 2005, 00:10
autor: MSX2
No to dodajmy if'a... Zamień na tą kombinację:
Kod: Zaznacz cały
$poster_rank = '';
$rank_image = '';
if ( $profiledata['user_rank'] )
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
{
$poster_sex = ( $profiledata['user_sex'] ) ? $lang['male'] : $lang['female'];
$poster_rank = color_rank($profiledata['user_rank'],$profiledata['user_posts'],$profiledata['user_sex']);
$rank_image='';
}
}
}
else
{
for($i = 0; $i < count($ranksrow); $i++)
{
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
}
}