vi posto il codice che ho generato:
codice:
<?php
session_start();
include '/root/password.php';
$conn = mysql_connect('localhost', 'root', $pwd) or die("Connessione non riuscita: " . mysql_error());
mysql_select_db('ProvaRubrica', $conn) or die("Errore di connessione al database: " . mysql_error());
$res = mysql_query("SELECT * FROM Tabella_Utenti WHERE (UserID = '$ui' AND PWD = '" . md5($pw) . "')");
$num_righe = mysql_num_rows($res);
if ($num_righe == 0) {
header("Location: wrongpass.htm");
mysql_close($conn);
exit;
} else {
$_SESSION['nick'] = mysql_result($res, 0, 'NickName') or die("Errore di risoluzione nickname: " . mysql_error());
$_SESSION['user_id'] = $ui;
mysql_close($conn);
header("Location: welcome.php?sid=" . session_id());
}
?>
al momento del passaggio al file welcome.php, la sessione viene persa, infatti non risultano inizializzate nè le 2 variabili di sessione nè la sid. L'autostart delle sessioni è disabilitato, mentre è attivo trans sid.
Ultima cosa: se abilito l'autostart delle sessioni e tolgo chiaramente il session_start(), tutto funziona. Solo che per un fatto di maggiore sicurezza mi piaceva controllare l'inizio delle sessioni.
Qualcuno sa dirmi dove sbaglio?
Grazie mille