einloggen über eine andere seite(aber auch in phpbb2)
einloggen über eine andere seite(aber auch in phpbb2)
also, ich habe eine homepage erstellt, auf derman sich einloggen kann, nun möchte ich aber nicht, dass man sich einmal im forum registrieren lassen muss, und einmal auf der homepage. deswegen würde ich gerne wissen, wie in phpbb das einloggen funktioniert, also mit session start und cookies. wär echt toll wenn ich auch gleich den code haben könnte, falss er nicht zu lang ist.
Proud Admin & Webmaster of http://www.broxx-com.de
- Nico Haase
- Mitglied
- Beiträge: 1100
- Registriert: 10.08.2003 15:19
- Wohnort: Neu-Anspach / Darmstadt
- Kontaktdaten:
folgendes funktionier bei mir einwandfrei:
einfach da, wo du's brauchst, die funktion checklogin() einbauen und auf ausgabe prüfen (wenn ok -> login vorgenommen, wenn anders -> login noch nicht)
Code: Alles auswählen
<?php
include_once("defines.php");
define('IN_PHPBB', true);
define('PHP_BBINSTALLED', '1');
$phpbb_root_path = './forum/';
include_once($phpbb_root_path . 'extension.inc');
include_once($phpbb_root_path . 'common.php');
$linkslogin = FALSE;
$loginformopen = '<form method="post" action="'./forum/login.php"';
$login1 ='<a name="login"> </a><b>Login</b><br />'."\n".
'Username: <input type="text" name="username" size="10" />'."\n".
'<br />Passwort:'."\n".
'<input type="password" name="password" size="10" maxlength="32" />'."\n".
'<br />Autologin'."\n".
'<input type="checkbox" name="autologin" /><br />'."\n".
'<input type="submit" name="login" value="Login" />'."\n".
'<input type="hidden" name="redirect" value="'.getthisurl($_SERVER["PHP_SELF"]);
$login2 = '"><br /><br /><a href = "'./forum/profile.php?mode=register">Anmelden</a>';
$loginform = $login1.$login2;
$login = session_pagestart($user_ip, PAGE_LOGIN);
if ($login["user_id"] == "-1" || !isset($login)) $logingeschehen = FALSE;
else
{
$redirect = $_SERVER["PHP_SELF"];
$logingeschehen = TRUE;
$linkslogin = ":. Du bist eingeloggt als ".$login["username"]." .::. <a href = \""./forum/profile.php?mode=editprofile\">Profil</a> .::. ".
"<a href = \""./forum/login.php?logout=true&redirect=".$redirect."\">Logout</a>\n\n";
$linkslogin .= " .:";
}
function makelogin($ersetzen = FALSE, $formopen = FALSE) {
global $loginform;
global $loginformopen;
global $linkslogin;
global $logingeschehen;
$returnvars = "";
if ($logingeschehen == FALSE)
{
if (isset($ersetzen)) $loginform = str_replace("<br />", $ersetzen, $loginform);
if ($formopen == FALSE) $returnvars.= $loginformopen;
$returnvars.=$loginform;
}
else $returnvars = " ".$linkslogin;
return $returnvars;
}
function checklogin() {
global $logingeschehen;
if ($logingeschehen == FALSE)
{
global $login1;
global $login2;
$returnvars = "Diese Funktion kannst du nicht nutzen, da du nicht eingeloggt bist. Das kannst du hier nachholen:<br /><br />".makelogin();
}
else $returnvars = "ok";
return $returnvars;
}
?>
Buchtips.net bietet mehr als 2500 Buchrezensionen
hm, kann ich einfach nur defines.php einbinden und dann überprüfen ob man eingeloggt ist?? das wäre einfacher....
Proud Admin & Webmaster of http://www.broxx-com.de
danke hat prima gefunzt 
das nächste mal werde ich denken bevor ich poste

das nächste mal werde ich denken bevor ich poste

