PDA

View Full Version : aiutoooo session php non mi funziona


texerasmo
13-04-2007, 11:27
nella index faccio

session_start();
$myusername="erasmooooooo";
session_register("myusername")

nella seconda pagina faccio

<?php echo( $_SESSION['myusername'] ); ?>

ma non mi stampa nulla

ma se faccio

<?php
session_start();
if(!session_is_registered('myusername')){
header("location:index2.php");
}
?>
funziona.

Secondo voi perchè non funziona

tglman
13-04-2007, 12:35
ho dei dubbi su:
session_register("myusername")
perchè nn provi a fare:

$_SESSION['myusername'] = $myusername;

texerasmo
13-04-2007, 13:31
si infatti, era da fare così

andbin
13-04-2007, 19:26
Secondo voi perchè non funzionaPerché session_start() la devi usare in ogni pagina in cui vuoi usare le variabili di sessione.

Comunque invece di usare session_register() è assolutamente preferibile usare $_SESSION. Le note sul manuale parlano chiaro: If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

texerasmo
16-04-2007, 11:49
ok questo errore


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\EasyPHP 2.0b1

non riesco a capire cos'è perchè me lo da solo su una pagina

andbin
16-04-2007, 11:55
ok questo errore


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\EasyPHP 2.0b1

non riesco a capire cos'è perchè me lo da solo su una paginaPerché session_start va chiamata prima di aver inviato qualunque output (sia con echo che con caratteri fuori dal php).
È la stessa identica cosa che vale anche per header().

texerasmo
16-04-2007, 13:26
ok infatti mettondolo all'inizio non da errore grazie