Ciao a tutti !
ho un problema con connessione MySqli e funzioni.
nel file index.php:
nel file auth.lib.php:
Perche' non mi passa correttamente la variabile $conn nella funzione, e infatti mi restituisce una query vuota ??
Aggiungendo invece, prima della query, dentro la funzione la connessione al db funziona correttamente:
Vorrei capire come mai sembra non includere il config.inc.php (...fermo restando che funziona, ma mi pare proprio una porcheria dover aggiungere la connessione in ogni funzione...)
Grazie e ciao a tutti !
ho un problema con connessione MySqli e funzioni.
nel file index.php:
PHP:
<?php
// FILE CONFIG DA MODIFICARE PER LE VARIABILI DEL SITO
include_once("config/config.inc.php");
include_once("config/auth.lib.php");
?>
nel file config.php:
<?php
// DATI PER CONNESSIONE DB
$_CONFIG['host'] = "localhost";
$_CONFIG['user'] = "xxxxxxxx";
$_CONFIG['pass'] = "xxxxxxxx";
$_CONFIG['dbname'] = "xxxxxxxxxxxxxx";
$_CONFIG['table_sessioni'] = "sessioni";
$_CONFIG['table_utenti'] = "utenti";
$_CONFIG['expire'] = 12000;
define('AUTH_LOGGED', 99);
define('AUTH_NOT_LOGGED', 100);
define('AUTH_USE_COOKIE', 101);
define('AUTH_USE_LINK', 103);
define('AUTH_INVALID_PARAMS', 104);
define('AUTH_LOGEDD_IN', 105);
define('AUTH_FAILED', 106);
/*$conn = mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']) or die('Impossibile stabilire una connessione');
mysql_select_db($_CONFIG['dbname']);*/
$conn = mysqli_connect($_CONFIG['host'],$_CONFIG['user'],$_CONFIG['pass'],$_CONFIG['dbname']);
?>
PHP:
<?php
$_AUTH = array(
"TRANSICTION METHOD" => AUTH_USE_COOKIE
);
function auth_set_option($opt_name, $opt_value){
global $_AUTH;
$_AUTH[$opt_name] = $opt_value;
}
function auth_get_option($opt_name){
global $_AUTH;
return is_null($_AUTH[$opt_name])
? NULL
: $_AUTH[$opt_name];
}
function auth_clean_expired(){
global $_CONFIG;
$result = mysqli_query($conn,"SELECT creation_date FROM ".$_CONFIG['table_sessioni']." WHERE uid='".auth_get_uid()."'");
if($result){
$data = $result->fetch_array(MYSQLI_ASSOC);
if($data['creation_date']){
if($data['creation_date'] + $_CONFIG['expire'] <= time()){
switch(auth_get_option("TRANSICTION METHOD")){
case AUTH_USE_COOKIE:
setcookie('uid');
break;
case AUTH_USE_LINK:
global $_GET;
$_GET['uid'] = NULL;
break;
}
}
}
}
mysqli_query($conn,"
DELETE FROM ".$_CONFIG['table_sessioni']."
WHERE creation_date + ".$_CONFIG['expire']." <= ".time()
);
}
?>
Perche' non mi passa correttamente la variabile $conn nella funzione, e infatti mi restituisce una query vuota ??
Aggiungendo invece, prima della query, dentro la funzione la connessione al db funziona correttamente:
PHP:
<?php
function auth_clean_expired(){
global $_CONFIG;
$conn = mysqli_connect($_CONFIG['host'],$_CONFIG['user'],$_CONFIG['pass'],$_CONFIG['dbname']);
$result = mysqli_query($conn,"SELECT creation_date FROM ".$_CONFIG['table_sessioni']." WHERE uid='".auth_get_uid()."'");
if($result){
$data = $result->fetch_array(MYSQLI_ASSOC);
if($data['creation_date']){
if($data['creation_date'] + $_CONFIG['expire'] <= time()){
switch(auth_get_option("TRANSICTION METHOD")){
case AUTH_USE_COOKIE:
setcookie('uid');
break;
case AUTH_USE_LINK:
global $_GET;
$_GET['uid'] = NULL;
break;
}
}
}
}
mysqli_query($conn,"
DELETE FROM ".$_CONFIG['table_sessioni']."
WHERE creation_date + ".$_CONFIG['expire']." <= ".time()
);
}
?>
Grazie e ciao a tutti !
Ultima modifica di un moderatore: