Problem mit sessions

xNeOx

Mitglied
Ich will für es dem Admin meines Gästebuchs möglich machen, sich einzuloggen, um dann Beiträge zu löschen usw. und zwar mit Sessions.

Hier der Quelltext:
PHP:
<?php session_start();
include("../dbconnect.php");

$pw = $_REQUEST["pw"];




if($pw == "adminpasswort")
	{
	$datenrichtig = true;
	$user_eingeloggt = true;
	}
else
	{
	$datenrichtig = false;
	$user_eingeloggt = false;
	
	}
	
	#Variable $user_eingeloggt in der Session registrieren
	
	$_SESSION['user_eingeloggt'] = $user_eingeloggt;
	?>
<html>
<head>
<?php if($datenrichtig)
  			{
			echo "<b>Vielen Dank für Einloggen! Sie werden weitergeleitet.</b>"; ?>
  			<meta http-equiv="Refresh" content="5"; url=startseite.php?<?php session_name()?>=<?php session_id()?>>" 
<?php 
			} 
  else
	{
	echo "Das Passwort ist leider falsch.<br>\n";
	echo "<a href='javascript:history.back()'>Zurück</a>";
	}
?>
</head>



</html>

hier die startseite.php:
PHP:
<?php
session_start (); // Session starten.
$user_eingeloggt = $_REQUEST["user_eingeloggt"];



if ((session_is_registered ("user_eingeloggt")) AND ("$user_eingeloggt"))
{
echo "<table align='center' border='1' width='75%'>";
	
	echo "<tr>";
	echo "<td align='center'>G&auml;stebucheintrag l&ouml;schen:</td>";
	echo "<td align='center'><form action='del.php' method='post'><input type='text' name='delid' size='5'>&nbsp;<input type='submit' value='Löschen'></form></td>";
	echo "</tr>";
	
	echo "<tr>";
	echo "<td align='center' width='50%'>&nbsp;</td>";
	echo "<td align='center' width='50%'>&nbsp;</td>";
	echo "</tr>";
	
	echo "<tr>";
	echo "<td align='center' width='50%'>G&auml;stebucheintrag bearbeiten:</td>";
	echo "<td align='center' width='50%'><form action='edit_formular.php' method='POST'><input type='text' name='editid' size='5'>&nbsp;<input type='submit' value='Bearbeiten'></form></td>";
	echo "</tr>";
	
	echo "</table>";
}
else
{
	echo "Sie sind nicht eingeloggt!";
}


	
?>

Was ist daran falsch

//edit: Hier die Fehlermeldung:

Warning: session_start(): open(c:\Intranet\PHP\tmp\sess_93ce1a3255db0129c3c711acb122b83d, O_RDWR) failed: No such file or directory (2) in C:\Intranet\Apache2\htdocs\Gästebuch\admin\checkpw.php on line 1

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Intranet\Apache2\htdocs\Gästebuch\admin\checkpw.php:1) in C:\Intranet\Apache2\htdocs\Gästebuch\admin\checkpw.php on line 1

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Intranet\Apache2\htdocs\Gästebuch\admin\checkpw.php:1) in C:\Intranet\Apache2\htdocs\Gästebuch\admin\checkpw.php on line 1
Vielen Dank für Einloggen! Sie werden weitergeleitet. "
Warning: Unknown(): open(c:\Intranet\PHP\tmp\sess_93ce1a3255db0129c3c711acb122b83d, 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 (c:\Intranet\PHP\tmp) in Unknown on line 0
 
nun das heißt einfach das auf deinem rechner bei deriner PHP installation das verzeichnis c:\Intranet\PHP\tmp\ nicht existiert, und er volglich die sessiondaten da nicht drin speichern kann, ende der vorstellung
 
Ausserdem habe ich ein bis zwei Zweifel der generellen Art an folgender Zeile
PHP:
if ((session_is_registered ("user_eingeloggt")) AND ("$user_eingeloggt"))
1) Sollte man wenn man so modern ist das superglobale $_SESSION Array
zu nutzen, auch kein session_is_registered() mehr benutzen, sondern schlichtweg
isset($_SESSION['element']).
2) Checken ob der in der Session registrierte Wert nicht leer ist, würde ich schon
beim Schreiben in die Session machen, damit man das nicht bei jedem auslesen
machen muss.
 
Zurück