Proud Admin & Webmaster of http://www.broxx-com.de
- SirBerberitz
- Mitglied
- Beiträge: 8
- Registriert: 17.02.2004 01:42
- Wohnort: OktoberfestCity
Hallo,
ich versuche seit Stunden obige Funktion bei mir zu installieren. Da ich die "defines.php" in meinem phpBB Verzeichnis nicht finden konnte, habe ich einfach eine leere Datei mit selbigem Namen erstellt. Ich hoffe dass ist hier so angedacht ...
Leider wird mir immer der Fehler
ausgeworfen.
Hat jemand eine Idee was ich hier falsch mache???
Many Thx
ich versuche seit Stunden obige Funktion bei mir zu installieren. Da ich die "defines.php" in meinem phpBB Verzeichnis nicht finden konnte, habe ich einfach eine leere Datei mit selbigem Namen erstellt. Ich hoffe dass ist hier so angedacht ...
Leider wird mir immer der Fehler
Code: Alles auswählen
Fatal error: Call to undefined function: getthisurl() in /kunden/meine_domain.com/de/php/index.php on line 90
Hat jemand eine Idee was ich hier falsch mache???
Many Thx
- Nico Haase
- Mitglied
- Beiträge: 1100
- Registriert: 10.08.2003 15:19
- Wohnort: Neu-Anspach / Darmstadt
- Kontaktdaten:
hehe, ich kenne die lösung. die funktion gibbet nich, weil ich die geproggt, aber nicht weitergegeben habe. die sieht folgendermaßen aus:
vorher musst du noch DEEP definieren, das ist 1 für den root deines servers, 2 für einen unterordner, 3 für einen unterordner eines unterordners etc. damit werden dann die pfadangaben für die weiterleitung geregelt.
Code: Alles auswählen
function getthisurl($url)
{
$querystring = "";
$thisurl = explode("/",$url);
$countdirs = count($thisurl) - 1;
if ($countdirs == DEEP) $returnurl = $thisurl[$countdirs];
if ($countdirs > DEEP)
{
$returnurl = "";
$back = "";
for ($i = $countdirs-1; $i < DEEP + 1; $i++)
{
$returnurl .= $thisurl[$i]."/";
}
for ($i = $countdirs-1; $i < DEEP; $i++)
{
$back .= "../";
}
$returnurl.= $thisurl[DEEP+1];
$returnurl = $back.$returnurl;
}
if (!empty($_SERVER["QUERY_STRING"]))
{
$divquery = explode("&",$_SERVER["QUERY_STRING"]);
foreach ($divquery as $querys)
{
$unterquerys = explode("=",$querys);
if ($unterquerys[0] != "sid" && !empty($unterquerys[1]))
{
if (!empty($querystring)) $querystring.= "&";
if ($unterquerys[0] != "sid") $querystring.= $unterquerys[0]."=".$unterquerys[1];
}
}
if (!empty($querystring))
{
$returnurl.= "?".urlencode($querystring);
}
}
return append_sid("../".$returnurl);
}
Buchtips.net bietet mehr als 2500 Buchrezensionen
- SirBerberitz
- Mitglied
- Beiträge: 8
- Registriert: 17.02.2004 01:42
- Wohnort: OktoberfestCity
@ Nico Haase:
danke erstmal fuer die superschnelle Hilfe. Fette Sache das ...
Leider komm ich immer noch nicht klar
Erstens weiss ich nicht genau wie ich das von dir angesprochene "DEEP" definieren soll ...
hab ich jetzt mal so gemacht:
und zweitens wirft mir meine Seite wieder diesen doofen Fehler aus, den ich gestern schon mal hatte, als ich diese Sache von "Pyramide"
http://www.phpbb.de/doku/kb/artikel.ph ... pbb_seite
versucht habe:
Hast du auch hierfuer noch eine Loesung?
Fettes Merci schon mal vorab!
Gruss
SirBerberitz
danke erstmal fuer die superschnelle Hilfe. Fette Sache das ...
Leider komm ich immer noch nicht klar

Erstens weiss ich nicht genau wie ich das von dir angesprochene "DEEP" definieren soll ...
hab ich jetzt mal so gemacht:
Code: Alles auswählen
define('DEEP', '1');
http://www.phpbb.de/doku/kb/artikel.ph ... pbb_seite
versucht habe:
Code: Alles auswählen
Warning: Cannot modify header information - headers already sent by (output started at /kunden/meine_domain.com/de/php/index.php:5) in /kunden/meine_domain.com/de/forum/includes/sessions.php on line 182
Warning: Cannot modify header information - headers already sent by (output started at /kunden/meine_domain.com/de/php/index.php:5) in /kunden/meine_domain.com/de/forum/includes/sessions.php on line 183
Hast du auch hierfuer noch eine Loesung?
Fettes Merci schon mal vorab!
Gruss
SirBerberitz
Die Hoelle, das sind die anderen. J.P. Satre