Der Fehler ist schon so oft nachgefragt und beantwortet worden. Die Ursache ist immer dieselbe: Es wurde vor dem session_start() bereits irgendetwas ausgegeben. Das musst du finden, wozu dir der Text "output started at ..." einen Hinweis auf die ursächliche Stelle gibt. Wenn du in der ersten Zeile vor dem <?php nichts siehst, dann verschweigt dir dein Editor etwas. Nimm einen anderen Editor und/oder achte beim Speichern darauf, dass ohne BOM gespeichert wird, wenn du UTF-8 verwendest.
Ich habe den Inhalt meiner Datei (start_session();) bis auf die ersten 6 Zeilen gelöscht und durch den einer Session-Beispiel-Datei ersetzt. Diese Datei funktioniert einwandfrei. Demnach gibt es keine versteckten Zeichen in den ersten Zeilen:
<?php
session_start();
$name = $_POST['username'];
$code = $_POST['passwort'];
$_SESSION['username'] = $name;
demnach muß ich in den nachfolgenden Zeilen einen Fehler in Zeile 3 provozieren. nur ich habe leider keine Ahnung welchen!
if (isset($name) && $code !=""){
include ('cgi-bin/passwort.txt');
if (($pass[$name] != "") && ($pass[$name] == $code)){
login(true);
}else{
login(false);
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>...usw.
DIESER AUFRUF DER FUNCTION LÄUFT EINWANDFREI:
<?php
function login($okay){
if ($okay == true){
echo ("
<div id='log'>
<h3 class='gruen'><br>Sie sind eingeloggt mit dem Namen: <font color='black'>- $name -</font>
<br>und können jetzt den geschützten Mitglieds-Bereich betreten</h3>
<p> </p>
<div id='taste'>
<p class='vit'><a class='taste' href='cgi-bin/intern.php' title='Geschützten Bereich betreten'>weiter</a>
</div>
</div>
");
}else{
echo ("
<div id='log'>
<div id='zu'><p><a href='index_session.php'> <img src='bat/zu.png' width='23' height='21' border=0 align='right'></a></p>
</div>
<h1 class='rot'>Bei der Eingabe wurde ein Fehler gemacht</h1>
<h3 class='mit'><br>überprüfen Sie noch einmal die Schreibweise von Name und Kennwort
<br>sollten Sie ihr Kennwort vergessen haben,
<br>wenden Sie sich bitte an den Administrator (kontakt)</h3>
</div>
");
}
}
?>