Vreemde hyperlink bij viewonline

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Vreemde hyperlink bij viewonline

Bericht door Podium4 » 28 mei 2004, 21:53

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 :roll:
Alleen support via het forum, dus geen support via email, msn of pb.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 22:03

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>'; 
Afbeelding

Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Bericht door Podium4 » 28 mei 2004, 22:16

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>';
Alleen support via het forum, dus geen support via email, msn of pb.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 22:19

ik blijf proberen:

Code: Selecteer alles

$user_online_link = '<a href="' . append_sid("nickpage.$phpEx?user=" . $row['username']) . '"' . $style_color . '>' . $row['username'] . '</a>'; 
Afbeelding

Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Bericht door Podium4 » 28 mei 2004, 22:24

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 :P
Alleen support via het forum, dus geen support via email, msn of pb.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 22:26

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
Afbeelding

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 22:32

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
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 mei 2004, 22:33

Code: Selecteer alles

$user_online_link = '<a href="nickpage.'.$phpEx.'?user=' . $row['username'] . '"' . $style_color . '>' . $row['username'] . '</a>';
:?:

Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Bericht door Podium4 » 28 mei 2004, 22:45

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 ...
Alleen support via het forum, dus geen support via email, msn of pb.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 22:47

Luuk schreef: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
:roll: denk dus dat het ' . $row['username'] . ' ligt
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 mei 2004, 22:56

ik weet het wel zeker :bier:

Gebruikersavatar
CG bandicoot
Berichten: 391
Lid geworden op: 18 mar 2004, 17:47
Locatie: Amersfoort
Contacteer:

Bericht door CG bandicoot » 28 mei 2004, 23:01

Dat denk ik ook ja.

Code: Selecteer alles

<?
$sql = mysql_query("SELECT * FROM bestevanbeste WHERE name = 'CG Bandicoot'");
while ($obj = mysql_fetch_assoc($sql)) {
if (mysql_num_rows($sql) == 0) {
echo 'Huh?';
} else {
echo 'Als je het maar weet.';
}} ?>

Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Bericht door Podium4 » 28 mei 2004, 23:13

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?
Alleen support via het forum, dus geen support via email, msn of pb.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 mei 2004, 23:19

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'] . '"';
}

Gebruikersavatar
Podium4
Berichten: 3009
Lid geworden op: 07 aug 2003, 15:32
Locatie: Groningen / Zwolle

Bericht door Podium4 » 28 mei 2004, 23:28

Thanks moos! Opgelost...
Alleen support via het forum, dus geen support via email, msn of pb.

Gesloten