Le problème vient de la fonction OLD_PASSWORD() qui n'est plus disponible sous MySQL 5.7
SOLUTION
--------------
1) Ajouter le code suivant au fichier fonctions/divers.php
function shittyPassword($input, $hex = true) {
$nr = 1345345333;
$add = 7;
$nr2 = 0x12345671;
$tmp = null;
$inlen = strlen($input);
for ($i = 0; $i < $inlen; $i++) {
$byte = substr($input, $i, 1);
if ($byte == ' ' || $byte == "\t") {
continue;
}
$tmp = ord($byte);
$nr ^= ((($nr & 63) + $add) * $tmp) + (($nr << 8) & 0xFFFFFFFF);
$nr2 += (($nr2 << 8) & 0xFFFFFFFF) ^ $nr;
$add += $tmp;
}
$out_a = $nr & ((1 << 31) - 1);
$out_b = $nr2 & ((1 << 31) - 1);
$output = sprintf("%08x%08x", $out_a, $out_b);
if ($hex) {
return $output;
}
return hexHashToBin($output);
}
function hexHashToBin($hex) {
$bin = "";
$len = strlen($hex);
for ($i = 0; $i < $len; $i += 2) {
$byte_hex = substr($hex, $i, 2);
$byte_dec = hexdec($byte_hex);
$byte_char = chr($byte_dec);
$bin .= $byte_char;
}
return $bin;
}
2) dans le fichier classes/Administrateur.class.php, remplacer
function charger($identifiant, $motdepasse){
$query = sprintf("select * from $this->table where identifiant='%s' and motdepasse=OLD_PASSWORD('%s')",
mysql_real_escape_string($identifiant)...
par
function charger($identifiant, $motdepasse){
$motdepasse = shittyPassword($motdepasse);
$query = sprintf("select * from $this->table where identifiant='%s' and motdepasse='%s'",
et
function crypter(){
$query = "select OLD_PASSWORD('$this->motdepasse') as resultat";
$resul = $this->query($query);
$this->motdepasse = mysql_result($resul, 0, "resultat");
}
par
function crypter(){
$this->motdepasse = shittyPassword($this->motdepasse);
}
3) dans le fichier classes/Client.class.php, remplacer
function charger($email, $motdepasse){
$query = sprintf("select * from $this->table where email='%s' and motdepasse=OLD_PASSWORD('%s')",
mysql_real_escape_string($email),...
par
function charger($email, $motdepasse){
$motdepasse = shittyPassword($motdepasse);
$query = sprintf("select * from $this->table where email='%s' and motdepasse='%s'",
et
function crypter(){
$query = "select OLD_PASSWORD('$this->motdepasse') as resultat";
$resul = $this->query($query);
$this->motdepasse = mysql_result($resul, 0, "resultat");
}
par
function crypter(){
$this->motdepasse = shittyPassword($this->motdepasse);
}