Redirect

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
jeroen84
Berichten: 95
Lid geworden op: 08 apr 2004, 14:34

Redirect

Bericht door jeroen84 » 19 jan 2005, 18:36

Hallo,
Mijn forum staat in http://www.mijndomein.nl/forum/phpBB2/
en ik wil dat als ze zomaar een pagina openen of het forum dat dan de pagina http://www.mijndomein.nl/index.htm geopent word...

zodat ze dus altijd alles moeten bekijken via die pagina... zodat alle pagina's daar in dat frame geladen worden...

ook voor activatie dus, of als iemand z'n wachtwoord vergeten is, wordt hij naar een pagina gelinkt... maar die moet dan dus ook weer terug gaan naar http://www.mijndomein.nl/index.htm

weet iemand hoe je dit voor mekaar moet krijgen???

ik heb dit bij mijn html pages gedaan door:

<!--
if (self == top) top.location='http://www.pegasus-jl.nl';
// -->

maar hoe doe ik dat bij het forum...?

alvast heel erg bedankt!!

groeten, Jeroen

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 19 jan 2005, 18:39

toevoegen in overall_header.tpl
... Maar ik modereer (nog) niet.

jeroen84
Berichten: 95
Lid geworden op: 08 apr 2004, 14:34

Bericht door jeroen84 » 19 jan 2005, 18:57

owke thanks,

maar net zoals bij activeren van een account dan gaat ie naar profile.php
en dan wordt hij dus doorgestuurd naar http://www.mijndomein.nl/index.htm maar wordt het account dan nog wel geactiveerd???

groeten, Jeroen

jeroen84
Berichten: 95
Lid geworden op: 08 apr 2004, 14:34

Bericht door jeroen84 » 19 jan 2005, 19:07

heb het uitgeprobeerd, maar account etc. word nog gewoon geactiveerd!
perfect! bedankt voor de oplossing!

Lontronics

Bericht door Lontronics » 24 feb 2005, 00:07

Hier wil ik eigenlijk nog wel even op inhaken.

De index.php van mijn website is dusdanig dat ik in principe zou kunnen zeggen

Code: Selecteer alles

http://naam_website/index.php?frame=/forum/index.php
[/size], oftewel, open het forum in het gewenste frame van de website.

Met het script wat hierboven genoemd en wat ik nu heb opgenomen in de overall_header wordt echter altijd naar een standaard frame verwezen:

Code: Selecteer alles

<script language="Javascript" type="text/javascript">
<!--
if (self == top) top.location='http://naam_website/index.php?frame=/forum/index.php';
// --> 
</script>
[/size]

Is het mogelijk om in de overall_header op de een of andere manier de naam van het bestand wat wordt gebruikt (bijv. viewforum.php, index.php etc....) binnen te halen en in bovengenoemd script op te nemen?
Het zou dan dus worden:

Code: Selecteer alles

<script language="Javascript" type="text/javascript">
<!--
if (self == top) top.location='http://naam_website/index.php?frame=/forum/geopende_pagina.php';
// --> 
</script>
[/size]

Dit zou ik een hele nette oplossing vinden, echter ik heb nog niet ontdekt hoe ik dat voor elkaar krijg....

Groeten,
Jan
Laatst gewijzigd door Lontronics op 24 feb 2005, 12:23, 1 keer totaal gewijzigd.

Lontronics

Bericht door Lontronics » 24 feb 2005, 11:47

Ik zat nog even verder te denken...

Stel dat ik in de php bestanden een parameter opgeef;
Bijvoorbeeld in viewforum.php:

$Naambestand = 'viewforum.php';

En ik zou deze parameter in de template weer gebruiken....

Is er iemand die weet of en hoe dit zou moeten werken?

Groeten,
Jan

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

Bericht door Luuk » 24 feb 2005, 14:49

Als je hem in .tpl bestanden wilt gebruiken moet je het zo doen:

Code: Selecteer alles

$template->assign_vars(array(
    'NAAM_BESTAND' => $Naambestand)
);
In het tpl bestand kun je dan {NAAM_BESTAND} gebruiken.
Afbeelding

