Ich hab das so!
Hallo oppa,
vielen Dank, dass Du uns Deine Hilfe anbietest:
Ich hab das System bei mir wie unten angezeigt: Hier nur dass was zum login-system gehört, habe dann noch weitere Tabellen die hier ja aber unwichtig sind:
Der Inhalt der admin.php soll in einer Tabelle der index.php angezeigt werden.
In dieser Tabelle steht folgender Code:
---------------------------------------------------------------
<?php
$admin=$_GET['admin'];
if(file_exists($admin.".php") or $admin==""){
if(empty($admin) or $admin=="admin"){include("admin.php");}
else{include($admin.".php");}
}
else{echo "Die Datei existiert nicht.";}
?>
-----------------------------------------------------
index.php,
PHP:--------------------------------------------------------------------------------
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
if (isset($_POST['action']) && $_POST['action']=='login')
{
$un = (isset($_POST['un'])) ? $_POST['un'] : '';
$pw = (isset($_POST['pw'])) ? $_POST['pw'] : '';
CheckUserLogin ($un, $pw, session_id());
}
if (isset($_GET['action']) && $_GET['action']=='logout')
{
UserLogout (session_id());
}
?>
<br>
<form name="login" method="post" action="index.php">
<input type="hidden" name="action" value="login">
Enter your username and password to log in
<br>
Username: </td><td><input class="flat" type="text" name="un"><br>
Password: </td><td><input class="flat" type="password" name="pw"></br>
<input type="submit" value="Login">
</form>
--------------------------------------------------------------------------------
admin.php
PHP:--------------------------------------------------------------------------------
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
$userinfo = CheckUserSession(session_id());
// hier gehts dann weiter, wenn alles ok ist .. <img src="images/smilies/smile.gif" border="0" alt="">
// logout button
?>
<a href="index.php?action=logout">Logout<br><?php echo $userinfo[Vorname]." ".$userinfo[Name]; ?></a>
--------------------------------------------------------------------------------
und zum schluss noch die datei usermanagment.inc.php
PHP:--------------------------------------------------------------------------------
<?php
/***
* Prüfen, ob der User berechtigt ist, einen Login durchzuführen.
*/
function CheckUserLogin ($un, $pw, $session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserPasswd FROM AdminUser WHERE UserName='$un' AND UserPasswd=MD5('$pw')") or mysql_error();
$zeile = mysql_fetch_array($result);
if ( $zeile["UserId"] == "" )
{
header ("Location: index.php");
}
else
{
$result = mysql_query("UPDATE AdminUser SET UserSession = '".$session."',UserLogin = NOW() WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
header ("Location: admin.php");
}
}
/***
* LOGOUT
*/
function UserLogout ($session) {
$result = mysql_query("UPDATE AdminUser SET UserSession = NULL WHERE UserSession = '".$session."'") or mysql_error();
header ("Location: index.php");
}
/***
* Prüfen, ob die Session in Ordnung ist.
*/
function CheckUserSession ($session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserLogin FROM AdminUser WHERE UserSession = '".$session."'") or mysql_error();
if ( mysql_num_rows($result) == 1 ) {
$zeile = mysql_fetch_array($result);
$sessarr[UserId] = $zeile["UserId"];
$sessarr[Name] = $zeile["Name"];
$sessarr[Vorname] = $zeile["Vorname"];
$sessarr[UserLogin] = $zeile["UserLogin"];
return $sessarr;
}
else {
header ("Location: index.php");
return false;
}
}
?>
Tja, irgendwie klappt das alles immer nicht, bekomme immer die Meldung "headers already sent....."
Hallo oppa,
vielen Dank, dass Du uns Deine Hilfe anbietest:
Ich hab das System bei mir wie unten angezeigt: Hier nur dass was zum login-system gehört, habe dann noch weitere Tabellen die hier ja aber unwichtig sind:
Der Inhalt der admin.php soll in einer Tabelle der index.php angezeigt werden.
In dieser Tabelle steht folgender Code:
---------------------------------------------------------------
<?php
$admin=$_GET['admin'];
if(file_exists($admin.".php") or $admin==""){
if(empty($admin) or $admin=="admin"){include("admin.php");}
else{include($admin.".php");}
}
else{echo "Die Datei existiert nicht.";}
?>
-----------------------------------------------------
index.php,
PHP:--------------------------------------------------------------------------------
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
if (isset($_POST['action']) && $_POST['action']=='login')
{
$un = (isset($_POST['un'])) ? $_POST['un'] : '';
$pw = (isset($_POST['pw'])) ? $_POST['pw'] : '';
CheckUserLogin ($un, $pw, session_id());
}
if (isset($_GET['action']) && $_GET['action']=='logout')
{
UserLogout (session_id());
}
?>
<br>
<form name="login" method="post" action="index.php">
<input type="hidden" name="action" value="login">
Enter your username and password to log in
<br>
Username: </td><td><input class="flat" type="text" name="un"><br>
Password: </td><td><input class="flat" type="password" name="pw"></br>
<input type="submit" value="Login">
</form>
--------------------------------------------------------------------------------
admin.php
PHP:--------------------------------------------------------------------------------
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
$userinfo = CheckUserSession(session_id());
// hier gehts dann weiter, wenn alles ok ist .. <img src="images/smilies/smile.gif" border="0" alt="">
// logout button
?>
<a href="index.php?action=logout">Logout<br><?php echo $userinfo[Vorname]." ".$userinfo[Name]; ?></a>
--------------------------------------------------------------------------------
und zum schluss noch die datei usermanagment.inc.php
PHP:--------------------------------------------------------------------------------
<?php
/***
* Prüfen, ob der User berechtigt ist, einen Login durchzuführen.
*/
function CheckUserLogin ($un, $pw, $session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserPasswd FROM AdminUser WHERE UserName='$un' AND UserPasswd=MD5('$pw')") or mysql_error();
$zeile = mysql_fetch_array($result);
if ( $zeile["UserId"] == "" )
{
header ("Location: index.php");
}
else
{
$result = mysql_query("UPDATE AdminUser SET UserSession = '".$session."',UserLogin = NOW() WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
header ("Location: admin.php");
}
}
/***
* LOGOUT
*/
function UserLogout ($session) {
$result = mysql_query("UPDATE AdminUser SET UserSession = NULL WHERE UserSession = '".$session."'") or mysql_error();
header ("Location: index.php");
}
/***
* Prüfen, ob die Session in Ordnung ist.
*/
function CheckUserSession ($session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserLogin FROM AdminUser WHERE UserSession = '".$session."'") or mysql_error();
if ( mysql_num_rows($result) == 1 ) {
$zeile = mysql_fetch_array($result);
$sessarr[UserId] = $zeile["UserId"];
$sessarr[Name] = $zeile["Name"];
$sessarr[Vorname] = $zeile["Vorname"];
$sessarr[UserLogin] = $zeile["UserLogin"];
return $sessarr;
}
else {
header ("Location: index.php");
return false;
}
}
?>
Tja, irgendwie klappt das alles immer nicht, bekomme immer die Meldung "headers already sent....."