Avatar billede johansrk Nybegynder
04. august 2007 - 15:28 Der er 26 kommentarer og
1 løsning

extern login til phpbb

hej. Jeg har et problem med min login funktion som ligger på min start side.
Næsten alt virker. Jeg kan logge ind, men når jeg prøver at logge ud hopper den over på mit forum og kommer med følgende fejl. Invalid_session

Her er min kode

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
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
//
?>



<?php
if($userdata['session_logged_in'])
{
echo ('Hi '.$userdata['username'].'! <a href="' . append_sid($phpbb_root_path . 'login.php?logout=true') . '">Logout</a>');
}
else
{
?>

<form action="<?php echo($phpbb_root_path); ?>login.php" method="post" enctype="multipart/form-data">
<p>Username:</p> <input type="text" name="username"><br />
<p>Password:</p> <input type="password" name="password"><br />
<input type="hidden" name="redirect" value="../">
<input type="submit" value="login" name="login">
</form>
<?php
}

?>
Avatar billede jakobdo Ekspert
04. august 2007 - 16:06 #1
Hvad er dit spørgsmål? :o)
Avatar billede johansrk Nybegynder
05. august 2007 - 11:23 #2
he he
mit spørgsmål er, hvad der er galt med min kode, siden at jeg ikke kan få brugeren logget ud
Avatar billede jakobdo Ekspert
05. august 2007 - 15:21 #3
Hvor er din logud kode?

Det skulle gerne findes her: login.php?logout=true
Avatar billede johansrk Nybegynder
06. august 2007 - 11:46 #4
jeg har arbejdet videre med scriptet og fået logout til at virke. Jeg kan også logge ind. Problemet ligger i at hvis man prøver at logge ind, kommer login formen frem igen. 2. gang man prøver virker det. hvad skal jeg ændre for at koden bare virker, første gang.
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
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
//
?>



<?php
if($userdata['session_logged_in'])
{
$appendLogout = $u_login_logout = $phpbb_root_path.'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id']; // Add the session ID to the logout link
echo "<p>Welcome,</p> <a href=\"phpBB2/profile.php?mode=viewprofile&u=".$userdata['user_id']."\" title=\"".$userdata['username']."\">".$userdata['username']."</a>!<br />"; // Show a welcome message
echo "<a href=\"phpBB2/privmsg.php?folder=inbox\" title=\"You have ".$userdata['user_unread_privmsg']." new messages\">(".$userdata['user_unread_privmsg'].") New Messages</a><br />"; // Any new PMs?
echo "<a href=\"phpBB2/profile.php?mode=editprofile\" title=\"My Profile\">My Profile</a><br />"; // Edit your profile link
echo "<a href=\"".$appendLogout."\" title=\"Logout\">Logout</a><br />"; // Logout link

}
else
{
?>

<form action="<?php echo($phpbb_root_path); ?>login.php" method="post" enctype="multipart/form-data">
<p>Username:</p> <input type="text" name="username"><br />
<p>Password:</p> <input type="password" name="password">
<input type="hidden" name="redirect" value="../">

<p><input type="submit" value="login" name="login">
<!--Remember:<input class='text' type='checkbox' name='autologin' /></p>
-->
</form>
<?php
}
?>
Avatar billede jakobdo Ekspert
06. august 2007 - 11:57 #5
Har du noget mere login kode fra siden: login.php ?
Avatar billede johansrk Nybegynder
06. august 2007 - 14:45 #6
jeg er nu ved at have sporet mig ind på hvor problemet ligger. Ved simpelthen at sætte mit website op igen, bid for bid. Lige så snart jeg har tilføjet følgende script, begynder problemet med at skulle logge ind 2 gange

<script language="JavaScript" type="text/javascript" src="http://the-farawaytree.com/phpBB2/topics_anywhere.php?mode=show&f=15&n=4&r=y&b=4&lpb=0&lpd=3&br=y"></script>

