Newsgroup: it.comp.www.php
Titolo: [niubbo]sessioni in locale?

ciao, sapete come testare degli script riguardanti le sessioni in locale?mi
dà sempre errore. ciao e grazie da nicola

 dà sempre errore. ciao e grazie da nicola
Stai testando con localhost?
 
http://localhost/test.php
 o 
http://127.0.0.1/test.php
Che errore ti da?  


Un po' di dettagli in più ti fa fatica metterli?
Stai testando delle pagine PHP e fin qui penso che sia corretto...
POI:
1. Sistema operativo?
2. hai installato APACHE e PHP vero?
3. versioni?
4. Le sessioni sono un campo immenso... cosa ti serve di preciso?
5. Qual'è lo script che ti da errore?
6. Quale errore...?
Ti pare giusta come risposta oppure ti aspettavi che sapessi cosa stavi
scrivendo?
:-)
Ciao
Francesco

sto testando con 
http://notebook/prove/test.php
e l'errore č:
Warning: session_start(): open(/tmp\sess_ece54e4bd7746e2c0fbd7bd5ec39ee0b,
O_RDWR) failed: No such file or directory (2) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6
Warning: session_start(): Cannot send session cookie - headers already sent
by (output started at f:\programmi\apache
group\apache\test\prove\xxx\accesso.php:6) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6
Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at f:\programmi\apache
group\apache\test\prove\xxx\accesso.php:6) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6

giusto, proverò a spiegarmi meglio:
ho installato su xp pro:
apache 1.3.20
php 4.3.3
il tutto funzionante.
oggi ho voluto sperimentarmi con le sessioni e da un piccolo tutorial
trovato on line ho copiato degli script:
common.php
<?
$password = "00"; // valore del codice di accesso riservato
$login = "00";
/* La funzione che visualizzerà l'errore */
function errore($msg) {
  echo "<script language=\"JavaScript\" type=\"text/javascript\">";
  echo "alert('$msg');";
  echo "history.go(-1);";
  echo "</script>";
  die($msg);
}
?>
accesso.php
<?
  include "common.php"; // includo il file comune a tutti gli script
  if(isset($userpass)) { // se l'utente ha inviato il modulo
    /* Se la password è sbagliata mostro un messaggio di errore */
    if($userpass != $password OR $userlogin != $login) errore("Login o
Password errate");
    session_start(); // altrimenti inizializzo la sessione
    session_register('registered'); // registrando la variabile registered
  }
  /* se è registrata la variabile, l'utente è registrato (quindi inizializzo
logged) */
  if(session_is_registered('registered')) $logged = 1;
?>
<html>
<head><title>Pagina per l'accesso alle aree riservate</title></head>
<body>
<h1>Accesso alle aree riservate</h1>
<?
  if($logged) { // se è registrato mostro i link alle pagine riservate
    ?>
    <a href="paginar1.php">Pagina riservata 1</a><br>
    <a href="paginar1.php">Pagina riservata 2</a><br>
    <a href="paginar1.php">Pagina riservata 3</a><br>
    <a href="paginar1.php">Pagina riservata 4</a><br>
    <?
  } else { // altrimenti mostro il modulo per il login
    ?>
    <form method="POST" action="<?= $PHP_SELF ?>">
 Login: <input type="password" name="userlogin" size="20">
    Password: <input type="password" name="userpass" size="20">
    <br>
    <input type="submit" value="Accedi">
    </form>
    <?
  }
?>
</body>
</html>
-----------------------
ho caricato queste pagine on line e funzionano, ma in locale mi si presenta
quest'errore all'avvio di accesso.php:
Warning: session_start(): open(/tmp\sess_067a454055d22008a7ef5dbf798b0ca9,
O_RDWR) failed: No such file or directory (2) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6
Warning: session_start(): Cannot send session cookie - headers already sent
by (output started at f:\programmi\apache
group\apache\test\prove\xxx\accesso.php:6) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6
Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at f:\programmi\apache
group\apache\test\prove\xxx\accesso.php:6) in f:\programmi\apache
group\apache\test\prove\xxx\accesso.php on line 6
Accesso alle aree riservate
Pagina riservata 1
Pagina riservata 2
Pagina riservata 3
Pagina riservata 4
Warning: Unknown(): open(/tmp\sess_067a454055d22008a7ef5dbf798b0ca9, 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 (/tmp) in Unknown on
line 0
---------------------------
non capisco se c'è di mezzo qualche settaggio nel php.ini o altro
----
grazie

 ha scritto nel messaggio
news:uk8rb.103293$e6.36...@twister2.libero.it...

Ti consiglio di mettere session_start(); come prima riga, ancora prima di
anche un solo spazio vuoto in HTML
poi, per le variabili di sessione usa $_SESSION["variabile"] + meglio....
Ancora una cosa, configura la directory temporanea in PHP.INI indicandogli
una directory esistente, mi sembra che un errore sia dovuto anche a
quello....
Ora riprendo in mano un po' di documentazione e i miei file di
configurazione... intanto prova..!!
:-)
Francesco

 quello....
ho cosě modificato il php.ini ma senza successo.
session.save_path = "F:\Programmi\Apache group\Apache\test\prove\xxx"
ciao

 locale?mi dà sempre errore. ciao e grazie da nicola
Controlla che le impostazioni del fili php.ini o httpd.conf, non ricordo
bene, contengano il path giusto dove salvi i file di sessione e che il path
esista!
CIAU

 ha scritto nel messaggio
news:DM8rb.100424$vO5.3...@twister1.libero.it...

Dagli come directory di temp quella del sistema operativo.. solitamente
c:/windows/temp oppure c:/winnt/temp
Per quanto riguarda session_start() deve essere la prima riga dello script
se in quello script userai le sessioni
Non č che la sessione ti parte e non la puoi piů utilizzare...
Dici soltanto al server di recuperare tutte le informazioni relative alla
tua sessione.
Poi quando le utilizzi sono affari tuoi....
quindi per non sbagliare e fare prove, nella prima riga session_start() e
vai sicuro che li non sbagli.
Ricordati che anche uno spazio vuoto puň dare errori prima di session start.

 group\apache\test\prove\xxx\accesso.php on line 6
Cambia nelle impostazioni del php la cartella dei file temporanei
Ludovico