Login auf separater Seite via Forumaccount

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.
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Login auf separater Seite via Forumaccount

Beitrag von 59thRaider »

liveSA:MP ist ein grosses Projekt mit vielen Servern und einer zentralen Webpräsenz und zentralem Forum.
Damit man auf den Servern spielen und sich aufhalten kann muss man im Forum registriert sein, um an die Serverdaten zu kommen.

Diese stehen in der Zukunft in einem PW gewschützen Bereich auf der Webseite.

Da diese zwei nicht miteinander verbunden sind, wird der Login folgender massen aussehen:

Ein User registriert sich im Forum, bewirbt sich und wird angenommen. Dementsprechend bekommt er die Benutzergruppe, welche den Internen Bereich des Forum sieht.


Damit er nun die Serverdaten bekommen loggt er sich mit seinen Forendaten auf der Webseite zum Memberbereich ein. Dies wäre eine einzige php Seite (von dem ihr oben lediglich das Login sieht)

Im WBB wurden Benutzername, Benutzerpasswort und Benutzergruppe aus der Datenbank ausgelesen und geprüft, ob der User im Forum registriert ist, das PW stimmt, und ob er in der richtigen Benutzergruppe ist.

Wenn alles ja ist, wurde ihm die seite mit PW und IP angezeigt.

Wenn nein blieb er draussen.

-----------------------------------------------

Das ist nun genau das System, welches ihr unten im Quellcode findet, dort habe ich einfach nur den php bereich gepostet, "wohin" die eingaben gesendet und überprüft werden.

In WBB funktioniert dies problemlos. Da wir aber auf phpBB umgestiegen sind, funktioniert dies ja nicht mehr, da die zwei völlig unterschiedlich arbeiten.

Und genau diesen bereich müsste man umschreiben.

Dazu muss man allerdings wissen wie phpBB funktioniert.
Und da ich mit php allgemein meine mühen habe, kann ich dies einfach nicht.

Code: Alles auswählen

<?php 
//Config begin
$Forum['path'] = "/srv/www/httpd/phost/l/net/live-samp/web/forum/"; //Path zu Forum hier is die Datei im selben verzeichnis mit / am ende
$Forum['usergroups'] = array(1,2,3,7,10,12,16) ;//usergruppen (0,2,3 ...etc
$Filename = "index.php"; //Name des Scripts
//Config end
require("class_db_mysql.php");
$n = 1;
if(isset($_POST['send']))	{
	$db = new db($MySQL['host'],$MySQL['user'],$MySQL['passwort'],$MySQL['database']);
	$wbb_userpassword=md5($_POST['user_pw']);
	$result = $db->query_first("SELECT * FROM bb".$n."_users WHERE username = '".addslashes(htmlspecialchars($_POST['username']))."' AND password = '".$wbb_userpassword."' AND activation = 1");
	if($result['userid'] && ValidGroup($result['groupid'],$Forum['usergroups']))	{
	?>

--------------------------------------------------------------------

<div id="livesamp">
	<p><b><font color="#2c4e97">liveSA:MP Stories Member Area</font></b><br />
	Bitte logge dich ein, um alle Funktionen nutzen zu können.</p>
	</div>
	<div id="inhalt">
	<br /><br /><br />
	<p>Willkommen in der liveSA:MP Stories Member Area.<br />
	Bitte logge dich mit deinen Forumdaten ein, um alle Funktionen nutzen zu können</p>
<form action="<?php echo $Filename ?>" method="post" name="login">
<input name="send" type="hidden" value="true">
<div id="pr"><br /><br /><table width="50%" border="0" align="center">
  <tr>
    <th scope="col">Login</th>
    <th scope="col">&nbsp;</th>
  </tr>
  <tr>
    <td>Forumname: </td>
    <td><input name="username" type="text" size="20" maxlength="100"></td>
  </tr>
  <tr>
    <td>Passwort: </td>
    <td><input name="user_pw" type="password" size="20"></td>
  </tr>
  <tr>
    <td colspan="2" ><a href="../rules.html" target="_new">Regeln</a> gelesen und akzeptiert: <input name="cool" id="checkagb" type="checkbox" value="ja" onclick="ValidCheckbox(this);"/></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input id="login" name="submit" type="submit" value="Login" disabled /></td>
  </tr>
</table></div>
</form>
Ich wäre froh, wenn mir jemand helfen würde, dies umzuschreiben.
Danke im Voraus :)
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Kann bitte jemand dies mal anschauen? Es ist für mich sehr wichtig dass das erledigt wird.

Bitte.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Dr.Death hat geschrieben:Kleine Anregung:

[Snippet] Externer Login / Logout für phpBB3
und wie mach ich das mit den Benutzergruppe?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Da könnte man was aus diesem Snippet zusammenbasteln:

Gruppenzugehörigkeiten eines Benutzers prüfen
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

----gelöscht----
Zuletzt geändert von 59thRaider am 29.08.2008 10:40, insgesamt 2-mal geändert.
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Oke ich habs mal umgestellt und es funktioniert recht gut.

Aber.

Sobald ich die Datei aufrufe und mich einloggen erscheint folgender Fehler:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/session.php on line 942: Cannot modify header information - headers already sent by (output started at /srv/www/httpd/phost/l/net/live-samp/web/stories/intern/login.php:7)
(dies dreimal nacheinander)

Wenn ich die entsprechende Zeile

Code: Alles auswählen

		header('Set-Cookie: ' . $name_data . (($cookietime) ? '; expires=' . $expire : '') . '; path=' . $config['cookie_path'] . $domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);
per // verberge kann man sich im Forum einloggen, wird dann aber wieder als nicht eingeloggt angezeigt.

Dann erscheint die Fehlermeldung auf der Loginseite nicht mehr.


Ich werde später noch versuchen die Gruppenabfrage einzubauen, allerdings habe ich keinen Plan, wo und wie ich es einbauen soll. Erbitte schon mal hilfe.
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

könnte bitte hier mal eine korrektur oder tipp kommen, wie man diese Fehlermeldungen behenben kann (resp. auch wie ich die Gruppenabfrage einbauen kann)
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

Laut Fehlermeldung gibst du irgendwo in
/srv/www/httpd/phost/l/net/live-samp/web/stories/intern/login.php:7
einen text aus. Dadurch kann er den sogenannten "Header" nicht mehr verändern. Du solltest schauen das jegliche "Header"-Befehle vor jeglichem Text kommt. Es passiert auch oft, dass man aus Versehen irgendwo ein Leerzeichen od. einen Punkt, etc. irgendwo stehen hat. Laut phpbb-Debug ist das in der oben genannten Datei. Das sollte einmal den Fehler beheben. Wenn es nicht hilft am Besten die Dateien posten(/verlinken).
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Große Codeblöcke bitte nur verlinken / Code gekürzt - KB:16 - Metzle
Zuletzt geändert von 59thRaider am 30.09.2008 22:48, insgesamt 1-mal geändert.
Antworten

Zurück zu „Coding & Technik“