Benutzernamen aus dem Forum auch auf anderer .php Seite

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
mtsluft
Mitglied
Beiträge: 413
Registriert: 03.12.2005 18:54
Kontaktdaten:

Beitrag von mtsluft »

Hallo,

danke schonmal!
Also wenn man nun im Forum eingeloggt ist
TESTZUGANG:
username: cinestar
pass: 102030

Und dann auf meine Startseite zurückgeht bekommt man in gelber Schirft "Hallo cinestar, willkommen auf..." angezeigt.

Nun möchte ich daneben noch einen kleinen Link "ausloggen", damit man sich dierekt von der Seite aus ausloggen kann. Ist nehm ich an nicht schwer, vielleicht kann mir einer kurz nen code sagen

T H X
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

Logout-Link:

Code: Alles auswählen

<a href="forum_pfad/<?=append_sid("login.$phpEx?logout=true&redirect=../");?>">Logout</a>
mehr nicht ;)
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
mtsluft
Mitglied
Beiträge: 413
Registriert: 03.12.2005 18:54
Kontaktdaten:

Beitrag von mtsluft »

Hallo,

wenn ich mich jetzt von meiner externen seite ausloggen will, kommt das forum und bringt diesen fehler:
Invalid_session
Und nochwas: Der Link "Logout" wird sowohl wenn man eingeloggt, als auch wenn man nicht eingeloggt ist angezeigt...
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

zu diesem Problem gibt es in der Knowledge Base Hilfe:
Knowledge Base - Was tun bei Fehlermeldung "Invalid Session"?

2. Problem:

Code: Alles auswählen

FINDE:
<a href="forum_pfad/<?=append_sid("login.$phpEx?logout=true&redirect=../");?>">Logout</a>

ERSETZE DURCH:
<?
if($userdata['session_logged_in'])
{
?>
<a href="forum_pfad/<?=append_sid("login.$phpEx?logout=true&redirect=../");?>">Logout</a>
<?
}
?>
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
mtsluft
Mitglied
Beiträge: 413
Registriert: 03.12.2005 18:54
Kontaktdaten:

Beitrag von mtsluft »

Hallo,

Invalid_session

bleibt, aber "Logout" wird schonma nur noch angezeigt wenn man auch eigeloggt ist... Ich werd mich ma bei deinem o.g. link schlau machen...
thx soweit
Mavo460
Mitglied
Beiträge: 368
Registriert: 07.09.2005 20:16
Wohnort: Oldenburg
Kontaktdaten:

Beitrag von Mavo460 »

Moin!

Ich kann zwar hierbei nicht weiterhelfen aber habe fast das gleiche vor:

Ich habe nen header in dem was dargestellt werden soll. Das habe ich mit folgendem Code erstmal realisiert und in einer datei namens test3.php gespeichert. Die datei liegt im phpBB2 ordner:

Code: Alles auswählen

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

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// 
// End session management 
// 



if ( $userdata['session_logged_in'] ) 
{ 
      echo "Der User $userdata[username] mit der User-ID $userdata[user_id] ist eingeloggt"; 
} 
else 
{ 
      echo "Der user ist AUSGELOGGT !"; 
} 
?>
das selbst funktioniert ordnungsgemäß. Ich wollte jetzt diese datei in einer anderen includen wenn der User eingeloggt ist. Dafür nutze ich folgenden Code:

Code: Alles auswählen

<?php
error_reporting (E_ALL ^ E_NOTICE);
// Daten auslesen zur überprüfung ob User eingeloggt oder nicht Start

//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$c=$_SERVER['DOCUMENT_ROOT'];
$phpbb_root_path = $c . 'phpBB2/';
include_once($phpbb_root_path . 'extension.inc'); 
include_once($phpbb_root_path . 'common.php');
$a=$phpbb_root_path . 'common.php';
$b=$c . 'phpBB2/';


?>

<html>
<head>
</head>
<body>
<table width="780" border="0" cellpadding="0" cellspacing="0" align="center">
  <tr> 
    <td colspan="2"> 
      <?php 
      if ( $userdata['session_logged_in'] ) 
      { 
      echo "eingeloggt";
      include ("test3.php");
      } 
      else 
      {
      echo "ausgeloggt";
      } 
      ?>
    </td>
  </tr>
  <tr> 
    <td width="135" align="center" VALIGN="TOP" bgcolor="#FCFCFC"> 
      <?php include ("menu2.php"); ?>
      <br>
    </td>
    <td width="645" valign="top" bgcolor="#FCFCFC"> 
da bekomm ich allerdings immer nur "ausgeloggt" angezeigt. Das heisst meiner meinung nach das das script erkennt das ich eingeloggt bin. Die datei test3.php während dessen gibt mir noch immer an das ich eingeloggt bin.

Kann das mit dem include was zu tun haben? Ich bastel schon seit gestern nachmittag dran rum aber komme zu keinem richtigen ergebnis.

Über nen hinweis wäre ích dankbar :)

MfG Mavo460
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Die Session-ID muss auch beim Aussloggen angehangen werden :cry:
Antworten

Zurück zu „Coding & Technik“