så jeg skal enten have rette denne kode, eller jeg skal bruge en anden metode
Avatar billede jakobdo Ekspert
06. august 2007 - 17:22 #7
Hvad bruger du det script til?
Avatar billede johansrk Nybegynder
06. august 2007 - 18:25 #8
det script bruger jeg til at vise de sidste nye indlæg på forsiden fra mit mit phpBB forum
Avatar billede jakobdo Ekspert
06. august 2007 - 18:45 #9
Kunne det tænkes der laver noget session halløj?
Og dermed driller din indlogning?
Avatar billede johansrk Nybegynder
06. august 2007 - 19:55 #10
du havde ret. Jeg slettede noget session halløj, og nu fungerer det hele
Avatar billede jakobdo Ekspert
06. august 2007 - 21:33 #11
Du er ikke meget for at dele point ud?
Avatar billede johansrk Nybegynder
07. august 2007 - 00:06 #12
jo da.. men hvor i alverden gør man det.?? he he
Avatar billede jakobdo Ekspert
07. august 2007 - 07:43 #13
Ligesom du selv lavede et svar, så skulle jeg have lagt et svar.
Men det er nu lige meget nu.
Avatar billede johansrk Nybegynder
07. august 2007 - 09:15 #14
det er jeg ked af. Hvis jeg kan overføre point til dig, skal du få 100 i stedet for de 30
Avatar billede jakobdo Ekspert
07. august 2007 - 10:13 #15
Nej, det er lige meget, jeg har masser! :o)
Avatar billede danic Nybegynder
09. august 2007 - 07:57 #16
johansrk> jeg kan se at du har kommenteret autologin ud, er det fordi du ikke ønsker dette? eller er det svært at få til at virke? Jeg står selv i en situation hvor jeg ønsker at udskifte forum på mit community til phpbb, og skal det samme igennem.
Avatar billede danic Nybegynder
14. august 2007 - 12:47 #17
Kan du fortælle hvad løsningen bliv: Jeg slettede noget session halløj, og nu fungerer det hele?
Avatar billede johansrk Nybegynder
14. august 2007 - 13:35 #18
ja. Det session jeg fjernede var i en ekstern phpfil, hvor jeg brugte topics_anywhere til at vise content på mit website
det var i denne topics_anywhere.PHP fil at jeg fjernede noget sessions. Problemet er dog vendt tilbage, og jeg kan ikke lige gennemskue hvad problemet er.
Jeg kan godt logge ind, men først anden gang lykkes det 100%
Avatar billede johansrk Nybegynder
14. august 2007 - 13:48 #19
min kode ser således ud nu
første del skal stå aller øverst overhovedet
anden del skal stå nede i body delen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
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
//
?>


    <?php
    if($userdata['session_logged_in']){
        $appendLogout = $u_login_logout = $phpbb_root_path.'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id']; // Add the session ID to the logout link
        echo "<p>Welcome,</p> <a href=\"phpBB2/profile.php?mode=viewprofile&u=".$userdata['user_id']."\" title=\"".$userdata['username']."\">".$userdata['username']."</a>!<br />"; // Show a welcome message
        echo "<a href=\"phpBB2/privmsg.php?folder=inbox\" title=\"You have ".$userdata['user_unread_privmsg']." new messages\">(".$userdata['user_unread_privmsg'].") New Messages</a><br />"; // Any new PMs?
        echo "<a href=\"phpBB2/profile.php?mode=editprofile\" title=\"My Profile\">My Profile</a><br />"; // Edit your profile link
        echo "<a href=\"".$appendLogout."\" title=\"Logout\">Logout</a><br />"; // Logout link
    }
    else{
        ?>
        <form action="<?php echo($phpbb_root_path); ?>login.php" method="post" enctype="multipart/form-data">
        <p>Username:</p> <input type="text" name="username"><br />
        <p>Password:</p> <input type="password" name="password">
        <input type="hidden" name="redirect" value="../">
        <p><input type="submit" value="login" name="login">
        </p>
        </form>
        <?php
    }
    ?>
