funnyzocker
Erfahrenes Mitglied
Hallo.
Ich fange nach Langer Zeit ohne Programmieren mal wieder an,
So mein Problem.
Ich habe 1 Seite mit dem ganzen Design der Webseite und dort wird der rest der php sachen includiert.
Das Login system sieht folgend aus.
Und das usermanagment:
So wenn ich mich einloggen möchte kommt immer die Aussage
Wie kann ich verhindern das der Header gesendet wird.
Sitze da schon 2 Tage drann und komme nicht weiter.
Ich fange nach Langer Zeit ohne Programmieren mal wieder an,
So mein Problem.
Ich habe 1 Seite mit dem ganzen Design der Webseite und dort wird der rest der php sachen includiert.
PHP:
<?
session_start();
include('links.php');
echo"
<link rel=stylesheet href=images/Refresh.css type=text/css />
<div id=wrap>
<div id=header>
<h1 id=logo-text>Bilder-<span class=gray>Gigant</span></h1>
<h2 id=slogan>Speicherplatz für Ihre Bilder</h2>
</div>
<!-- menu -->
<div id=menu>
<ul>
<li id=current><a href=index.php?section=start>Startseite</a></li>
<li><a href=index.php?section=info>Informationen</a></li>
<li><a href=index.php?section=kontakt>Kontakt</a></li>
<li><a href=index.php?section=impressum>Impressum</a></li>
</ul>
</div>
<div id=content-wrap>
<div id=sidebar>
<h1>Sidebar Menu</h1>
<div class=left-box>
<ul class=sidemenu>
<li><a href=indexphp?section=start>Startseite</a></li>
<li><a href=index.php?section=register>Registrieren</a></li>
<li><a href=index.php?section=login>Login</a></li>
<li><a href=index.php?section=mediadaten>Mediadaten</a></li>
</ul>
</div>
<h1>Weiteres Menu</h1>
<div class=left-box>
<ul class=sidemenu>
<li><a href=index.php>#</a></li>
<li><a href=index.php>#</a></li>
<li><a href=index.php>#</a></li>
</ul>
</div>
<h1>Weiteres Menu</h1>
<div class=left-box>
<p>Infos </p>
</div>
<h1>Weiteres Menu</h1>
<div class=left-box>
<p>Infos</p>
</div></div> ";
if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
{
if(!file_exists($dateien[$_GET['section']])) echo "Die Datei ist nicht vorhanden.";
include $dateien[$_GET['section']];
}
else
{
include $dateien['home'];
}
echo"
<!-- content-wrap ends here -->
</div>
<!--footer starts here-->
<div id=footer>
</a>
</p>
</div>
<!-- wrap ends here -->
</div>
";
?>
Das Login system sieht folgend aus.
PHP:
<?php
session_start();
ob_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());
}
ob_end_flush();
?>
<br>
<form name="login" method="post" action="index.php?section=login">
<input type="hidden" name="action" value="login">
Bitte Username und Passwort eingeben
<br>
Username: </td><td><input class="flat" type="text" name="un"><br>
Passwort: </td><td><input class="flat" type="password" name="pw"><br>
<input type="submit" value="Login">
</form>
Und das usermanagment:
PHP:
function CheckUserLogin ($un, $pw, $session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserPasswd FROM user
WHERE UserName='$un' AND UserPasswd=MD5('$pw')") or mysql_error();
$zeile = mysql_fetch_array($result);
if ( $zeile["UserId"] == "" )
{
header ("Location: index.php?section=login");
}
else
{
$result = mysql_query("UPDATE user SET UserSession = '".$session."',UserLogin = NOW()
WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
header ("Location: user/user.php");
}
}
/***
* LOGOUT
*/
function UserLogout ($session) {
$result = mysql_query("UPDATE user SET UserSession = NULL
WHERE UserSession = '".$session."'") or mysql_error();
header ("Location: index.php?section=loggedout");
}
/***
* Prüfen, ob die Session in Ordnung ist.
*/
function CheckUserSession ($session) {
$result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserLogin FROM user
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;
}
}
So wenn ich mich einloggen möchte kommt immer die Aussage
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/bilder-gigant.de/httpdocs/index.php:66) in /var/www/vhosts/bilder-gigant.de/httpdocs/usermanagment.inc.php on line 21
Wie kann ich verhindern das der Header gesendet wird.
Sitze da schon 2 Tage drann und komme nicht weiter.
Zuletzt bearbeitet: