Ändra rättigheter på undersidor med PHPBB integrerat

Detta är ett arkiv för phpBB2 Support, Diskussion, MODar, Stilar och översättningar. Den tillhandahålls endast för referensändamål.

Moderatorer: Supportgrupp, Moderatorgrupp

riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Ändra rättigheter på undersidor med PHPBB integrerat

Inlägg av riversswe »

Hejsan!

Jag har ett problem, tror jag? Vi har integrerat phpbb helt och hållet på en sida, så man kan logga in och stanna inloggad oavsett vart på sidan man är. Vi har bland annat använt följande kod:

Kod: Markera allt

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = 'forum/'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// 
// End session management 
// 
?>
Nu tänkte jag höra med er om det på något sätt med någon simpel kodning går att ändra rättigheterna på "ej-forumsidor" så ifall någon t.ex. inte är registrerad fast vill åt en sida så kommer man till inloggningen istället för att komma åt den sidan?

Jag har för mig att jag sett detta någonstans fast jag kan verkligen inte komma ihåg vart. Och eftersom hela sidan är integrerad och kopplad till samma databas så borde det väl inte vara några problem? Men jag är iallafall helt ställd nu, kan inte komma på hur jag ska gå till väga. En liten skjuts i rätt riktning vore inte fel.

Jag kanske förklarar väldigt dåligt hur jag menar men, det är lite invecklat och krångligt att komma till kritan ibland. Hoppas någon förstår vad jag menar? Annars får jag försöka beskriva mer djupgående.

Tack på förhand!
Användarens profilbild
PazZze
Support
Support
Inlägg: 1028
Blev medlem: 2004-05-10 11:19
Svar: 0

Inlägg av PazZze »

Kod: Markera allt

if (!$userdata or !$userdata['session_logged_in']){
//det som händer om man inte är inloggad typ:
include($phpbb_root_path."login.php"); // för att inkludera login...
} else {
//Grattis du är inloggad :D
echo "inloggad :D";
}
Joel PazZze Martinsson - phpBB Sverige Support
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

PazZze skrev:

Kod: Markera allt

if (!$userdata or !$userdata['session_logged_in']){
//det som händer om man inte är inloggad typ:
include($phpbb_root_path."login.php"); // för att inkludera login...
} else {
//Grattis du är inloggad :D
echo "inloggad :D";
}
Tack för koden, men jag får det inte riktigt att fungera så som jag vill. Om man är inloggade så fungerar sidan felfritt förutom att den struntar i att läsa in stylesheeten?...delvis iallafall. Är man inte inloggad så kommer det upp: "Warning: main(): Unable to access ./config.php in sidaadressenWarning: main(./config.php): failed to open stream: No such file or directory" osv, fast man kommer fortfarande åt själva sidan för denna varningen ligger bakom typ.

Finns det någon mer kod man kan testa med?

EDIT:
Jag kanske ska förklara lite bättre!?

Jag vill alltså lösenordskydda en sida, så om man inte är inloggad så kastas man genast bort till login.php, men om man är inloggad så kommer man åt sidan med en gång. Och jag vill använda medlemslistan från forumet. Jag är som sagt säker på att jag sett detta någonstans men jag kan verkligen inte få det att fungera...
Användarens profilbild
PazZze
Support
Support
Inlägg: 1028
Blev medlem: 2004-05-10 11:19
Svar: 0

Inlägg av PazZze »

Kod: Markera allt

<?php
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if (!$userdata or !$userdata['session_logged_in']){
//det som händer om man inte är inloggad typ:
include($phpbb_root_path."login.php"); // för att inkludera login...
} else {
//Grattis du är inloggad :D
echo "inloggad :D";
}
?> 
det där ska fungera som fil (dvs alla som är registerade får se sidan)
och då ska du lägga den på samma ställe som mappen fourm ligger i (INTE i den mappen!).
Joel PazZze Martinsson - phpBB Sverige Support
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

