variabile di sessione non passata ...

Ciao ...

ho un problema con una variabile di sessione che non mi viene passata dalla pagina in cui la definisco.

Vi spiego meglio la situazione:

In realtà la cosa mi funziona sul mio server di prova con winxp pro .... ma quando passo i file sul server di produzione win2003 non mi va più ...

Sarà quanche impostazione nel file php.ini del server ?  ... cosa devo controllare??

inviato 9 anni fa
ninext
X 0 X

Hai confrontato i 2 php.ini?

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

si li ho confrontati e l'unica differenza è nel percorso di session.save_path

Sul server di prova è impostato c:/windows/temp

sul server di produzione win2003 ho creato una cartella in c:/php .... l'ho chiamata sessions ed ho dato i permessi di lettura e scrittura all'utente IUSR_SERVER e IWAM_SERVER ......

Ho anche controllato nella cartella sessions se esiste qulacosa ed ho trovato dei file relativi alle sessioni .....

Esiste un modo per verificare o testare se tutto è configurato  correttamente ???

risposto 9 anni fa
ninext
X 0 X

crea un semplice file del tipo

session_start();
$_SESSION['contatore']++;
echo $_SESSION['contatore'];

fai il refresh della pagina più volte e vedi se il contatore si incrementa, così saprai se le sessioni funzionano.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

ho provato ma in locale il contatore si incrementa, ma sul server di produzione non ..... vedo la pagina bianca.

Da do ve ricomincio ????

P.S. grazie per la disponibilità.

risposto 9 anni fa
ninext
X 0 X

Per maggiore chiarezza vi posto ache il codice che uso :

<?php
session_start();
ob_start();
$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="nomedb"; // Database name 
$tbl_name="nometabella"; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
$sql="SELECT id_user, cognome_user, nome_user, username_user, password_user, level_user FROM $tbl_name WHERE username_user='$myusername' and password_user='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"

$record = mysql_fetch_array($result);
$_SESSION['id_user'] = $record['id_user'];
$_SESSION['level_user'] = $record['level_user'];
$_SESSION['cognome_user'] = $record['cognome_user'];
$_SESSION['nome_user'] = $record['nome_user'];
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword; 
header("location:Backoffice_Main.php");
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>

Da questa pagina,  registrando le variabili di sessione, poi non riesco a utilizzarle o stamparle nelle pagine successive ( ad esempio usando<?php echo $_SESSION["nome_user"] ?>

Secondo voi il codice è corretto?? .... però con xp mi funziona!

risposto 9 anni fa
ninext
X 0 X

Se in locale ti funziona lo script di test allora significa che è l'altro server che ha problemi. Questo capita quando  il PHP non ha i permessi per scrivere nella cartella in cui deve savare i dati di sessione.

Non perdere tempo quindi col codice e verifica i permessi.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ho verificato i permessi nella cartella c:/php/sessions  che ho creato e credo siano corretti, anche perchè in questa cartella ci sono i file delle sessioni .... non so più dove sbattere la testa!

risposto 9 anni fa
ninext
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda