Can';t读取PHP会话数组if";windows身份验证“;已在IIS上启用
我尝试创建一个小的登录页面(site1),登录名应该存储在session变量中。然后站点2应该读取会话变量。但是在site2上,如果我在IIS服务器上启用“windows身份验证”->如果我禁用“windows身份验证”->会话变量填写正确,则会话变量为空 是否还有其他需要配置的内容,以便使用会话变量和启用的“windows身份验证” site1.phpCan';t读取PHP会话数组if";windows身份验证“;已在IIS上启用,php,iis,session-variables,Php,Iis,Session Variables,我尝试创建一个小的登录页面(site1),登录名应该存储在session变量中。然后站点2应该读取会话变量。但是在site2上,如果我在IIS服务器上启用“windows身份验证”->如果我禁用“windows身份验证”->会话变量填写正确,则会话变量为空 是否还有其他需要配置的内容,以便使用会话变量和启用的“windows身份验证” site1.php <?php session_start(); ?> <?php include ("seitenlocation.php"
<?php session_start(); ?>
<?php include ("seitenlocation.php"); ?>
<form method="post" action="?login=1" accept-charset="UTF-8" id="login">
<input type="text" id="benutzer" name="benutzer" value="myname" required>
<button type="submit">Go</button>
</form>
去
seitenlocation.php
<?php
session_start();
if(isset($_GET['login'])) {
$benutzer = $_POST['benutzer'];
$_SESSION['uname'] = $benutzer;
header('Location: site2.php');
}
您需要对两个站点使用相同的身份验证。如果站点1使用匿名,站点2使用windows,则会话将为空。
如果两个站点都使用windows,它将显示相同的会话id
简而言之,您需要为两个站点设置相同的身份验证 所有3个文件都在同一个文件夹->中,因此我为该文件夹启用了“windows身份验证”。在您的示例中,“echo$_SESSION['uname'];”也是空的。是的,所有3个文件都在同一个文件夹中。是的,我看到了会话id-但我需要$_SESSION['uname'];我还获得了会话用户名。是否仅为site2.php页面启用了windows身份验证?如果您这样做了,那么您需要对这两个页面使用相同的身份验证。如果您使用不同的身份验证,它将不起作用。您以前和现在使用的是哪个iis和php版本?您可以使用fiddler来比较成功和失败的结果。telerik.com/fiddler
<?php
session_start();
echo var_dump($_SESSION['uname']);