PazZze skrev:

Kod: Markera allt

<?php
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if (!$userdata or !$userdata['session_logged_in']){
//det som händer om man inte är inloggad typ:
include($phpbb_root_path."login.php"); // för att inkludera login...
} else {
//Grattis du är inloggad :D
echo "inloggad :D";
}
?> 
det där ska fungera som fil (dvs alla som är registerade får se sidan)
och då ska du lägga den på samma ställe som mappen fourm ligger i (INTE i den mappen!).
Tack för att du försöker hjälpa mig, men jag är antingen totalt dum eller så är det något litet jag missar för jag får det verkligen inte att fungera. Jag tror det har något med "root_path" att göra.

Min gamla kod ser ju ut så här:

Kod: Markera allt

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './07forum/'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// 
// End session management 
// 
?>
Därför borde ju den nya koden också ha den path:en, alltså: "./07forum" Men när jag har den länken så får jag upp följande felmeddelande:

Fatal error: Cannot redeclare class template in /hsphere/local/home/sidadressen/includes/template.php on line 30

Men kör jag bara med: "/07forum/" så får jag istället upp detta meddelande:
Fatal error: Call to undefined function: session_pagestart() in /hsphere/local/home/sidadressen/filen-som-ska-skyddas.php on line 9

och line 9 i koden är:

Kod: Markera allt

$userdata = session_pagestart($user_ip, PAGE_INDEX);
Så detta måste ju ha något med länkarna att göra eller vad tror du / ni?
Felet man oftast gör ärju att man sitter och stirrar sig blind på en och samma sak och därför överser något litet. Men jaja, nu har jag iallafall skrivit ner exakt vad som händer. Får väl se om vi kan komma på vad det är för fel.

Så himla störrande bara, hehe...Det ska ju funka liksom :lol:
Användarens profilbild
PazZze
Support
Support
Inlägg: 1028
Blev medlem: 2004-05-10 11:19
Svar: 0

Inlägg av PazZze »

huhum...

jag kör detta i en mapp som är en undermapp till mitt forum (och det fungerar bra)

innehållet i filen:

Kod: Markera allt

<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../';

if( !@file_exists($phpbb_root_path . 'extension.inc') )
{
	// display error message (obviously we can't use the lang system from this ;-)
	echo "<b>CRITICAL ERROR:</b> the file 'extension.inc' could not be found. Please, make sure this page has been uploaded under the /some-folder/ directory of your phpBB installation.\n";
	exit;
}

include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// 
// End session management 
//
if (!$userdata or !$userdata['session_logged_in']){
//det som händer om man inte är inloggad typ:
include($phpbb_root_path."login.php"); // för att inkludera login...
} else {
//Grattis du är inloggad :D
echo "inloggad :D";
}
?>
(fast har lite mer grejjer på slutet (dvs hur den hanterar inloggad))
Joel PazZze Martinsson - phpBB Sverige Support
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

Ja, jag ska ta mig en ordentlig titt på koden i början av nästa vecka och se om jag kan få någon ordning på det. Det borde ju egentligen inte vara så krångligt, är nog bara jag som missat något? Men jag återkommer och berättar om hur det går ev. ber om mer hjälp, hehe!

Ha en trevlig helg så länge! :D
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

Nu har jag hållt på fram och tillbaks i flera timmar men jag kan verkligen inte få det att fungera. Jag får upp följande felmeddelande:

Kod: Markera allt

