Newsgroup: it.comp.www.php
Titolo: IIS Win Server 2003 + Php + Sessioni locali non funziona remoto sì

Salve ragazzi ho un problema... con 3 pagine php ( già realizzate da
Dreamweaver )
In locale non funziona in remoto sì.
SO: Windows server 2003
IIS: Configurato e funzionante per php
php.ini: Configurato e funzionante con session.save_handler = files ,
session.save_path = /tmp
login.php ( effettuo il login con username e password se va a buon fine
dovrebbe andare nella pagina modulo.php accessibile solo dopo
autenticazione )
modulo.php ( pagina accessibile solo dopo autenticazione, se non ci si
identifica si viene rimandati nella pagina negato.php )
negato.php ( pagina di "errore.." cmq sia non permette di fare niente )
Allora utilizzando Dreamweaver e le "3 funzioni autenticazione utente
già realizzate ( basta cliccare e il codice compare automaticamente )"
presenti in "comportamenti del server in Applicazioni":
Se creo una pagina login.php da "Autenticazione Utente -> Esegui login
utente " nella barra delle applicazioni, in comportamenti del server, e
poi testo in locale la pagina 
http://localhost/login.php
 oppure
http://127.0.0.1/login.php
 ed inserisco username e password, nella /tmp
trovo una sessione, con dentro scritto MM_Username|N;MM_UserGroup|N;
solo nonostante username e password corrette la pagina che si dovrebbe
aprire modulo.php mi rimanda alla pagina negato.php cosa che in locale
accade, mentre in remoto ( hosting su 
aruba.it
 ) no, funziona in modo
corretto.
Mi sapreste dire perché ? Come risolvere ?
PS: Se creo due pagine del tipo:
Pagina 1.php
<?php
session_start();
$_SESSION['nome']='emiliano';
?>
<a href="2.php">link_pagina_due</a>
Pagina 2.php
<?php
session_start();
echo $_SESSION['nome'];
?>
In pagina due riesco a vedere la stampa di "emiliano" ( quindi vuol
dire che le sessioni funzionano... o funzionano in parte.. )
------
di seguito invece il codice delle 2 pagine login.php modulo.php
Pagina login.php
<?php require_once('Connections/cnnmysql.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
  $GLOBALS['PrevUrl'] = $accesscheck;
  session_register('PrevUrl');
}
if (isset($_POST['UU_utente'])) {
  $loginUsername=$_POST['UU_utente'];
  $password=$_POST['PP_password'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "modulo.php";
  $MM_redirectLoginFailed = "errore.php";
  $MM_redirecttoReferrer = true;
  mysql_select_db($database_cnnmysql, $cnnmysql);
  $LoginRS__query=sprintf("SELECT utente_username, utente_password FROM
utenti WHERE utente_username='%s' AND utente_password='%s'",
    get_magic_quotes_gpc() ? $loginUsername :
addslashes($loginUsername), get_magic_quotes_gpc() ? $password :
addslashes($password));
  $LoginRS = mysql_query($LoginRS__query, $cnnmysql) or
die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    //declare two session variables and assign them
    $GLOBALS['MM_Username'] = $loginUsername;
    $GLOBALS['MM_UserGroup'] = $loginStrGroup;
    //register the session variables
    session_register("MM_Username");
    session_register("MM_UserGroup");
    if (isset($_SESSION['PrevUrl']) && true) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<form action="<?php echo $loginFormAction; ?>" name="form1"
method="POST">
  <input name="UU_utente" type="text" id="UU_utente">
  <input name="PP_password" type="text" id="PP_password">
  <input type="submit" name="Submit" value="Invia">
</form>
Pagina modulo.php
<?php
session_start();
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";
// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
  // For security, start by assuming the visitor is NOT authorized.
  $isValid = False;
  // When a visitor has logged into this site, the Session variable
MM_Username set equal to their username.
  // Therefore, we know that a user is NOT logged in if that Session
variable is blank.
  if (!empty($UserName)) {
    // Besides being logged in, you may restrict access to only certain
users based on an ID established when they login.
    // Parse the strings into arrays.
    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    }
    // Or, you may restrict access to only certain users based on their
username.
    if (in_array($UserGroup, $arrGroups)) {
      $isValid = true;
    }
    if (($strUsers == "") && true) {
      $isValid = true;
    }
  }
  return $isValid;
}
$MM_restrictGoTo = "tnegato.php";
if (!((isset($_SESSION['MM_Username'])) &&
(isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'],
$_SESSION['MM_UserGroup'])))) {
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" .
urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo);
  exit;
}
?>
Questo testo viene visualizzato solo dopo l'autenticazione
---------------
Fine
--
Grazie Emiliano.

 session.save_path = /tmp
Esiste C:\tmp ?
E' accessibile in scrittura all'utente IUSR_nomemacchina?
error_reporting, display_errors?
 
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.