Bonjour,

Je suis sur Debian Jessie.

J'utilise une base Mysql (utf8), Php et Apache,

Je me connecte à la base via PDO

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
CONST CHEMIN1 = '/var/www/outils/';
 
class InfoBDD
{
	public function bduser()
	{
	$fichier = CHEMIN1 . 'config.ini';
		if (file_exists($fichier))
		{
			$config = parse_ini_file($fichier, true);
			$moteuruser = $config['BDUSER']['moteur'];
			$hoteuser = $config['BDUSER']['hote'];
			$baseuser = $config['BDUSER']['base'];
			$loginuser = $config['BDUSER']['login'];
			$mdpuser = $config['BDUSER']['mdp'];
 
			return array($moteuruser,$hoteuser,$baseuser,$loginuser,$mdpuser);
		}
    }
 
    public function bdlog()
	{
	$fichier = CHEMIN1 . 'config.ini';
		if (file_exists($fichier))
		{
			$config = parse_ini_file($fichier, true);
			$moteurlog = $config['BDLOG']['moteur'];
			$hotelog = $config['BDLOG']['hote'];
			$baselog = $config['BDLOG']['base'];
			$loginlog = $config['BDLOG']['login'];
			$mdplog = $config['BDLOG']['mdp'];
 
			return array($moteurlog,$hotelog,$baselog,$loginlog,$mdplog);
		}
    }
 
    public function bdvpm()
	{
	$fichier = CHEMIN1 . 'config.ini';
		if (file_exists($fichier))
		{
			$config = parse_ini_file($fichier, true);
			$moteurvpm = $config['BDVPM']['moteur'];
			$hotevpm = $config['BDVPM']['hote'];
			$basevpm = $config['BDVPM']['base'];
			$loginvpm = $config['BDVPM']['login'];
			$mdpvpm = $config['BDVPM']['mdp'];
 
			return array($moteurvpm,$hotevpm,$basevpm,$loginvpm,$mdpvpm);
		}
    }
 
    public function __destruct()
	{
 
	}
}
 
 
class ConnexionBDD extends PDO
{
	private $instance = null;
 
	public function __construct($moteur, $hote, $base, $login, $mdp)
	{
		try
		{
			$this->instance = new PDO ($moteur . ':host=' . $hote . ';dbname=' . $base,$login,$mdp);
			$this->instance->exec("SET NAMES utf8");
		}
		catch (PDOException $e)
		{
			print "Erreur de connexion " . $e->getMessage() ."<br />";
			die();
		}
	}
 
	public function getInstance()
	{
		return $this->instance;
	}
 
	public function __destruct()
	{
 
	}
 
//Verification si ce choix de droit existe deja
	public function verif_existance_type_droit($param)
	{
		$sql = 'SELECT T_permission.nom_permission FROM T_liaison_droit_permission, T_permission, T_droit 
		WHERE T_liaison_droit_permission.num_permission = T_permission.id_permission AND T_liaison_droit_permission.num_droit = T_droit.id_droit 
		AND T_droit.id_droit = ' . $param ;
 
		$result = $this->instance->query($sql);
		$row = $result->fetchall();
 
		return $row;
	}
}
Sur une page je me connecte et fais une requete sur la base

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$infoauth = new InfoBDD;
	infobdd = $infoauth->bduser();
 
$connexionauth = new ConnexionBDD ($infobdd[0],$infobdd[1],$infobdd[2],$infobdd[3],$infobdd[4]);
$bdd = $connexionauth->getInstance();
 
$infodroit = $connexionauth->verif_existance_type_droit(1);
 
foreach ($infodroit AS $a => $soustab)
{
	if( $soustab == "voir_mdp")
	{
		echo 'info : coucou';
	}
}
Mon soucis c'est que dans $soustab j'ai bien voir_mdp

Or ma comparaison ne fonctionne pas.

Je ne vois pas d'ou cela peux venir.

J'ai vérifié le type de donnée retourné c'est ASCII (testé avec mb_detect_encoding) si je le converti avec mb_convert_encoding($soustab[0],'UTF-8') cela affiche toujours ASCII.

Merci de votre aide.