Warning: main(): Unable to access ./extension.inc in /hsphere/local/home/forum/login.php on line 31 Warning: main(./extension.inc): 
failed to open stream: No such file or directory in /hsphere/local/home/forum/login.php on line 31 Warning: main(): Unable to access 
./extension.inc in /hsphere/local/home/forum/login.php on line 31 Warning: main(./extension.inc): failed to open stream: 
No such file or directory in /hsphere/local/home/forum/login.php on line 31 Warning: main(): Failed opening './extension.inc' for 
inclusion (include_path='.:/hsphere/shared/apache/libexec/php4ext/php/') in /hsphere/local/home/forum/login.php on line 31 Warning: 
main(): Unable to access ./common.php in /hsphere/local/home/forum/login.php on line 32 Warning: main(./common.php): failed to open 
stream: No such file or directory in /hsphere/local/home/forum/login.php on line 32 Warning: main(): Unable to access ./common.php in 
/hsphere/local/home/forum/login.php on line 32 Warning: main(./common.php): failed to open stream: 
No such file or directory in /hsphere/local/home/forum/login.php on line 32 Warning: main(): Failed opening './common.php' for 
inclusion (include_path='.:/hsphere/shared/apache/libexec/php4ext/php/') in /hsphere/local/home/forum/login.php on line 32 
Warning: message_die(): Unable to access ./language/lang_english/lang_main.php in /hsphere/local/home/forum/includes/functions.php 
on line 828 Warning: message_die(./language/lang_english/lang_main.php): failed to open stream: No such file or directory in 
/hsphere/local/home/forum/includes/functions.php on line 828 Warning: message_die(): Unable to access 
./language/lang_english/lang_main.php in /hsphere/local/home/forum/includes/functions.php on line 828 Warning: 
message_die(./language/lang_english/lang_main.php): failed to open stream: No such file or directory in 
/hsphere/local/home/forum/includes/functions.php on line 828 Warning: message_die(): Failed opening 
'./language/lang_english/lang_main.php' for inclusion (include_path='.:/hsphere/shared/apache/libexec/php4ext/php/') 
in /hsphere/local/home/forum/includes/functions.php on line 828 phpBB : Kritiskt Fel 

Could not locate valid language pack 
Jag använder samma kod som vi diskuterat tidigare och har testat att ändra "root_path:en" till en massa olika kombinationer. Jag ger snart upp!...Det är så konstigt att det inte fungerar eftersom, inloggningsrutinerna fungerar ju helt felfritt och därför så borde det ju inte vara adressen till rooten som är fel.
Användarens profilbild
PazZze
Support
Support
Inlägg: 1028
Blev medlem: 2004-05-10 11:19
Svar: 0

Inlägg av PazZze »

huhum...

ändra:

Kod: Markera allt

$phpbb_root_path = '../';
till:

Kod: Markera allt

$phpbb_root_path = './';
och lägg filen i samma mapp som login.php (och div andra filer (dvs root-mappen))

för vissa av felmeddelandena nedan beror på att den inte hittar filerna som den ska inkludera...
Joel PazZze Martinsson - phpBB Sverige Support
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

PazZze skrev:huhum...

ändra:

Kod: Markera allt

$phpbb_root_path = '../';
till:

Kod: Markera allt

$phpbb_root_path = './';
och lägg filen i samma mapp som login.php (och div andra filer (dvs root-mappen))

för vissa av felmeddelandena nedan beror på att den inte hittar filerna som den ska inkludera...
Japp, jag ska testa det, det första jag gör imorgonbitti. Får se om det funkar bättre. Jag återkommer :D
riversswe
Medlem
Medlem
Inlägg: 27
Blev medlem: 2005-02-08 16:19
Svar: 0

Inlägg av riversswe »

Jag gjorde precis som du sa och nu kommer man åt sidan när man är inloggad, precis som det ska vara. Men det verkar som den struntar i stylesheeten nu?...Det är nog inget jättesvårt att lösa dock, har inte hunnit kolla på det ännu.

Däremot om man inte är inloggad så ska man ju genast skickas till login.php, detta funkar dock inte riktigt lika bra, allt som kommer är följande felmeddeland:

Kod: Markera allt

Fatal error: Cannot redeclare class template in /hsphere/local/home/forum/includes/template.php on line 30
Skriv svar

Vilka är online

Användare som besöker denna kategori: 2 och 0 gäster