Seite 1 von 1

Hilfe was ist an diesem Code falsch, ich dreh durch...

Verfasst: 30.05.2004 20:09
von narob
Hi,

jetzt ist mir die Lust vergangen, ich schaff es einfach nicht, ich bekomme ständig Fehlermeldungen, dabei will ich doch nur eine externe Seite durch Loginpflich im Forum schützen:

Code: Alles auswählen

<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 


//Session auslesen und Benutzer-Informationen laden 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

?>
<body>
<?php 
define('IN_PHPBB',true); 

$phpbb_root_path = "./"; // set path to phpBB files 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userid = $userdata['user_id']; 
$sql = "SELECT * FROM " . USER_GROUP_TABLE . " WHERE user_id = '$userid'"; 
$result = $db->sql_query($sql); 
$isauth = 0; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if ($row['group_id'] == 'insert_group_id_here' || $row['group_id'] == 'insert_group_id_here') 
{ 
$isauth = 1; 
} 
} 

if($userdata['session_logged_in']){ 
?>
<div align="left"> 
  <center>
    <font size="1" face="Verdana">Hallo, <?php echo $userdata[username] ?>! </font>
  </center>
</div>
<br>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/profile.php?mode=editprofile"> 
  <font size="1">Profil bearbeiten</font></a></font></div>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/privmsg.php?folder=inbox"> 
  <font size="1">Private Nachrichten</font></a></font></div>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/login.php?logout=true&redirect=../index.php"> 
  <font size="1">Ausloggen</font></a></font></div>
<font size="1" face="Verdana"> 
<?php 
}else{ 
?>
</font> 
<form action="http://www.xyz.de/phpBB2/login.php" method="post">
  <table border="0" cellpadding="3" cellspacing="1" width="100%">
    <tr> 
      <td> <font size="1" face="Verdana">Username:<br>
        <input class="searchbox" type="text" name="username" size="10" maxlength="40">
        </font> </td>
    </tr>
    <tr> 
      <td> <font size="1" face="Verdana">Passwort:<br>
        <input class="searchbox" type="password" name="password" size="10" maxlength="25">
        </font><br> <font size="1" face="Verdana">Auto Login: </font> <font face="Verdana" size="1">
        <input class="text" type="checkbox" name="autologin">
        </font><br> </td>
    </tr>
    <tr align="center"> 
      <td colspan="2"><font size="1" face="Verdana">
        <input type="submit" name="login" value="Login">
        </font></td>
    </tr>
    <tr align="center"> 
      <td colspan="2"><font face="Verdana"><span class="smalltext"> <font size="1"> 
        <a href="http://www.xyz.de/phpBB2/profile.php?mode=sendpassword" class="smalllink">Passwort 
        vergessen?</a></font></span><br>
        <font size="1"> <a href="http://www.xyz.de/phpBB2/profile.php?mode=register">Registrieren</a></font><font size="1">! 
        </font></font></td>
    </tr>
  </table>
  <input type="hidden" name="redirect" value="../index.php">
</form>
&nbsp; 
<?php 
} 
?>
</body>
</html>
Danke im Voraus!

Re: Hilfe was ist an diesem Code falsch, ich dreh durch...

Verfasst: 30.05.2004 20:17
von Pyramide
narob hat geschrieben:ich bekomme ständig Fehlermeldungen
Und welche sind das?

Verfasst: 30.05.2004 20:51
von narob
Hi,
Warning: Cannot modify header information - headers already sent by (output started at /homepages/15/d32369949/htdocs/xyz.de/phpbb2/test3.php:7) in /homepages/15/d32369949/htdocs/xyz.de/phpbb2/includes/sessions.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /homepages/15/d32369949/htdocs/xyz.de/phpbb2/test3.php:7) in /homepages/15/d32369949/htdocs/xyz.de/phpbb2/includes/sessions.php on line 183

Fatal error: Cannot redeclare class template in /homepages/15/d32369949/htdocs/xyz.de/phpbb2/includes/template.php on line 30
test3.php ist die datei die den obigen code enthält.

Verfasst: 30.05.2004 21:06
von Pyramide
KB:headers_already_sent

Verfasst: 30.05.2004 21:13
von narob
Ok, danke. :)

wenn ich den fehler behebe, funktioniert das Script dann auch wie es sollte? (Habe heute leider keine Möglichkeit mehr es zu testen)


Alex

Verfasst: 30.05.2004 21:16
von Pyramide
narob hat geschrieben:wie es sollte?
Wie sollte es denn funktionieren?

PS: Wenn du den define('IN_PHPBB') bis include(common.php) Bereich nur einmal in die Datei schreibst, ist die warscheinlichkeit daß es funktioniert gleich größer :roll:

Verfasst: 30.05.2004 22:05
von narob
Ok danke, aber ich kenn mich damit wirklich nicht aus. :roll:

So sollte es funktionieren: Sobald der User die xy.html aufruft soll geprüft werden, ob der User eingeloggt ist oder nicht. Wenn nicht soll eben eine Fehlermeldung und das Loginformular erscheinen.

Grüße und danke,
Alex

Verfasst: 31.05.2004 10:52
von narob
So, habe jetzt alles gemacht wie du es gesagt hast, ich bekomme auch keine Fehlermeldung mehr, aber jetzt erscheint immer das Login Formular egal ob man eingeloggt ist oder nicht. Warum? :(

Folgender Code steht in der Datei:

Code: Alles auswählen

<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
//Session auslesen und Benutzer-Informationen laden 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
?>
<body>
<?php 
$userid = $userdata['user_id']; 
$sql = "SELECT * FROM " . USER_GROUP_TABLE . " WHERE user_id = '$userid'"; 
$result = $db->sql_query($sql); 
$isauth = 0; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if ($row['group_id'] == 'insert_group_id_here' || $row['group_id'] == 'insert_group_id_here') 
{ 
$isauth = 1; 
} 
} 

if($userdata['session_logged_in']){ 
?>
<div align="left"> 
  <center>
    <font size="1" face="Verdana">Hallo, <?php echo $userdata[username] ?>! </font>
  </center>
</div>
<br>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/profile.php?mode=editprofile"> 
  <font size="1">Profil bearbeiten</font></a></font></div>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/privmsg.php?folder=inbox"> 
  <font size="1">Private Nachrichten</font></a></font></div>
<div class="nav"><font face="Verdana"><font size="1">:: </font> <a class="nav" href="http://www.xyz.de/phpBB2/login.php?logout=true&redirect=../index.php"> 
  <font size="1">Ausloggen</font></a></font></div>
<font size="1" face="Verdana"> 
<?php 
}else{ 
?>
</font> 
<form action="http://www.xyz.de/phpBB2/login.php" method="post">
  <table border="0" cellpadding="3" cellspacing="1" width="100%">
    <tr> 
      <td> <font size="1" face="Verdana">Username:<br>
        <input class="searchbox" type="text" name="username" size="10" maxlength="40">
        </font> </td>
    </tr>
    <tr> 
      <td> <font size="1" face="Verdana">Passwort:<br>
        <input class="searchbox" type="password" name="password" size="10" maxlength="25">
        </font><br> <font size="1" face="Verdana">Auto Login: </font> <font face="Verdana" size="1">
        <input class="text" type="checkbox" name="autologin">
        </font><br> </td>
    </tr>
    <tr align="center"> 
      <td colspan="2"><font size="1" face="Verdana">
        <input type="submit" name="login" value="Login">
        </font></td>
    </tr>
    <tr align="center"> 
      <td colspan="2"><font face="Verdana"><span class="smalltext"> <font size="1"> 
        <a href="http://www.xyz.de/phpBB2/profile.php?mode=sendpassword" class="smalllink">Passwort 
        vergessen?</a></font></span><br>
        <font size="1"> <a href="http://www.xyz.de/phpBB2/profile.php?mode=register">Registrieren</a></font><font size="1">! 
        </font></font></td>
    </tr>
  </table>
  <input type="hidden" name="redirect" value="../index.php">
</form>
<?php 
} 
?>
</body>
</html>