problema sessione amministratore (HELP)

  • Creatore Discussione Creatore Discussione iddodoz
  • Data di inizio Data di inizio

iddodoz

Nuovo Utente
13 Apr 2011
2
0
0
Ciao a tutti ho un problema su uno script php che genera delle news, praticamente quando provo a loggarmi con user e pass il file php mi crea un file sessione vuoto e non avviene l' autenticazione benchè il database è stato creato correttamente, qualcuno può aiutarmi please? posto gli script giusto per far capire meglio.. GRAZIE1000:

file settaggi_sessione.php:
<?
// VARIABILI DI SESSIONE - BACKOFFICE
$maxsessione=7200; //1800 secondi di sessione(30 minuti)
$nome_sessione="backnewsmanager"; //Nome della sessione
$redirect="index.php?consessione=1";//Percorso di reindirizzamento in caso di logout o login errato
$redirect_nosessione="index.php?consessione=0";//Percorso di reindirizzamento in caso di logout o login errato

//VARIABILI DI SESSIONE - GLOBALI
$path_sessione="/home2/xx24rc0f/public_html";//Path della sessione
?>

file loggato.php:
<?
include ("../functions/settaggi_sessione.php");

//ini_set("session.cache_limiter","private, must-revalidate");
ini_set("session.save_path",$path_sessione);
ini_set("session.cache_expire",$maxsessione/60);
ini_set("session.gc_maxlifetime",$maxsessione);
ini_set("session.cookie_lifetime",$maxsessione);
ini_set("session.name",$nome_sessione);

//session_name($nome_sessione);
session_start();
$sessione=session_id();

include ("../functions/settaggi.php");
include ("db_init.php");

$session_expire = 0;//inizializzo la sessione

if(isset($_POST['entra']) && ($user!="" || $pass!=""))
{
$select="select id,cognome,nome,last_conn from AMMINISTRATORI where user='$user' and pass='$pass'";
//echo "select=$select";
$db_query=mysql_db_query($db_name,$select);
$numero=mysql_num_rows($db_query);

if ($numero!=0)
{
$sess_username=$user;
session_register(sessione);
session_register(sess_username);
$cod_cli=mysql_result($db_query,0,"id");
$cognome=mysql_result($db_query,0,"cognome");
$nome=mysql_result($db_query,0,"nome");
$last_conn=mysql_result($db_query,0,"last_conn");
$sess_id=$cod_cli;
$sess_nome=$nome." ".$cognome;
$sess_last_conn=$last_conn;
$keepalive=0;//Variabile dummy per aggiornare la scadenza della sessione
session_register(sess_id);
session_register(sess_nome);
session_register(sess_last_conn);
session_register(keepalive);

$data=date('Y-m-d',time());
$a=substr($data,0,4);
$m=intval(substr($data,5,2));
$g=intval(substr($data,8,2));

$sess_dataodierna="$g $nomemese[$m],$a";

session_register(sess_dataodierna);

$oraserver=time();
$update="UPDATE AMMINISTRATORI set last_conn='$data ".date("H:i:s")."',ora_sess=$oraserver,sess='$sessione',datetime_sess='$data ".date("H:i:s")."' where user='".$_SESSION['sess_username']."'";
$db_query=mysql_db_query($db_name,$update);

mysql_close($db_conn);// chiudo db

header ("Location: ".$redirect);//Se il login avviene con successo, vado alla Home del backoffice
exit();
}
else
{
//Mostro pagina username e/o password errati
?>

file db_init.php:
<?
$db_name='xx24rc0f_break';
$db_user='xx24rc0f_bed';
$db_password='filippo';
$host_name='localhost';

// connessione al DATABASE
$db_conn = @mysql_connect($host_name,$db_user,$db_password);
if (!$db_conn)//In caso di errore...
{
?>
 
cioa
prova a spostare session_start prima dell'include

PHP:
<php?
session_start();

include ("../functions/settaggi_sessione.php");

//ini_set("session.cache_limiter","private, must-revalidate");
ini_set("session.save_path",$path_sessione);
ini_set("session.cache_expire",$maxsessione/60);
ini_set("session.gc_maxlifetime",$maxsessione);
ini_set("session.cookie_lifetime",$maxsessione);
ini_set("session.name",$nome_sessione);

//session_name($nome_sessione);
$sessione=session_id();
//.......


p.s.
non usare lo shorttag <? è deprecato, usa <?php
 
mmmm... non và...
ma dov'è che sbaglio? :incazz2:
ho provato anche ad abilitare le register_globals ma niente...
please help me!!!!
 
ciao, può darsi che dica pu....te,
dici che non riesci a loggarti, ma
da dove saltano fuori
......user='$user' and pass='$pass'";
le variabili $user e $pass?
poi tu usi le sessioni, ma dove le valorizzi? non vedo dove, forse è per questo che è vuota.
per dare un valore ad una sessione deve esserci un'istruzione del tipo
$_SESSION['pinco']= qui il suo valore

considera però che data l'ora (per me) un po' tarda puo darsi che con molta probailità mi sbagli
 
Attento Borgo, è vero che "<?" è deprecato, ma "<php?" lo è ancora di più:)

@iddodoz
Cercare di risolvere un malfunzionamento abilitando le register_globals è alquantp percoloso..
 

Discussioni simili