Allora sto migrando la mia intranet aziendale (quasi totalmente realizzata autonomamente) da php 4 a php 5.2 ho un problema (e spero che sia l'unico) visto che ho cominciato il passaggio da poco.
In sostanza esce fuori l'errore: Catchable fatal error: Object of class Login could not be converted to string in /var/www/intranet_full/LoginClass.php on line 188.
Non so come risolvere la cosa potete aiutarmi per favore?
La funzione che crea il problema è (a fianco della riga problematica ho messo una dicitura):
/**
* Check for a login, first checking the presence of a uvalid session,
* next checking for a cookie called weblogin
* next checking parameters against a DB
* Before Returining it Set the session
*
* @param string $username User name (from a form)
* @param string $password Password (from a form)
* @param int $remember If set, it save the login in a persistent cookie
* @return boolean
* @access public
* @see registerLogin()
*/
function checkLogin ($username='', $password='',$remember='') {
$this->password=$password;
$this->username=$username;
if (session_is_registered('valid')) {
$this->username=$_SESSION['username'];
$this->valid=$_SESSION['valid'];
$this->id=$_SESSION['id'];
$this->cookie=$_SESSION['cookie'];
return 1;
} elseif (isset($_COOKIE['weblogin']) ) {
$this->checkRemember($_COOKIE['weblogin']);
return 1;
} else {
$password=md5($password); // MIA AGGIUNTA PER CODIFICA PASSWORD MD5
$query = "SELECT * FROM Utenti WHERE username = '$username' AND password = '$password' AN valid = 1"; // <----- QUESTA E' LA RIGA CHE CREA PROBLEMI!!
$result = $this->dsn->getRow($query);
if(is_object($result)) {
$this->registerLogin($result,$remember);
return 1;
}
else {
session_unset();
session_destroy();
return 0;
}
$db->disconnect();
}
}