Einzelnen Beitrag anzeigen
Alt 18.08.2008, 16:31  
Change
Benutzer
 
Registriert seit: 09.08.2008
Beiträge: 40
Change befindet sich auf einem aufstrebenden Ast
Standard Session Problem

Hallo,
hab in mein ticketsystem ein session-system eingebaut!
Da ich mich damit aber nicht so gut auskenne, habe ich eines aus einem anderne Script das ich gefunden habe genommen!

Also, mein loginscript sieht folgendermaßen aus:

PHP-Code:
<?php
include"config.php"// config.php wird eingefügt
$PW1 $passwort1;
$PW2 $passwort2;
$PW3 $passwort3;
$PW4 $passwort4;
$PW5 $passwort5;


if(
$_POST['Login'] && $_POST['passwort'] == $PW1 OR $PW2 OR $PW3 OR $PW4 OR $PW5// Login ist der Submitbutton vom Formular und passwort das Feld vom Formular
{
session_start();
$_SESSION['CREATED'] = time();
$_SESSION['passwort'] = $PW1 OR $PW2 OR $PW3 OR $PW4 OR $PW5// Hier geben wir der Sessionen den Zugangsschlüssel.
}
?>

<?php
if($_SESSION['passwort'] == $PW1 OR $PW2 OR $PW3 OR $PW4 OR $PW5// Hier prüft es die obig-registrierte Session.
{
echo
"Sie sind erfolgreich eingeloggt!Sie werden zur Administration weitergeleitet.<script>top.location.href='ticketsystemadmin.php'</script><br/>";
// Nun eine Rückgabe, für die die JS deaktiviert haben:
echo'Falls Sie nicht automatisch weitergeleitet werden, klicken Sie <a href="admin.php">hier</a>';
}
else
{
// Und hier die Meldung, wenn es nicht gültig ist
echo '<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Sie sind nicht befugt, diese Seite anzusehen! <br/>Möglicherweise ist das eingegeben Passwort falsch.<br /><br />';
echo 
'Bitte loggen Sie sich <a href="admin.html">hier</a> erneut ein.';
}
?>
nun sollte ich in jedem zu schützenden script folgenden code einfügen:
PHP-Code:
 <?php
session_start
();
if( !isset(
$_SESSION['CREATED']) || time()-$_SESSION['CREATED'] > 1440 ) {
    
session_regenerate_id(true);
    
$_SESSION['CREATED'] = time();
}
  
?>
Die anderen scripts funktionieren zwar einwandfrei, jedoch steht jetzt jedesmal oben drüber:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\web-sql-server\htdocs\ticket\ticketsystemadmin.php:1) in D:\web-sql-server\htdocs\ticket\ticketsystemadmin.php on line 2

Auf line 2 ist: session_start();
Wo liegt nun der Fehler?
Vorher hat es auch geklappt...warum jetzt aufeinmal nicht mehr??

Danke schonmal im vorraus, Change
Change ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten