php(BB) sjekk om logget inn

Diskuter dine og andres prosjekter. Alt fra Widgets til programmer.

php(BB) sjekk om logget inn

Innleggav Nanaki » man 12.02.2007 12:43

Jeg holder på med en internside for en organiasjon, der jeg bruker phpBB i bunn (bruker databasen til ymse).

Det første brukeren møtes med er login (index.php) som ligger en folder over forumet.

1 internsider/index.php
2 internsider/HER_MÅ_LOGIN_SJEKKES.php
3 internsider/forum/


1= login - dette funker. ved riktig user/pas går siden til neste (2), hvis ikke til feil bruker/pass i forumet
2= denne siden må ikke kunne nås via direkte ULR, da bør user/pas etterspørres, og innhold ikke vises.
3= phpBB forumet

Det finnes allerede en sjekkk i phpBB, om man er logget inn eller ikke, så det burde ikke være umulig å bruke denne på filen (2) jeg trenger.

(har spurt rundt i BB-forumene, men aktiviteten der virker noe laber)

Noen som vet?

Brukerens avatar
medlem i 234 måneder
 

Innleggav Nanaki » man 12.02.2007 14:15

Nå har jeg funnet svaret (og jeg har leitet mye, så det er snålt at det skjer kun få minutter etter at jeg postet det her), men here goes, for andre som trenger det samme:

fant en google cache.

Code sier ikke noe mer magisk enn dette:

The Basics:

* Borrow phpBB's session initialization code
* Include common.php
* Check for authorization [In this Article, just checking for login/logout status (optional)]



* Session (and other required) Code:
The following code must be entered into each of the PHP pages for which you want phpBB to do sessions.
Code:
define('IN_PHPBB', true);
$phpbb_root_path = './';
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
//
Notes:
The value of $phpbb_root_path may change (if required), as may PAGE_INDEX (if wanted). $phpbb_root_path should be a relative directory path to your phpBB page. For example, if you have the following web site directory layout:
Quote:

/public_html/
../integrated
...../index.php
...../news.php
...../downloads.php
../phpBB2/
...../index.php
...../faq.php
...../memberlist.php

$phpbb_root_path for the /integrated/ directory would be
Code:
$phpbb_root_path = '../phpBB2/';

PAGE_INDEX is used in the View Online Page to show the user's location on the forum. It can be any of the values defined in /includes/constants.php under
Code:
// Page numbers for session handling


* Include Common.php
Done in the above code. This allows for you to use the phpBB DBAL, Templating system, Auth system, login system, and lang system.
Note: If you do this (and it is required), and your board goes down, the rest of your site will go down.

* Check for Authorization(optional)
In theory, because we included common.php above we can use phpBB2's built in Authenticication system. We could do this, but it would be a lot of work. For the sake of simplicity, we'll go over how to check if the user is logged in or not, and what to do about it. First, the code to check for login status:
Code:

if( $userdata['session_logged_in'] )
{
[insert your HTML/PHP or whatever here]
}
else
{
echo('Please Login');
}

Notes:
o You can change the error to whatever you want, even use a $lang variable.
o You can also use the message_die() function for the error.


* Other Notes:
o Although not required, it is highly recommended to append_sid() to all links in the pages. It is required that you append_sid() when linking back to the phpBB board itself. Using Append_sid()
o The login HTML would be
Code:
<form><input><br><input><br>
<input>
</form>



[edit by wanrecords: the last code example has been slightly editted to include name="login" which is necessary for this to work. big thanks to tcalp for bringing this to our attention.]


Den er skrevet av "A_Jelly_Doughnut" :) så all cred ham ham (eh.. den?)

Ser at html-skjemaet ble litt fucka av siteringen her, men det er bare et skjema som har action til login.php-filen, med bruker og pass.


Da anser jeg denne tråden for lukket :)

Brukerens avatar
medlem i 234 måneder
 


Returner til Utvikling på Mac



Hvem er i Forumene

Registrerte brukere: Google [Bot]