Hallo, ich weiß das man vor dem session_start() und bestimmten anderen Funktionen keine Ausgabe bringen darf, weiß auch sehr wohl das momentan eine Ausgabe in meinem Script vor dem Aufruf der Pear Klasse Auth stattfindet, jedoch weiß ich nicht wie ich ansonsten das Formular an der gewünschten Stellen, also zwischen der Tabelle die sich in meiner header.inc.php und footer.inc.php befindet ausgeben soll.
Wenn ich die Funktion an den Anfang der Seite stelle ist die Meldung zwar weg, aber das Formular steht nicht dort wo ich es haben will. Also wie kann ich den Aufruf der Funktion so manipulieren, dass die Ausgabe an der gewünschten Stelle ist und die Fehlermeldung nicht mehr kommt?
Vielen Dank!
Wenn ich die Funktion an den Anfang der Seite stelle ist die Meldung zwar weg, aber das Formular steht nicht dort wo ich es haben will. Also wie kann ich den Aufruf der Funktion so manipulieren, dass die Ausgabe an der gewünschten Stelle ist und die Fehlermeldung nicht mehr kommt?
PHP-Code:
<?php
include("header.inc.php");
// Auth
function login_function() {
?>
<center>
<table>
<form method="post" action="<? $_SERVER[PHP_SELF]; ?>">
<tr>
<td>Benutzer:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><a href="registrierung.php">Neu anmelden</a></td>
<td><input type="submit" value="Login"></td>
</tr>
</form>
</table>
</center>
<?php
}
$params = array(
"dsn" => "mysql://root:xxx@xxx/xxx",
"table" => "stammdaten",
"usernamecol" => "benutzer",
"passwordcol" => "passwort",
"db_fields" => "id"
);
$my_auth = new Auth('DB', $params, 'login_function');
$my_auth->start();
if($_GET['logout'] == 1) {
$my_auth->logout();
}
$test = $my_auth->getAuth();
if (true === $my_auth->getAuth())
{
echo ("Sie sind drin!");
print "<a href=\"index.php?logout=1\">Logout</a>";
}
else
{
print "nicht eingeloggt!";
}
#print_r($_SESSION);
include("footer.inc.php");
?>
Kommentar