fehlermeldung bei session_start();

bloodhawk

Grünschnabel
was bedeutet denn diese fehlermeldung ?! auf meinem anderen webspace und der anderen datenbank hat es so funktioniert...und die daten sind auch schon geändert...bevor wer fragt :D

Code:
Warning: session_start() [function.session-start]: open
(/home/www/htdocs/bloodhawk.de/tmp/sess_7cbba4623a9e162b841023aff27d07
8a, O_RDWR) failed: No such file or directory (2) in /home/www/htdocs/bloodhawk.de/verify.php on line 1

Warning: session_start() [function.session-start]: Cannot send 
session cookie - headers already sent by (output started at /home/www/htdocs/bloodhawk.de/verify.php:1) 
in /home/www/htdocs/bloodhawk.de/verify.php on line 1

Warning: session_start() [function.session-start]: Cannot send
 session cache limiter - headers already sent (output started at /home/www/htdocs/bloodhawk.de/verify.php:1) 
in /home/www/htdocs/bloodhawk.de/verify.php on line 1
Sorry, aber ohne Name bzw. Passwort geht hier nichts !
Warning: Unknown(): open(/home/www/htdocs/bloodhawk.de/tmp/sess_7cbba4623a9e162b841023aff27d07
8a, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please 
verify that the current setting of session.save_path is correct (/home/www/htdocs/bloodhawk.de/tmp) in Unknown on line 0

und falls das von wichtigkeit ist, das hier ist die datei auf die er irgendwie nicht zugreifen kann...

Code:
<?session_start();?>
<?include('var.inc.php');?>
<?if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}?>
<?$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}?>
<? mysql_select_db($dbname,$conn);?>
<?$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
$result =   mysql_query($query,$conn);?>
<? $zeileholen =   mysql_fetch_array($result,MYSQL_ASSOC);
      mysql_close($conn);?>
<?if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}?>
<?if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}?>
<?$level = $zeileholen["level"];?>
<?  session_register('username');
 session_register('level');?>
<?header ("Location:./index.php?inhalt=adminzone");?>
 
Zuletzt bearbeitet:
Die Sache mit Headers already sent umgehst du, indem du dein session_start() in die erste Zeile deines Quellcodes schreibst.
Und zu dem anderen ... mmm vielleicht ist das session_dir in der php.ini (oder wars die httpd.conf vom webserver?) nicht richtig gesetzt.
 
die is ja in der ersten zeile ;)

diese fehlermeldung gibt er halt aus, sobald ich versuche mich einzuloggen...statt dann auf die administrationsseite zu gelangen kommt diese fehlermeldung...

und die php.ini bzw. die andere datei von einem webspace anbieter zu ändern is glaub ich n bissl schwerer :/
 
Wenn das session_start() wirklich die erste Zeile der aufgerufenen Datei wäre,
dann würde der Fehler nicht kommen. Paste mal ein bischen von dem relevanten
Code, bitte nicht die gesamte Datei, es sei denn, sie ist nur einige Zeilen lang.
 
der code befindet sich doch direkt unter der fehlermeldung ;)

aber hier nochmal...

Code:
<?session_start();?>
<?include('var.inc.php');?>
<?if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}?>
<?$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}?>
<? mysql_select_db($dbname,$conn);?>
<?$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
$result =   mysql_query($query,$conn);?>
<? $zeileholen =   mysql_fetch_array($result,MYSQL_ASSOC);
      mysql_close($conn);?>
<?if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}?>
<?if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}?>
<?$level = $zeileholen["level"];?>
<?  session_register('username');
 session_register('level');?>
<?header ("Location:./index.php?inhalt=adminzone");?>

das ist meine verify.php und habe halt versucht sie in meine index.php einzubetten in eine table dort...und mit der alten datenbank hat es auch geklappt...aber mit der jetzigen irgendwie nicht...warum auch immer
 
Also zunächst mal, warum machst du den PHP Tag ständig wieder auf und zu ?
Dann zu deinem Problem: Du hast versucht deine verify.php in die index.php einzubette, ich schätze mal via include oder require. Wenn man sich nun diese Funktionen etwas genauer betrachtet, so machen sie nicht anderes, als dem Interpreter 'vorzugaukeln', dass an der Stelle wo include('deinedatei.php') steht, stattdessen der gesamte Inhalt der Datei deinedatei.php steht. Das heisst also, dass session_start() zwar in Zeile 1 deiner veriy.php steht, jedoch NICHT in Zeile 1 deine index.php. Das heisst, da deine index.php schon bevor session_start() da irgendwo steht Ausgaben sendet, sind schon die ersten header vor session_start() gesendet, was nicht sein darf :)

Vorschlag zur Güte. Starte die Session generell in Zeile 1 deiner index.php. Es stört ja keinen, wenn die im Hintergrund läuft. Variablen registrieren und so weiter kann man dann immer noch. Dann sollte das ganze auch laufen.

PS: mach mal ein paar Zeilenumbrüche in die Fehlermeldungen rein, diese elend breiten Threads sind so schwer zu lesen.
 
selbst wenn ich es an den anfang der index.php setze gibt er diese fehlermeldung durch...diesmal aber nicht nur (auch) wenn ich einloggen will, sondern schon sobald ich die index.php aufrufe... *amkopfkratz*
 
Leg einfach mal ne Testdatei an, in der du ohne ein vorrangegangenes session_start() Variable in die Session registrierst. Wenn das geht, sind die Sessions auf Autostart und du kannst sie nutzen ohne sie explizit zu starten.
 
Zurück