Heey,
Ik heb al een tijdje een IIS server draaien.
Nu kom ik er alleen achter dat de Sessions niet werken.

Nu heb ik verschillende dingen geprobeert om het probleem te verhelpen, maar het wil maar niet lukken :S..

Ik draai Onder Windows Server 2003 en IIS v. 6

Heeft iemand hier ervaringen meej??
Haha, die is wel erg kort... ;)
Maar toch bedankt..
Mwah het is ook niet heel erg moeilijk, de PHP-ISAPI in je IIS manager instellen en vervolgens de extensie .php aan de isapi koppelen....finetuning kan verder met je PHP.ini.

Zelf laat ik deze overigens ook altijd in de PHP-directory staan, het kopiëren naar de Windows-dir is m.i. niet noodzakelijk.
Dan nog ff een vraagie over de

session.save_path = "c:\tmp"

Volgens mij staan er twee van deze regels in de php.ini welke moet ik aanpassen??

Welke van de twee moet ik aanpassen??

[code]
[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; As of PHP 4.0.1, you can define the path as:
;
; session.save_path = "N;/path" //Deze
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path" // Of deze??
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
;session.save_path = "/tmp" //Of deze?
Beetje eromheen lezen, dan had je het zelf ook gezien.
De eerste twee worden gebruikt in een voorbeeld.

En zoals je ziet staat voor allen een ;
Oftewel, ze worden niet meegenomen in de configuratie.
Je kan ze dus in theorie allemaal gebruiken door de ; weg te halen, maar de 3e is de 'officiele', voorzover het dus ook maar uitmaakt welke je gebruikt.
Dus ik moet bij de 3de de ; ervoor weg halen, en dan moet hij werken?
Whaaah..
Als ik de session mogelijkheid test met dit script:


<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']  = 'cat';
$_SESSION['time']    = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?> 


<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];  // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?> 


dan krijg ik mooi alle sessions te zien..
maar test ik ze met deze:


<?php
//page login.php
session_start();
if (!empty($_POST)){
	// eventueel nog meer validatie, nu even ervan uitgaan dat
	// gegevens correct zijn aangeleverd via het formulier
	$username= $_POST["username"];
	$wachtwoord =  $_POST["wachtwoord"];
	session_register("username");
	session_register("wachtwoord");
	// Of korter genoteerd: 
	// $_SESSION["username"] = $_POST["username"];
	// $_SESSION["wachtwoord"] = $_POST["wachtwoord"];
	// doorsturen naar beveiligde pagina
	header("Location: geheim.php");
}
?>
<html>
<head>
	<title>Inloggen</title>
</head>

<body>
<h2>Inloggen:</h2>
<hr>
<form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>">
Inlognaam: <input name="username" type="text"><br>
wachtwoord: <input name="wachtwoord" type="password"><br>
  <input type="submit" name="Submit" value="Inloggen">
</form>
</body>
</html>



<?php
//page geheim.php

 session_start(); ?>
<html>
<head>
	<title>Beveiligde pagina</title>
</head>

<body>
<?php 
if (isset($_SESSION["username"])){
	echo("<h2>U hebt toegang tot deze pagina; uw gebruikersnaam is " .
		$_SESSION["username"] ."</h2>");
	echo("en uw wachtwoord is: <b>". $_SESSION["wachtwoord"] . "</b>");
	echo("<br><a href=\"logout.php\">Uitloggen</a>");
	// overige 'geheime' gegevens :-)
}else{
	echo("<h2>U hebt zich nog niet aangemeld;<br>u kunt zich
		<a href=\"login.php\">hier registreren</a></h2>");
}
?>


</body>
</html>


Dan blijft hij weergeven dat ik niet ben ingelogd.. :S



session_register("username");
session_register("wachtwoord");

Zijn verouderd. Niet meer gebruiken

$_SESSION["username"] = $_POST["username"];
$_SESSION["wachtwoord"] = $_POST["wachtwoord"];
De juiste methode
Thanx..
Dan werkt mijn Session functie eindelijk in PHP :D..

Reageren