Lontronics

Bericht door Lontronics » 24 feb 2005, 14:58

Dank je wel Luuk, dit is info waar ik iets mee kan!! :thumb:

Nou vraag ik me alleen af of, wanneer ik dit toepas in het stukje javacode in de template, of dit dan wordt omgezet naar de juiste waarde.
Weet jij dit toevallig ook? Kan je {PARAMETER} op een willekeurige plaats zetten en wordt het dan toegepast?

Dus:

Code: Selecteer alles

<script language="Javascript" type="text/javascript"> 
<!-- 
if (self == top) top.location='http://naam_website/index.php?frame=/forum/{NAAM_BESTAND}; 
// --> 
</script>
Vanavond kan ik e.e.a. ook wel even testen, zit nu alleen niet achter mijn eigen pc... vandaar ;)

Groeten,
Jan

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

Bericht door Luuk » 24 feb 2005, 15:00

Als NAAM_BESTAND staat gedefineerd in het php bestand zal het werken.
Afbeelding

Lontronics

Bericht door Lontronics » 24 feb 2005, 15:02

Thx! :thumb:

Vanavond laat ik wel ff weten of het werkt :D

Groeten,
Jan

Lontronics

Bericht door Lontronics » 24 feb 2005, 21:33

Ik heb net het hele verhaal getest met memberlist.php en ik krijg het zo niet aan het werk.

Wat ik heb gedaan:

In memberlist.php op regel 100 staat standaard:

Code: Selecteer alles

$template->assign_vars(array(
	'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
	'L_EMAIL' => $lang['Email'],
	'L_WEBSITE' => $lang['Website'],
	'L_FROM' => $lang['Location'],
Ik heb hiervan gemaakt:

Code: Selecteer alles

$Naambestand = 'memberlist.php';
$template->assign_vars(array(
        'NAAM_BESTAND' => $Naambestand,
	'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
	'L_EMAIL' => $lang['Email'],
	'L_WEBSITE' => $lang['Website'],
	'L_FROM' => $lang['Location'],
In de template overall_header.tpl heb ik vervolgens net onder de titel de javascriptroutine toegevoegd:

Code: Selecteer alles

<title>{SITENAME} :: {PAGE_TITLE}</title>
<script language="Javascript" type="text/javascript">
<!--
if (self == top) top.location='http://Naamwebsite/index.php?frame=forum/{NAAM_BESTAND}';
// --> 
</script>
Uiteraard staat bij Naamwebsite de link naar mijn website ;)

Als ik in de source ga kijken van het geopende memberlist.php dan staat er achter forum/ helemaal niets, oftewel hij pikt {NAAM_BESTAND} niet op.
Iemand tips?

Groeten,
Jan

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 24 feb 2005, 21:37

$Naambestand bestaat niet, dus daar kan het niets mee

Dat wordt

Code: Selecteer alles

append_sid(memberlist.php)
Probeer maar eens, en geef maar een gil als het niet werkt.
... Maar ik modereer (nog) niet.

Lontronics

Bericht door Lontronics » 24 feb 2005, 21:40

Een regel erboven staat $Naambestand = 'memberlist.php'; dus die zou toch gezet moeten zijn???

Overigens ben ik nog even aan het doortesten en het ziet er naar uit dat wanneer ik bovenaan memberlist.php werk met

Code: Selecteer alles

$naamfile = 'memberlist.php';
$template->assign_vars(array(
    'NAME_FILE' => $naamfile)
);
het allemaal wel werkt....

Lontronics

Bericht door Lontronics » 24 feb 2005, 22:13

Okay, het werkt.

In memberlist.php op regel 37, net achter sessionmanagement:

Code: Selecteer alles

// 
// Start redirect als niet in frames geladen
//
$naamfile = 'memberlist.php';
$template->assign_vars(array(
    'NAME_FILE' => $naamfile)
);
//
// Einde redirect
//
Vervolgens in overall_header.tpl net onder de titel:

Code: Selecteer alles

<!--
if (self == top) top.location='http://naamWebsite/index.php?frame=forum/{NAME_FILE}';
// --> 
Een leuke bijkomstigheid; als NAME_FILE niet is gedefinieerd, springt hij automatisch terug naar /forum/ oftewel de index.

Luuk en Bee bedankt voor de hulp :thumb:

Groeten,
Jan

Lontronics

Bericht door Lontronics » 06 mar 2005, 17:01

Bij viewtopic heb je het probleem dat wanneer mensen op een topic geabonneerd zijn, ze per email een bericht ontvangen wanneer er is gepost. Middels de link in de mail kunnen ze dan rechtstreeks naar de nieuwe post.

Omdat ik in de overall_header het redirect-script had staan ging dit fout.

In viewtopic heb ik nu na sessionmanagement het volgende script toegevoegd, wat tot nu toe probleemloos werkt:

Code: Selecteer alles

// 
// Start redirect als niet in frames geladen,
//
if (!$HTTP_GET_VARS['t'] == '') 
{
	$parm_01 = $HTTP_GET_VARS['t'];
	if (!$HTTP_GET_VARS['unwatch'] == '')
	{
		$parm_02 = "&unwatch=".$HTTP_GET_VARS['unwatch'];
	}
	else $parm_02 = '';
	$naamfile =  "viewtopic.php?t=".$parm_01.$parm_02;
}
else if (!$HTTP_GET_VARS['p'] == '')
{
	$parm_03 = $HTTP_GET_VARS['p'];
	$naamfile =  "viewtopic.php?p=".$parm_03;
}
$template->assign_vars(array('NAME_FILE' => $naamfile));
//
// Einde redirect
//
Ik zat me nu alleen af te vragen of op deze manier werken wel veilig is, aangezien er nog al wat op- en aanmerkingen zijn op de functie $HTTP_GET_VARS[]. Ik controleer wel of hij gevuld is en ik doe er alleen iets mee wanneer er een post of topic id in vermeld staat. Maar is deze oplossing volledig veilig?
Iemand die daar iets meer over kan vertellen?

Groeten,
Jan

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 07 mar 2005, 08:28

Een vraagje tussendoor, Je haalt nu bepaalde variabelen op, maar als er nou nog meer zijn? Die worden niet meegegeven?
Kan je dan niet beter $_SERVER['QUERY_STRING'] om de gehele string achter ? erbij te zetten?

Lontronics

Bericht door Lontronics » 07 mar 2005, 20:41

Ben ik op zich helemaal met je eens alleen de vraag is wat je ermee doet.
Dat is ook waarom ik vroeg hoe het zit met de veiligheid.
Ik haal nu bewust alleen p= en t= binnen waarbij ik ook nog controleer of er eventueel een abonnement wordt afgezegd, maar de rest laat ik voor wat het is.
Wanneer je zou werken met $SERVER['QUERY_STRING'] dan haal je alles binnen en ik vroeg me af wat dat in principe voor kwaad zou kunnen.
Maar je hebt gelijk, het zou eenvoudiger zijn omdat je niet verder controleert en je krijgt alle variabelen volledig binnen.

Ik ben benieuwd naar de reacties :D :D :D

Groeten,
Jan.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 07 mar 2005, 20:45

ik moet ff nadenken over de veiligheid maar denk niet dat het veel kwaad kan omdat het niet geprint wordt hier(Behalve als link mischien), en phpbb controleert later de gegevens, maar ik moet er nog ff over nadenken :)

Lontronics

Bericht door Lontronics » 07 mar 2005, 20:57

Ok thx ;)

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 07 mar 2005, 21:08

Nog is ff nagedacht. Er kan geen javascript worden uitgevoerd omdat je al in javascript zit, wanneer je dus script begint werkt het niet en wordt het dus ook niet uitgevoerd. Ook meta refresh werkt niet.

Voorbeeld: (Soms blijft hij doorredirecten :()
http://www.paulscripts.nl/test/Untitled-4.php?)</script>

Gesloten