Benutzername auf externer Seite anzeigen.

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.
Tadashi
Mitglied
Beiträge: 29
Registriert: 21.02.2013 15:00

Benutzername auf externer Seite anzeigen.

Beitrag von Tadashi »

Hallo liebe phpbb Community,
Ich habe folgendes Problem. Ich hab ein Forum, und eine website, mein Forum verzeichnis liegt eins unter dem der website. Mein Ziel ist es das, wenn man auf dem Forum eingeloggt ist auch auf der Hompage "eingeloggt" ist. Also das der Anzeigename angezeigt wird.
Bsp: ForumAnmeldename: Tadashi
.. auf der hompage: Hallo <Username> ( in dem Fall "Tadashi").

Desweiteren würde ich gerne die Phpbb datenbank für die website benutzen. Member bereich. Dies ist eig. egal ob der Zugang, über die existierende Session erlaubt wird, oder ob man sich neu mit Username und password erneut einloggen muss.
Dies hab ich bis jetzt wie folgt gelöst. (1 Benutzername + 1 Passwort)
login.php

Code: Alles auswählen

<!DODCYTPE html>
<?php
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      session_start();

      $username = $_POST['username'];
      $passwort = $_POST['passwort'];

      $hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);

      // Benutzername und Passwort werden überprüft
      if ($username == 'testbenutzer' && $passwort == 'testpassword') {
       $_SESSION['angemeldet'] = true;

      // Weiterleitung zur geschützten Startseite
       if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }
        header('Location: ./News/sn_admin/index.php');
       exit;
       }
      }
?>
<?php require_once("config.php"); ?>
<?php require_once("functions.php"); ?>
<?php include('header.html'); ?>
<div id=content>
        <!-- CONTENT -->
<div id="inhalt">
<a href="./?page=index" title="zurück zur Startseite"> <img src="./style/images/left-arrow-button.jpg" style="height:40px; width:40px;"/></a>
<center>

  <h1> News Management - Login </h1><br>
<form method="post" action="login.php">
<table cellpadding="0" cellspacing="0" class="form-container">
<style type="text/css">
/*
 * Form Style
 */
.form-container td.cells {
	padding-bottom: 9px;
}

.form-container label {
	display: block;
	padding-top: 3px;
</style>
  <tr>
    <td class="cells">Username:</td><td class="cells"><input type="text" name="username" size="30" class="hoster-form"></td>
  </tr>
  <tr>
    <td class="cells">Password:</td><td class="cells"><input type="password" name="passwort" size="30" class="hoster-form"></td>
  </tr>
  <tr>
    <td class="cells" colspan="2">
      <center>
      <input type="submit" name="login" value="Login">
      </center>
    </td>
  </tr>
</table>
</form>  

</center>
  </div>
</div>

<?php include('footer.html'); ?>

auth.php

Code: Alles auswählen

<?php
     session_start();

     $hostname = $_SERVER['HTTP_HOST'];
     $path = dirname($_SERVER['PHP_SELF']);

     if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
      header('Location: login.php');
      exit;
      }
?>
und in den jeweiligen Seiten welceh nu für member zugänglich sind mit

Code: Alles auswählen

<!DODCYTPE html>
<?php require_once("auth.php"); ?>
.......
Ich bin für jede hilfe dankbar mit freundlichen grüßen Tadashi
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Benutzername auf externer Seite anzeigen.

Beitrag von HabNurNeFrage »

Hi,

umgekehrt wird da eher ein Schuh draus, also deine Seite/n ins Forum einbinden...

Die von Dir genannten Dateien haben zwar damit zu tun, jedoch ist keine davon einzeln fähig, das Gewünschte zu erfüllen.

Schau Dir mal die faq.php an. Die ist schön einfach und enthält bereits den Grundaufbau.

Ohne das hier am Anfang wird das mit Auth, Session und Datenbank nichts:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
Und dann die HTML-Dateien. Dazu vielleicht diese Stelle als Hilfe:

Code: Alles auswählen

$template->set_filenames(array(
    'body' => 'faq_body.html')
);
Dort bestimmst Du, welche HTML-Datei die zuvor erstellte PHP-Datei zur Anzeige nutzt.

Wenn Du so oder so ähnlich vorgehst, wird es auch was mit der Begrüßung Deiner Nutzer mit Nickname.

Viel Erfolg beim Tüfteln...

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Tadashi
Mitglied
Beiträge: 29
Registriert: 21.02.2013 15:00

Re: Benutzername auf externer Seite anzeigen.

Beitrag von Tadashi »

Schonmal vielen dank für deine antwort :D
Naja, dein Vorschlag hab ich mir auch überlegt, aber das will ich vermeiden ;) an die datenbank etc. komm ich ja dran
und, bei dieser Zeile verädnere ich einfach den root path das muss ja möglich sein oder ?

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

vielleichtn noch hinzufügen
include($phpbb_root_path.'config.' . $phpEx);
für die Datenbank,
aber meine Hauptfrage ist ja, wie komm ich an die session dran ? Ist das möglich ?
Zuletzt geändert von Crizzo am 21.05.2013 20:23, insgesamt 1-mal geändert.
Grund: unnötiges Komplett-Zitat entfernt
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Benutzername auf externer Seite anzeigen.

Beitrag von gn#36 »

Es ist sehr viel einfacher deine Seite in phpBB einzubinden als die Session Infos auszulesen, ohne phpBB dazu zu nutzen. Die Session liegt in der Datenbank in der Tabelle phpbb_sessions, um sie zu prüfen brauchst du entweder die SID oder du musst einen Cookie auslesen. Aber wie gesagt das würde ich auf keinen Fall von Hand machen.

Es zwingt dich aber auch keiner, das Template System zu nutzen. Du kannst also ohne Probleme die ganzen Initialisierungen machen die "HabNurNeFrage" erwähnt hat für den php Teil (den Root-Path kannst du dabei beliebig anpassen, egal ob das Forum in einem übergeordneten Ordner oder in einem Unterordner oder sogar in einem völlig anderen Pfad liegt) und anschließend dann auf welche Art auch immer deine Ausgabe realisieren. In diesem Fall findest du alle Relevanten Daten zum User in dem Objekt $user, das meiste was du brauchen dürftest in $user->data. Ob ein User angemeldet ist oder du einen Gast vor dir hast kannst du mit $user->data['is_registered'] überprüfen. Ob ein bestimmtes Recht vorliegt oder nicht kannst du per $auth->acl_get und einigen anderen ähnlichen Funktionen überprüfen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Tadashi
Mitglied
Beiträge: 29
Registriert: 21.02.2013 15:00

Re: Benutzername auf externer Seite anzeigen.

Beitrag von Tadashi »

So mal ne Frage :D Ich verzichte jetzt auf die Session, weil ich euren Rat berücksichtige und versuche einfach nur die Datenbank zu benutzen. Leider bin ich ein Total noob was php betrifft, könnte mir hier jemand weiterhelfen ?

Code: Alles auswählen

<!DODCYTPE html>
<?php
$host = ""; 

$user = ""; 

$pw = "";

$db = "";


if ( ! mysql_connect ( $host , $user , $pw ) )
{
echo "konnte keine verbindung herstellen:". mysql_error();
die;
}


if (! mysql_select_db($db))
{
echo "konnte datenbank nicht finden: ". mysql_error();
die;
}
$query = "SELECT * FROM phpbb_users";

$result = mysql_query ( $query );
$anzahl = mysql_num_rows( $result );
$datensatz['pass'] = md5($datensatz['password']);
for ($i=1; $i <= $anzahl; $i++)
{
$datensatz = mysql_fetch_row( $result );

}



     if ($_SERVER['REQUEST_METHOD'] == 'POST') {

      $hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);
	  
	  $pw = md5($passwort);

	  if($datensatz['username']== $_POST["user"]&&$datensatz['pass'] == $pw
	{
       $_SESSION['angemeldet'] = true;
	   	   	   	   	   	   	   
	   
       if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }
        header('Location: upload.php');
       exit;
       }
      }
?>
<html>
<head>
</head>
<body>
<div id="inhalt">
<center>

  <h1> Maps hochladen </h1><br>
  
<form method="POST" action="login.php">
<table width="297" border="0" cellpadding="1" cellspacing="1">
<tr>
<td width="276"><center>
<strong>Benutzername/Kennwort aus dem Forum:</strong>
</center></td>
</tr>
</table>
<table width="250" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="90">Benutzername:</td>
<td width="153"><input name="user" type="text" value="<? echo $_POST["user"]?>"/></td>
</tr>
<tr>
<td>Passwort: </td>
<td><input name="pw" type="password" value="<? echo $_POST["pw"]?>" /></td>
</tr>
<tr>
<td> </td>
<td><input name="Ausrechnen" type="submit" value="Überprüfen" /></td>
</tr>
</table>
<p>
<input name="send" type="hidden" value="true" />
<br />
</p>
</form>

</center>
  </div>
</div>
<body>
</html>


schonmal vielen Dank
Mfg Tadashi
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Benutzername auf externer Seite anzeigen.

Beitrag von HabNurNeFrage »

Hi,

schau Dir das mal genauer an:
https://wiki.phpbb.com/Using_the_phpBB3.0_DBAL

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Tadashi
Mitglied
Beiträge: 29
Registriert: 21.02.2013 15:00

Re: Benutzername auf externer Seite anzeigen.

Beitrag von Tadashi »

könnte mir das jetzt bitte mal jemand verbessern, dass ich hier voran komme ? ;(

Code: Alles auswählen

<?php
$host = ""; 

$user = ""; 

$pw = "";

$db = "";


if ( ! mysql_connect ( $host , $user , $pw ) )
{
echo "konnte keine verbindung herstellen:". mysql_error();
die;
}
 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
	 
$query = "SELECT * FROM phpbb_users";
 
$result = mysql_query ( $query );
 
$anzahl = mysql_num_rows( $result );

for ($i=1; $i <= $anzahl; $i++)
{
 
$datensatz = mysql_fetch_row( $result );
if($datensatz['username']== $_POST["user"]&&$datensatz['passwort'] == $_POST["pw"]
{
           $_SESSION['angemeldet'] = true;
}
}    
                                                               
               
           if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
            if (php_sapi_name() == 'cgi') {
             header('Status: 303 See Other');
             }
            else {
             header('HTTP/1.1 303 See Other');
             }
            }
            header('Location: index.php');
           exit;
}
?>
<?php 
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'config.' . $phpEx);
include($phpbb_root_path . 'common.' . $phpEx);
 
 $user->session_begin();
 $auth->acl($user->data);
 $user->setup();

 if($user->data['is_registered']) { echo "Du bist schon eingeloggt!"; } 
 
 else {
 if(!isset($_POST['loginbutton'])) { 
 ?>
<form action = "logins.php" method="POST"> <input type="text" name="user" value="<?php echo $_POST["user"]?>"> <input type="password" name="password" value="<? echo $_POST["pw"]?>"> <input type="submit" name="loginbutton"> </form>
 <?php
 }
 }

 ?>

Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Benutzername auf externer Seite anzeigen.

Beitrag von HabNurNeFrage »

Hi,

schon gesehen?

viewforum.php?f=57

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Tadashi
Mitglied
Beiträge: 29
Registriert: 21.02.2013 15:00

Re: Benutzername auf externer Seite anzeigen.

Beitrag von Tadashi »

HabNurNeFrage hat geschrieben:Hi,

schon gesehen?

viewforum.php?f=57

LG
ich soll jetzt dafür zahlen ?
Ich dachte es gibt hier angargierte Leute die aus Spaß helfen ;( ^^
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Benutzername auf externer Seite anzeigen.

Beitrag von Miriam »

Du sollst für gar nichts zahlen. Aber wenn Du spezielle Hilfe brauchst, weil Du im Support Forum nicht weiter kommst, kannst Du gern einen Job ausloben.
Wenn Du Glück hast, meldet sich jemand.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“