Newsgroup: it.comp.www.php
Titolo: [NEWBIE] Sessioni: sto impazzendo

Anzitutto mi scuso perché di sicuro la domanda è banale, ma essendo alle
prime armi ho bisogno di qualche piccolo aiuto da chi ha più esperienza di
me.
Sto cercando di capire come funzionano le sessioni. Ho visto che PHP scrive
un cookie in una cartella di lavoro, assegnandogli il numero di sessione.
Immagino che li dentro vengano scritte le informazioni scritte in sessione,
ma ciò non mi avviene. Mi spiego meglio:
Ho una prima pagina, dove effettuo il login dell'utente, che contiene il
seguente codice, attivato al submit del form di richiesta accesso quando
l'utente viene autenticato:
  session_start();
  $_SESSION['user'] = $user;
  $_SESSION['user_description'] = $row_utenti['utenti_description'];
  $_SESSION['user_type']  = $row_utenti['utenti_type'];
In una seconda pagina, che volevo utilizzare da menù della mia applicazione,
volevo testare se l'utente aveva già effettuato l'accesso, guardando se
presente la variabile di sessione $_SESSION['user'] e stampando il suo
contenuto per dare il benvenuto all'utente.
Ho pertanto fatto:
<?php
session_start();
$p_user = $_SESSION['user'];
?>
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>AUTENTICAZIONE RIUSCITA PER<br><? print($p_user); ?></center>
</body>
</html>
Solo che $_SESSION['user'] è vuoto!
Ho controllato dentro al file di sessione creato, ma noto che è vuoto
anch'esso!
Cosa sto sbagliando?
Grazie per l'aiuto.
Ciao,
Max

 all'utente.
Come hai configurato l'error_reporting? Come ti sposti da una pagina
all'altra?
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

 Come ti sposti da una pagina all'altra?
[/cut]
Tramite header http. Ti posto la pagina
<?php
$v_message = "";
if (isset($_POST['user'])) {
 $p_user  = $_POST['user'];
 if (isset($_POST['password'])) {
  $p_password = $_POST['password'];
 } else {
  $p_password = "";
 }
 if (!checkLogin($p_user, $p_password)) {
  $v_message = "&raquo; Utente o Password Specificati Non Validi";
 }
}
?>
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body onLoad="javascript:document.formLogin.user.focus();">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="intpagina">&raquo; Login</td>
  </tr>
  <tr>
    <td><img src="images/lunghe000.GIF" width="100%" height="12"></td>
  </tr>
  <tr>
    <td>&nbsp;<br>
 <form name="formLogin" method="post" action="#">
        <table width="190" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="70">Utente</td>
            <td width="120" align="right"> <input name="user" type="text"
id="user" size="10" maxlength="10" value="<? print($user) ?>">
            </td>
          </tr>
          <tr>
            <td height="1" colspan="2"
background="images/pixel_tratteggio.gif"><img src="images/blank.gif"
width="1" height="1"></td>
          </tr>
          <tr>
            <td width="70">&nbsp;</td>
            <td width="120">&nbsp;</td>
          </tr>
          <tr>
            <td width="70">Password</td>
            <td width="120" align="right"> <input name="password"
type="password" id="password" size="10" maxlength="10">
            </td>
          </tr>
          <tr>
            <td height="1" colspan="2"
background="images/pixel_tratteggio.gif"><img src="images/blank.gif"
width="1" height="1"></td>
          </tr>
          <tr>
            <td width="70">&nbsp;</td>
            <td width="120">&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td align="right"><button name="pippo" value="pluto"
type="submit">Enter</button></td>
          </tr>
        </table>
     <br>
        <br>
        <br>
  <font color="#FF0000"><? print($v_message); ?></font>
      </form>
   </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?
function checkLogin($user, $password) {
 include('inc_connect.php');
 $return_code = false;
 if (!$user || !$password) {
  return false;
 }
 $qry_utenti = "SELECT utenti_description, utenti_type FROM ana_utenti WHERE
utenti_id = '$user' AND utenti_password = '$password'";
 $rs_utenti  = mysql_query($qry_utenti,$conn);
 $rs_utenti_rows = mysql_num_rows($rs_utenti);
 if ($rs_utenti_rows > 0) {
  $row_utenti = mysql_fetch_array($rs_utenti);
  session_start();
  $_SESSION['user'] = $user;
  $_SESSION['user_description'] = $row_utenti['utenti_description'];
  $_SESSION['user_type']  = $row_utenti['utenti_type'];
  header("Pragma: no-cache");
  header("Location: main.php");
  return true;
 } else {
  return false;
 }
}
?>

   header("Location: main.php");
http://www.php.net/session#40366


Ho provato come suggerisci, ma in sessione ancora non trovo nulla!!!
function checkLogin($user, $password) {
 include('inc_connect.php');
 include('test.php');
 $return_code = false;
 if (!$user || !$password) {
  return false;
 }
 $qry_utenti = "SELECT utenti_description, utenti_type FROM ana_utenti WHERE
utenti_id = '$user' AND utenti_password = '$password'";
 $rs_utenti  = mysql_query($qry_utenti,$conn);
 $rs_utenti_rows = mysql_num_rows($rs_utenti);
 if ($rs_utenti_rows > 0) {
  $row_utenti = mysql_fetch_array($rs_utenti);
  session_start();
  $_SESSION['user'] = $user;
  $_SESSION['user_description'] = $row_utenti['utenti_description'];
  $_SESSION['user_type']  = $row_utenti['utenti_type'];
  session_redirect("main.php");


 Ho provato come suggerisci, ma in sessione ancora non trovo nulla!!!
Codice di test:
<?php // file a.php
// 
http://setecastronomy.stufftoread.com/go.php?ID=8
include ("session_redirect.php"); 
session_start ();
$_SESSION["user"] = "setec";
session_redirect ("b.php");
?> 
<?php  // file b.php
session_start ();
print_r ($_SESSION);
?>
a.php dopo il redirect restituisce:
Array
(
    [user] => setec
)


Niente da fare! Mi sa perň che č un problema di configurazione
dell'ambiente, dato che lo stesso script provato su un altro PC funziona
correttamente.
Grazie lo stesso per l'aiuto. proverň a ricontrollare il tutto.
Buona giornata,
Ciao,
Max