Loading:

PHP 7 News & Updates v7.0 - 7.4 - book

Integracja logowania forum phpBB 2 z dowolną witryną

<?php
$folder = "/home/konto/public_html/";
define('IN_PHPBB', true);
$phpbb_root_path = $folder . 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' . $phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if (!$userdata['session_logged_in']) $userdata['user_level'] = "0";
$redir = '.././' .
str_replace ($folder, "", $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI']);
?>

 

Na uwagę zasługują dwie linijki, które należy dostosować do własnych potrzeb: $folder = "/home/konto/public_html/";Tutaj trzeba zdefiniować ścieżkę na serwerze wskazującą na folder, w którym znajduje się folder sktyptu phpBB. Kolejnej zmiany dokonujemy tutaj: $phpbb_root_path=$folder . 'forum/';Jeśli umieściłeś skrypt phpBB w folderze o innej nazwie, niż forum musisz to tutaj uwzględnić. Pamiętaj, że ten folder musi się znajdować w folderze, na który wskazuje ścieżka z pierwszej linijki, którą zmienialiśmy.

Zagmatwałem, ale myślę, że zrozumiecie. Powyższy kod jest poprawny, jeśli skrypt phpBB jest umieszczony w folderze /home/konto/public_html/forum/
Kolejny etap to stworzenie okna do logowania:

<?php
if ($userdata['user_id'] > 1)
{
  echo 
'<span style="font-weight: bold;">' $userdata['username'] . '</span><br/>
  <a href="http://strona.pl/forum/privmsg.php?folder=inbox">
  Prywatne wiadomości: ' 
$userdata['user_unread_privmsg'] . '</a><br/>
  <a href="http://strona.pl/forum/login.php?logout=true">Wyloguj</a>'
;
}
else
{
  echo 
'<form action="http://strona.pl/forum/login.php" method="post">
  <input type="text" name="username" value="" tabindex="1" />
  <input type="password" name="password" tabindex="2" />
  <br/>
  <input type="hidden" name="autologin" value="on"/>
  <input type="hidden" name="login" value="Zaloguj"/>
  <input type="hidden" name="redirect" value="' 
$redir '"/>
  <input type="submit" name="login" value="Login" tabindex="3" />
  </form><br/>
  <a href="http://strona.pl/forum/profile.php?mode=register">Rejestracja</a>'
;
}
?>

Powyższy kod wyświetli okienko logowania (jeśli user jest niezalogowany) lub informację o użytkowniku. Należy w nim zmodyfikować odpowiednio ścieżki do plików phpBB.

Ostatnią rzeczą, która może Wam się przydać, jest ograniczanie dostępu do częsci serwisu dla niezalogowanych użytkowników: <?php
if ($userdata['user_level'] != "0")
{
  echo 
'To widzą tylko zalogowani!';
}
?>



Napisz Artykuł

Listing

niema


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=4&t=5992

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: filu23 Ranga: Poziom 3 Punktów: 50
Komentarze użytkowników
dzieki przydalo sie
autor: lfs_driver | 12784 | 2012-03-22 22:59:54


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors