Login auf Hauptseite (von phpBB.com)

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
~| Marc |~
Mitglied
Beiträge: 27
Registriert: 16.04.2006 15:38
Wohnort: Austria
Kontaktdaten:

Login auf Hauptseite (von phpBB.com)

Beitrag von ~| Marc |~ »

Hey,

ich habe mich ja vor kurzem auf die Suche nach einem Mod gemacht, bei welchem ich das Login in die Hauptseite meiner Homepage einbauen kann.

Nun bin ich auf phpBB.com auf folgenden Code gestoßen:

http://www.phpbb.com/community/viewtopi ... e#p2985241

Das Problem ist, dass dieser Beitrag schon einige Monate zurückliegt und ich nicht genau weiß, ob dieser funktioniert. Außerdem habe ich Probleme beim Einbau, da meiner Meinung nach ein paar Sachen etwas verwirrend sind.

Ich hoffe, mir kann jemand dabei helfen!

Mit freundlichen Grüßen,
Marc
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Re: Login auf Hauptseite (von phpBB.com)

Beitrag von Boecki91 »

~| Marc |~ hat geschrieben:nicht genau weiß, ob dieser funktioniert. Außerdem habe ich Probleme beim Einbau, da meiner Meinung nach ein paar Sachen etwas verwirrend sind.
Am besten du testest das einfach mal, was genau verwirrt dich denn?
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
~| Marc |~
Mitglied
Beiträge: 27
Registriert: 16.04.2006 15:38
Wohnort: Austria
Kontaktdaten:

Beitrag von ~| Marc |~ »

Ich bin mir nämlich nicht genau sicher, wo und wie ich die beiden Scripte einbinde.

Der erste Codeschnipsel wird ja mit <?php ... ?> eingebunden. Nur was wird in

Code: Alles auswählen

       $cookie_session_id_key = 'phpbb3_XXX_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_XXX_k'; // Your individual code
eingefügt?

Ich habe den zweiten Codeschnipsel auch schon versucht mit <?php ... ?> einzubinden, jedoch gibt es direkt im Script schon immer die Endtags, wodurch es immer unterbunden wird. Wie füge ich also das zweite ein?

Vielleicht könnte mir das jemand umschreiben, sodass ich es problemlos einbinden kann!

Mit freundlichen Grüßen,
Marc
UGC

Beitrag von UGC »

Du fügst ein, was da steht ;)
Sollte so klappen, sonst wäre es so nicht geschrieben :D
Benutzeravatar
~| Marc |~
Mitglied
Beiträge: 27
Registriert: 16.04.2006 15:38
Wohnort: Austria
Kontaktdaten:

Beitrag von ~| Marc |~ »

Einfach mit den <?php ... ?>-Tags am Anfang und zum Schluss?
Benutzeravatar
~| Marc |~
Mitglied
Beiträge: 27
Registriert: 16.04.2006 15:38
Wohnort: Austria
Kontaktdaten:

Beitrag von ~| Marc |~ »

Habe jetzt einmal alles eingefügt, und zwar so:

Code: Alles auswählen

<?php $userid = 0;
       $cookie_session_id_key = 'phpbb3_XXX_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_XXX_k'; // Your individual code

       if(!empty($_COOKIE[$cookie_session_id_key]))
       {
        $result = mysql_query("SELECT session_user_id FROM phpbb_sessions WHERE session_id='".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."'");
   
        if(mysql_num_rows($result) == 1)
        {
    $userid = mysql_result($result, 0);o

    if($userid > 1)
    {
     $login = 1;

     $user = mysql_fetch_assoc(mysql_query("SELECT username FROM phpbb_users WHERE user_id=".(int)$userid));
     $nickname = $user["username"];
   
     mysql_query("UPDATE phpbb_sessions SET session_time = ".time()." WHERE session_id = '".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."'");
    }
        }
        else
        {
         $result = mysql_query("SELECT key_id, user_id FROM phpbb_sessions_keys");

         while($ds = mysql_fetch_object($result))
         {
          if($ds->key_id == md5($_COOKIE[$cookie_session_key]))
          {
      $login = 1;

      $ip = $_SERVER["REMOTE_ADDR"];
      $browser = addslashes($_SERVER["HTTP_USER_AGENT"]);

           mysql_query("INSERT INTO phpbb_sessions SET session_id = '".mysql_real_escape_string($_COOKIE[$cookie_session_id_key])."', session_user_id = '$ds->user_id', session_last_visit = ".time().", session_start = ".time().", session_time = ".time().", session_ip = '$ip', session_browser = '$browser', session_autologin = '1'");
      mysql_query("UPDATE phpbb_sessions SET last_ip = '$ip', last_login = ".time()." WHERE key_id = '".mysql_real_escape_string(md5($_COOKIE[$cookie_session_key]))."'");
   
      $user = mysql_fetch_assoc(mysql_query("SELECT username FROM phpbb_users WHERE user_id = '$ds->user_id'"));
      $nickname = $user["username"];
          }
         }   
        }
       }
	   ?>
	   
	   <?php if($login == 1)
       { ?>
        <?php echo "Hello ".$nickname;
       }
       else
       { ?>
    <form action="/community/ucp.php?mode=login" method="post"> // Individual path
       <input type="hidden" name="autologin" value="1" />
       <input type="hidden" name="login" value="Login" />
       <input type="hidden" name="site" value="<?php echo htmlentities($_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"]); ?>" /> // Redirect
            <input type="text" name="username" value="Benutzername" />
       <input type="password" name="password" />
       <input type="image" src="..." />
          </form>

     <a href="/community/ucp.php?mode=register">[Registrierung]</a> // Individual path
    <?php   } ?>
Leider kommt ein Error, außerdem weiß ich jetzt nicht, durch welche Ziffern ich die XXX oben ersetzen muss!

http://www.wii-fans.de/login.php

In Zeile 13 steht folgendes:
if($userid > 1)
Lord Luigi
Mitglied
Beiträge: 34
Registriert: 14.03.2006 13:17

Beitrag von Lord Luigi »

~| Marc |~ hat geschrieben:[...]
if(mysql_num_rows($result) == 1)
{
$userid = mysql_result($result, 0);o

if($userid > 1)
{
Da steht ein o, was da sicher nicht hingehört.
Benutzeravatar
~| Marc |~
Mitglied
Beiträge: 27
Registriert: 16.04.2006 15:38
Wohnort: Austria
Kontaktdaten:

Beitrag von ~| Marc |~ »

Alles klar, danke, hat funktioniert!

Jetzt stehe ich jedoch vor dem nächsten Problem, dass folgende Fehler erscheinen:

Code: Alles auswählen

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/sp01_57/html/login.php on line 9 Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/sp01_57/html/login.php on line 27
Habe die drei XXX nun mit dem richtigen Cookie-Namen belegt!

Schaut also jetzt so aus:

Code: Alles auswählen

<?php $userid = 0;
       $cookie_session_id_key = 'phpbb3_36i51_sid'; // Your indivudal code
       $cookie_session_key = 'phpbb3_36i51_k'; // Your individual code
Ich glaube fast, dass es mit diesem Code nicht funktioniert ... aber ich lasse mich eines besseren belehren!
michstro
Mitglied
Beiträge: 8
Registriert: 01.01.2008 12:04
Wohnort: Siegburg
Kontaktdaten:

Beitrag von michstro »

Hallo zusammen,
Fehlt am Anfang ja zuerst einmal der connect zur Datenbank und zur Tabelle.

Code: Alles auswählen

$datenbank=mysql_connect("localhost","Benutzername","Passwort") or die ("Keine Verbindung zu mysql");
mysql_select_db('Tabelle',$datenbank) or die ("Konnte Datenbank nicht auswählen");
Wobei du natürlich zuerst einmal Benutzername Passwort und Tabelle durch eigene Werte ersetzen musst.

Dann solltest du auch sämtliche phpbb_sessions durch deine eigenen Werte ersetzen. Hast du am Anfang bei der Installation phpbb3 z.Bsp verwendet dann muss es phpbb3_sessions heissen.
Gruß Mike
seoson
Mitglied
Beiträge: 61
Registriert: 17.12.2007 19:03

Beitrag von seoson »

ein kleine frage was ist den it den 3 x gemeint durch was muss ich diese ersetzen?

Naja das hat sich erliedigt ins acp gehen und unter cookies gucken...^^
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“