Pagina 1 van 1
Vreemde hyperlink bij viewonline
Geplaatst: 28 mei 2004, 21:53
door Podium4
Hoi,
Ik ben bezig het inbouwen van een nieuw profielen systeem in phpBB aan de hand van de nickpage's mod van phpbb2.de.
Nu ben ik bezig met het aanpassen van alle links die nog verwijzen naar profile.php?viewprofile&u etc... Nu stuit ik op het volgende probleem. Ik ben nu in de page_header.php de "who is online" links aan het aanpassen, die je o.a. op de index en viewforum ziet:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user" . '=' . $row['username']) . '"' . $style_color . '>' . $row['username'] . '</a>';
Dat is een stukje uit het script, de bedoeling is, dat user na klikken terecht komen op site.nl/nickpage.php?user=podium4 (of iemand anders die daar dan staat)
Tot nu toe is het me in een aantal bestanden op deze manier al wel gelukt om dit zo aan te passen. Echter bij dit gaat het fout, het script klopt volgens mij wel, maar geeft dit resultaat:
http://localhost/phpBB2/nickpage.php?us ... m4%3C/b%3E
Je ziet het al inderdaad voor en achter de gebruikersnaam staan allerlei tekens die er niet horen... %3Cb%3E en %3C/b%3E ... Erg vreemd, ik heb al vanalles geprobeerd, maar krijg het niet voorelkaar dit weg te krijgen.
Dit probleem doet zich niet alleen voor in de who is online list op viewforum maar ook op de index, viewonline etc...
Wie kan mij helpen? Ik kom er niet uit

Geplaatst: 28 mei 2004, 22:03
door Luuk
volgens mij wordt hier niet alles mooi afgesloten, probeer zo eens:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user=' . $row['username'] . '") . '"' . $style_color . '>' . $row['username'] . '</a>';
Geplaatst: 28 mei 2004, 22:16
door Podium4
Dat is het helaas niet Luuk, ik krijg namelijk deze error:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\phpbb2\includes\page_header.php on line 174
Nog even voor de duidelijkheid, dit is mijn regel:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user" . '=' . $row['username']) . '"' . $style_color . '>' . $row['username'] . '</a>';
In het orginele bestand ziet deze regel er zo uit:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
Geplaatst: 28 mei 2004, 22:19
door Luuk
ik blijf proberen:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user=" . $row['username']) . '"' . $style_color . '>' . $row['username'] . '</a>';
Geplaatst: 28 mei 2004, 22:24
door Podium4
Dit geeft weer hetzelfde resultaat als mijn stukje code:
http://localhost/phpBB2/nickpage.php?us ... m4%3C/b%3E
Maar het komt wel dichter in de buurt dan de vorige

Geplaatst: 28 mei 2004, 22:26
door Luuk
Luuk schreef:ik blijf proberen:
Code: Selecteer alles
$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user"="' . $row['username'] . '") . '"' . $style_color . '>' . $row['username'] . '</a>';
and again
Geplaatst: 28 mei 2004, 22:32
door Luuk
we kunnen blijven proberen, maar als ik met mijn muis (IE 6) oevr die link ga staat er onderaan
http://localhost/phpBB2/nickpage.php?user=<b>podium4</b> ... denk dat je hiermee meer kunt
Geplaatst: 28 mei 2004, 22:33
door mosymuis
Code: Selecteer alles
$user_online_link = '<a href="nickpage.'.$phpEx.'?user=' . $row['username'] . '"' . $style_color . '>' . $row['username'] . '</a>';

Geplaatst: 28 mei 2004, 22:45
door Podium4
mosymuis schreef:Code: Selecteer alles
$user_online_link = '<a href="nickpage.'.$phpEx.'?user=' . $row['username'] . '"' . $style_color . '>' . $row['username'] . '</a>';

Helaas, dit geeft hetzelfde resultaat, zoals ik ook al had, dus gewoon een vreemde hyperlink. De link van Luuk, twee berichten hierboven, gaf een parse error.
Ik zat er zelf dus ook al een half uur mee te rommelen, ik had de link eigenlijk wel snel zoals ie nu is, maar ik zit me stuk te bijten op dat vervelende gekriebel wat er voor en achter staat ...
Geplaatst: 28 mei 2004, 22:47
door Luuk

denk dus dat het ' . $row['username'] . ' ligt
Geplaatst: 28 mei 2004, 22:56
door mosymuis
ik weet het wel zeker

Geplaatst: 28 mei 2004, 23:01
door CG bandicoot
Dat denk ik ook ja.
Geplaatst: 28 mei 2004, 23:13
door Podium4
Oke, dat vermoeden begon ik ook al te krijgen, laten we de regel eens uit elkaar trekken om alle losse delen te bekijken.
Code: Selecteer alles
$user_online_link =
'<a href="' . append_sid("nickpage.$phpEx?user" . '
=
' . $row['username']) . '
"
' . $style_color . '
>
' . $row['username'] . '
</a>';
Nu kunnen we mooi zien dat twee delen hetzelfde zijn, namelijk het deel IN de link ... dus voor
http://localhost/phpBB2/nickpage.php?user=podium4. En het deel buiten de eigenlijke link die wordt gebruikt voor de weergave... Een klein verschil is dat bij het linkurl deel een ) komt na het $row['username'] deel... Kunnen jullie me vertellen of ik dit moet aanpassen, en hoe?
Geplaatst: 28 mei 2004, 23:19
door mosymuis
podium4 schreef:Een klein verschil is dat bij het linkurl deel een ) komt na het $row['username'] deel...
Logisch, de functie append_sid() staat er immers nog omheen. Deze kan je gewoon weghalen, zoals ik dat ook al deed in mijn suggestie hierboven^^, want je hebt hem niet nodig.
En ik heb page_header er nu zelf ook eens bij gepakt, en zie dat de oplossing zo simpel is als wat.

4 regels erboven zie je namelijk dit stuk, waar voor de mod's en admin's de username <b> vet </b> gemaakt wordt. Haal dat weg, en je link werkt.
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
Geplaatst: 28 mei 2004, 23:28
door Podium4
Thanks moos! Opgelost...