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.
 

Neue Beiträge

Zurück