Avatar billede danic Nybegynder
14. august 2007 - 14:53 #20
Super! og tak for hjælpen :-)
Avatar billede danic Nybegynder
14. august 2007 - 14:55 #21
Hvis jeg finder ud af problemmet med dobbelt login, poster jeg det her.
Avatar billede johansrk Nybegynder
14. august 2007 - 14:57 #22
selv tak. Jeg håber du løser problemet, for jeg kan ikke lige gennemskue det
Avatar billede danic Nybegynder
14. august 2007 - 15:16 #23
Jeg har nu løst problemet med denne guide:
http://www.phpbb.com/kb/article/configuring-domain+script-path+cookie-settings

Det er en mod du skal downloade og så oprette et install katalog, hvor du kører filen, brug de setting som står på siden.
Avatar billede johansrk Nybegynder
14. august 2007 - 17:57 #24
Denne mod er noget der virker. Nu logger den på lige med det samme. Men jeg tror at jeg har en anden fejl i min kode, for hvis jeg derefter går over på mit phpBB forum, så er jeg logget ind. Men går jeg i stedet ind på en hvilken som helst anden side, på mit website, fx forsiden, så er jeg logget af igen.
Avatar billede danic Nybegynder
14. august 2007 - 18:28 #25
Lyder som om at du ikke har denne kode på alle dine sider, så den taber sessionen.

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
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
//
?>
Avatar billede johansrk Nybegynder
14. august 2007 - 23:58 #26
jeg har denne kode på alle mine sider, og selv hvis jeg er på min startside, logger ind, og går ind på min start side igen, altså jeg har på intet tidspunkt været på andre sider end forsiden, så logger den af.
Jeg bliver logget på fint, men bliver logget af så snart jeg går ind på en ny eller samme side.
Avatar billede johansrk Nybegynder
20. august 2007 - 13:10 #27
nu fik jeg det sørme til at fungere min kode er som følger. Jeg opdagede at grunden til at den loggede brugeren af bare ved at gå ind på en anden side med samme kode var en lidt forkert cookie opsætningen inde i mit phpBB2 admin panel.

Jeg ændrede min cookie path til / istedet for /phpBB2
og jeg ændrede mit cookie navn til phpbb2mysql i stedet for det jeg havde før



if ( !defined('IN_PHPBB') )
{
  define('IN_PHPBB', true);
  include($phpbb_root_path  . 'extension.inc');
  include($phpbb_root_path  . 'common.'.$phpEx);
  include($phpbb_root_path  . 'config.'.$phpEx);
 
  //
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
}






<?php
    if($userdata['session_logged_in']){
        $appendLogout = $u_login_logout = $phpbb_root_path.'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id']; // Add the session ID to the logout link
        echo "<p>Welcome,</p> <a href=\"phpBB2/profile.php?mode=viewprofile&u=".$userdata['user_id']."\" title=\"".$userdata['username']."\">".$userdata['username']."</a>!<br />"; // Show a welcome message
        echo "<a href=\"phpBB2/privmsg.php?folder=inbox\" title=\"You have ".$userdata['user_unread_privmsg']." new messages\">(".$userdata['user_unread_privmsg'].") New Messages</a><br />"; // Any new PMs?
        echo "<a href=\"phpBB2/profile.php?mode=editprofile\" title=\"My Profile\">My Profile</a><br />"; // Edit your profile link
        echo "<a href=\"".$appendLogout."\" title=\"Logout\">Logout</a><br />"; // Logout link
    }
    else{
        ?>
      <form action="<?php echo($phpbb_root_path); ?>login.php" method="post" enctype="multipart/form-data">
        <p>Username:</p> <input type="text" name="username"><br />
        <p>Password:</p> <input type="password" name="password">
        <input type="hidden" name="redirect" value="../">
        <p><input type="submit" value="login" name="login">
        </p>
      </form>
        <?php
    }
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester