problema session_start con Permission denied (13)

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, perché alcune volte girando nell'area amministratrice del mio sito in costruzione mi salta fuori questo messaggio:
Notice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in /home/mhd-01/www..org/htdocs/admin/admin.php on line 2

che è ??

Il codice è questo:
PHP:
<?php
session_start();
require_once(dirname(__FILE__) . '/../setting.php');
if(isset($_SESSION['login']) == true)
{
	if(isadmin($_SESSION["user_crypt"]))
	{
	}else
	{
		die("non sei amministratore o moderatore");
	}
}
else
{
header("location: login.php");
}
?>

e non so come mai .. e poi se clicco in altre parti sparisce.. cosa è ?

grazie mille.
 
se lo dico all'assistenza del mio servizio cosa devo dirgli che capiscono subito?

ho solo la parte admin in php/mysql quella ai clienti e solo un sito in html che lo cambierò con quello dinamico..apena finisco l'admin.

cosa devo dire?

Grazie mille.
 
scusa, ma non è che un errore mio??

io per includere l'admin e il ruolo faccio sempre cosi:
PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/../inc.php');
require_once(dirname(__FILE__) . '/admin.php');
require_once(dirname(__FILE__) . "/header.php");
?>
// qui contenuto o altre parti di codici..etc.
<?php
require_once(dirname(__FILE__) . "/footer.php");
?>

che dici ?
e la funzione è cosi:
PHP:
function isadmin ( $id )
	{
	   
        global $db;
        
		$query = $db->query("SELECT `level_access` FROM `users` WHERE `user_crypt` = '" . $db->real_escape_string($id) . "'");
		
		if ( $row = $query->num_rows == 1 )
		{
			$row = $query->fetch_array();
			
			if ( $row['level_access'] == "A" || $row["level_access"] == "M")
			{
				return TRUE;
			}
			else {
				return FALSE;
			}
		}
		else {
			return FALSE;
		}
	}

ho scritto male qualcosa io? ho un problema del server??

grazie mille.
 
scusa molto.. ma mi viene il dubbio che è questo pezzo di codice:

PHP:
error_reporting(E_ALL & ~E_DEPRECATED);
ini_set('display_errors',1);
ini_set('display_startup_errors',0);
ini_set('log_errors',1);
ini_set('log_errors_max_len',0);
ini_set('ignore_repeated_errors',1);
ini_set('ignore_repeated_source',1);
ini_set('report_memleaks',1);
ini_set('track_errors',1);
ini_set('error_log','php_error.log');

perché levandolo tutto non appaiono più quei messaggi e vedo il sito funzionare benissimo..

e nel file db.php questi settaggi.

Percaso sono questi?

grazie mille.
 
Ultima modifica di un moderatore:
Ciò che fanno quelle righe è impostare alcuni valori di PHP relativi alla visualizzazione degli errori, ma non alla loro generazione.
Inoltre è strano che togliendo quel blocco l'errore non appaia più: dovrebbe essere il contrario!
 
ok, ho scoperto chi è la causa è il checkbox di ricordami.. e

se non lo faccio non vengono quei cosi..

invece se faccio ricordami al login..

allora vengono fuori quelli errori...

come posso risolvere la faccenda dei ruoli e il cookie per far ricordare l'utente loggato?

grazie mille e buona domenica.
 
la funzione originale è questa che sto usando ora:

PHP:
function isadmin ( $id )
	{
	   
        global $db;
        
		$query = $db->query("SELECT `user_level` FROM `utenti` WHERE `user_crypt` = '" . $db->real_escape_string($id) . "'");
		
		if ( $row = $query->num_rows == 1 )
		{
			$row = $query->fetch_array();
			
			if ( $row['user_level'] == 1 || $row["user_level"] == 2)
			{
				return TRUE;
			}
			else {
				return FALSE;
			}
		}
		else {
			return FALSE;
		}
	}

e questo è il file admin.php:
PHP:
<?php
if (isset($_COOKIE["login_a"]) !=""){
$_SESSION['login'] = $_COOKIE["login_a"];
$_SESSION["user_crypt"] = $_COOKIE["user_crypt"];
if(isadmin($_SESSION["user_crypt"]))
{
}
else
{
die("non sei amministratore/collaboratore");
}
}elseif(isset($_SESSION['login']) == true)
{
if(isadmin($_SESSION["user_crypt"]))
{
}
else
{
die("non sei amministratore/collaboratore");
}
}
else
{
header("location: ../membri/index.php");
}
?>
 

Discussioni simili