Hi everyone
ieri ho postato riguardo una classe auth che non funzionava, tutta colpa mia, ho proseguito con gli studi e ho capito cosa non andava.. dovevo studiare piu approfonditamente!
Purtroppo nn e' finita:P. All'interno della classe auth
richiamo il metodo refresh della classe Http (posto solo la funzione non l'intera classe)Codice PHP:class Auth {
function __construct()
{
if(!isset( $_SESSION['userType']))
{
Http::redirect('login.php');
}
elseif (isset($_POST['user']))
{
$this->userLogin();
}
elseif (isset($_GET['logout']))
{
$this->userLogout();
}
}
function userLogin()
{
global $pdo;
$qry = $pdo->prepare('QUERY_ADMIN_LOGIN');
$qry->execute(array(':username'=>$_POST['user'], ':password'=>$_POST['pass']));
if ($qry->rowCount() > 0)
{
while($qry->fetch('PDO_FETCH_NUM'))
$_SESSION['userType'] = $type;
$_SESSION['userName'] = $name;
$_SESSION['userSurname'] = $surname;
$_SESSION['userEmail'] = $email;
$_SESSION['userLastLogin'] = $lastlogin;
$pdo->exec('UPDATE admin_users SET lastlogin="'.time().'" WHERE username="$user"');
}
else
{
Http::redirect('login.php',array('error'=>'Incorrect user name and/or password.'));
}
}
function userLogout()
{
unset($_SESSION);
$HttpObj->redirect('login.php',array('error'=>'User logged out successfully'));
}
}
Ovviamente le classi vengono istanziate prima di qualsiasi output, e di conseguenza l'header e' posizionato prima dell'output, posto il file comunque..Codice PHP:public static function redirect($page, $params = NULL)
{
$url = $page;
if(!empty($params) && strrchr($page, '?') == false)
$url .='?';
if(isset($params))
{
foreach($params as $k => $v)
{
$url .= $k.'='.urlencode($v).'&';
}
}
header('Location: '.$url);
}
Il guaio e' che la pagina del refresh sta ancora caricando da ieriCodice PHP:<?php
session_start();
require_once('settings.inc.php');
/* Database connection setup */
try {
$pdo = new PDO(DB_DNS, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
}
catch(PDOException $e) {
echo 'Errore di connessione: '.$e->getMessage();
}
/* Autoload classes */
function __autoload($class_name) {
require_once 'class/' . $class_name . '.class.php';
}
$HttpObj = new Http;
$authObj = new Auth;
?>.. Qualcuno mi sa dire perche' non funziona?
Thx.
Dimenticavo il refresh funziona perfettamente se chiamato al di fuori di quella classe.
![]()

.. Qualcuno mi sa dire perche' non funziona?
Rispondi quotando