Seite 2 von 5

Verfasst: 18.06.2007 15:03
von andy3000
Super, genauso wollte ich es haben. :grin:
Danke.

Noch eine kleine Frage. Kann man es auch so machen, dass, wenn man eingeloggt ist, nach dem Begrüßungstext ein Button zum Ausloggen da ist?
Das wäre dann perfekt.

EDIT: hab die Antwort darauf gefunden.
Man muss das hier einfügen:

Code: Alles auswählen

<form action="forum/login.php?logout=true&sid=<?php echo $userdata['session_id']; ?>" method="post"> 
               <input type="hidden" name="redirect" value="../index.php" /> 
               <input type="submit" value="Logout" /></form>
Vielen Dank für die Hilfe!

Verfasst: 25.07.2007 12:47
von andy3000
Hi, ich bin's noch mal.

Nachdem ich auf phpBB 3 umgestiegen bin, funktioniert das plötzlich nicht mehr.
Ich bekomme Fehlermeldungen, dass in diesen Zeilen irgendwas nicht stimmt:

Code: Alles auswählen

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

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
Ich verwende RC3, das hat aber auch bei anderen RCs nicht funktioniert.
Kann mir vielleicht jemand helfen?
Danke!

Verfasst: 25.07.2007 13:15
von Dr.Death
Hi,

MODs für phpbb2 funktionieren nicht in phpbb3 und umgekehrt.

Ein echtes externes Login für phpbb3 existiert noch nicht. ( Nur eine Beta, die einen IFrame benutzt...igitt )

Verfasst: 25.07.2007 13:25
von andy3000
Das ist aber schade,

ich hoffe, dass man's bald realisieren kann.
Dann muss ich wohl einfach abwarten.

Verfasst: 25.07.2007 13:37
von Mahony
Hallo
Das hier sollte dir weiter helfen Vorlage für in phpBB3 eingebundene Seiten




Grüße: Mahony

Verfasst: 25.07.2007 15:13
von andy3000
Vielen Dank, Mahony

ich werde es damit versuchen. :grin:


Edit: Nun, ich habe die Stellen, die anders sind entsprechend umgeändert.
Jetzt sieht es bei mir so aus:

Der Code am Anfang der Seite:

Code: Alles auswählen

<?php 
// Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = 'forum/'; 
$phpEx = substr(strrchr(__FILE__, '.'), 1); 
include($phpbb_root_path . 'common.' . $phpEx); 

// Session auslesen und Benutzer-Informationen laden 
$user->session_begin(); 
$user->setup(); 
$auth->acl($user->data);
?>
Der Code für das Formular:

Code: Alles auswählen

<?php 
if ( !$user->data['session_logged_in'] ) 
{ 
?> 

<form action="forum/ucp.php?mode=login" method="post"><p> 
      Benutzername:<input type="text" name="username"><br> 
      Passwort:<br><input type="password" name="password"><br> 
      Autologin?<input type="checkbox" name="autologin"><br> 
      <input type="hidden" name="redirect" value="../hilfe.php"></p> 
      <input type="submit" name="login" value="Login"> 
   </form><br> 
   
<?php 
} // END if 
else 
{ 
?> 
  
<p>Hallo <b><?php echo $user->data['username']; ?></b>!<br> Willkommen bei Softwarearchiv!<br>
Schön, dass du vorbei kommst!</p>
 
   <form action="forum/ucp.php?mode=logout&sid=<?php echo $user->data['session_id']; ?>" method="post"> 
               <input type="hidden" name="redirect" value="../index.php" /> 
               <input type="submit" value="Logout" /></form><br>
 
<?php 
} // END else 
?>
Es ist zwar so, dass ich erfolgreich angemeldet werde und zurückgeleitet werde, doch nach der Anmeldung erscheint nicht der begrüßungstext, sondern wieder Anmeldeformular.
Was habe ich falsch gemacht?

Verfasst: 26.07.2007 22:23
von andy3000
Und, hat schon jemand eine Idee?

Verfasst: 27.07.2007 22:38
von andy3000
*push*

keiner?

Verfasst: 27.07.2007 23:55
von Mahony
Hallo
In der Anleitung steht doch was du machen musst.

Soll geprüft werden, ob ein Benutzer angemeldet ist, so ist $user->data['user_id'] zu prüfen. Also z.B.

Code: Alles auswählen

if ($user->data['user_id'] == ANONYMOUS)
{
// Code, wenn Benutzer nicht angemeldet ist
}
else
{
// Code, wenn Benutzer angemeldet ist
}
Das bedeutet: Du prüfst mit

Code: Alles auswählen

if ($user->data['user_id'] == ANONYMOUS)
{
   login_box();
}
ob der User angemeldet ist und leitest ihn auf die login_box, wenn er nicht angemeldet ist (das ist jetzt nur das Beispiel um den unangemeldeten User auf die login_box umzuleiten).

Ist der User allerdings angemeldet, leitest du ihn auf die gewünschte Seite weiter mit

Code: Alles auswählen

if ($user->data['user_id'] == ANONYMOUS)
{
   login_box();
}
else
{
// Hier die Weiterleitung zur Seite mit dem Willkommenstext eintragen.
}
Du musst also nur das zweite Beispiel verwenden.




Grüße: Mahony

Verfasst: 28.07.2007 08:55
von andy3000
Vielen Dank, das sieht schon viel besser aus.

Noch eine kleine Frage.

Mein Logoutbutton funktioniert nicht so, wie ich will.
Ich will, dass man nach der Abmeldung zur Startseite meiner HP weitergeleitet wird und nicht zur Startseite des Forums, wie jetzt bei mir. Der code ist oben.