Hiho liebes Sponsor-Board,
ich bin mal wieder wegen eines Problems ratlos.
Seitdem der storage-plan Server neu ist, geht ein Teil meines CMS nicht mehr - natürlich noch der wichtigste .
Doch nun zum Problem:
Ich hab das Acp mit einem Passwort geschützt, halt einer User-Authentifizierung. Will ich mich nun einloggen - und das Passwort ist richtig, kommt folgende Meldung:
[14-Oct-2013 12:39:38 Europe/Berlin] PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/cms/public_html/administrator/login.php:1) in /home/cms/public_html/administrator/login.php on line 6
[14-Oct-2013 12:39:38 Europe/Berlin] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/cms/public_html/administrator/login.php:1) in /home/cms/public_html/administrator/login.php on line 28
Ich konnte den Fehler jetzt auch schon auf die Dateien login.php und auth.php beschränken (auth is die, die die Sessions checkt)
Hier erstmal meine login.php:
<?php
include '../config.php';
$gesendet = mysql_real_escape_string($_POST['sent']);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_start();
$username = mysql_real_escape_string($_POST['username']);
$passwort = mysql_real_escape_string($_POST['passwort']);
$passwort= md5(md5($passwort));
$sql = "SELECT * FROM `user` WHERE `name` = '$username'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}else { $meldung = 'Vorgang erfolgreich!';}
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
$password = $zeile['passwrd'];
$id = $zeile['id'];
$banned= $zeile['banned'];
}
if($password == $passwort and $banned == '0'){
$_SESSION['angemeldet'] = true;
$_SESSION['user'] = $username;
$_SESSION['id'] = $id;
header('Location: index.php');
exit;
}else{$meldung = 'Passwort / Nutzername falsch oder Nutzerkonto gesperrt';}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>pasterntCMS - Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body background="img/bg.jpg">
<br><br><br><br><br>
<div class="container content">
<div class="page-header">
<h1>pasterntCMS <small class="text-error">Admin-CP</small></h1>
</div>
<?
if(isset($meldung)){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>';
echo '<h4>'.$meldung.'</h4>';
echo 'Bitte Passwort / Nutzernamen überprüfen';
echo '</div>';
}?><center>
<form action="login.php" method="post" class="form-inline">
<img src="img/logo.png">
<div class="input-prepend">
<span class="add-on">Nutzername:</span>
<input class="span2" name="username" type="text" placeholder="Nutzername">
</div>
<div class="input-prepend">
<span class="add-on">Passwort:</span>
<input class="span2" name="passwort" type="password" placeholder="Passwort">
<input class="span2" name="sent" type="hidden" value="1">
</div>
<input type="submit" value="Anmelden" class="btn btn-primary"/>
</form></center>
</div>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
Hier nun die auth.php:
<?php
session_start();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
exit;
}
?>
Leider kann ich keinen Fehler erkennen, was is da los?
Wär über Hilfe dankbar.
MfG
Tim