Bonjour alors j'aimerais vous exposer mon code ici pour voir ce que vous en pensiez. Failles, propretés etc...
Avant tout, j'aimerais que vous m'éclaircissiez sur un point.
Le :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mysql_query("SET NAMES 'utf8'");
Est il obligatoire pour prévenir le serveur MYSQL que la transaction des données ce fait en UTF8 ?

Pas page enregistrement (pour ce qui est des protections htmlspecialschars, je le fais à l'affichage) :
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
<?php
include ("connect.php");
$sql = "SELECT * FROM quetes WHERE titre='".$_POST['titre']."'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0) // Vérification si il existe déjà.
{
echo 'La quêtes existe déjà';
}
else // Sinon, on enregistre
{
if (!empty ($_POST['titre']) && is_numeric($_POST['type']) && is_numeric($_POST['faction']) && is_numeric($_POST['classe']) && !empty ($_POST['de']) && is_numeric($_POST['lvl']) && !empty ($_POST['objectif']) && !empty ($_POST['aide']) && is_numeric($_POST['xp']) && is_numeric($_POST['kinah']))
{
include ("connect.php");
$sql = "INSERT INTO quetes VALUES ('', '".mysql_real_escape_string($_POST['titre'])."', '".($_POST['type'])."', '".($_POST['faction'])."', '".($_POST['classe'])."', '".mysql_real_escape_string($_POST['de'])."', '".($_POST['lvl'])."', '".mysql_real_escape_string($_POST['objectif'])."', '".mysql_real_escape_string($_POST['aide'])."', '".($_POST['xp'])."', '".($_POST['kinah'])."')";
mysql_query ($sql);
echo $sql;
}
else
{
echo 'Vous n\'avez pas remplis tout les champs, ou vous avez fait une erreur...';
}
}
?>
Maintenant l'affichage :
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
<?php
// Affichage des quêtes de la faction ELYSEENS !
if (isset ($_GET['Faction']) AND isset ($_GET['Classe']))
{
	if (($_GET['Faction'] == 'Elyseens') OR ($_GET['Faction'] == 'Asmodiens') OR ($_GET['Faction'] == 'E/A') OR ($_GET['Classe'] == 'Tout') OR ($_GET['Classe'] == 'Mage') OR ($_GET['Classe'] == 'Prêtre') OR ($_GET['Classe'] == 'Guerrier') OR ($_GET['Classe'] == 'Éclaireur'))
	{
			if ($_GET['Faction'] == 'E/A')
			{
			$faction = 0;
			}
			if ($_GET['Faction'] == 'Elyseens')
			{
			$faction = 1;
			}
			if ($_GET['Faction'] == 'Asmodiens')
			{
			$faction = 2;
			}
			if ($_GET['Classe'] == 'Tout')
			{
			$classe = 0;
			}
			if ($_GET['Classe'] == 'Mage')
			{
			$classe = 1;
			}
			if ($_GET['Classe'] == 'Prêtre')
			{
			$classe = 2;
			}
			if ($_GET['Classe'] == 'Guerrier')
			{
			$classe = 3;
			}
			if ($_GET['Classe'] == 'Éclaireur')
			{
			$classe = 4;
			}
		include ("connect.php");
		$sql = "SELECT * FROM quetes WHERE faction=".$faction." AND classe=".$classe;
		$result = mysql_query($sql);
		while ($rep = mysql_fetch_array($result))
		{
		echo 'Titre : '.$rep['titre'].'<br />';
		}
	}
}
// Affichage => FIN
 
else
{
?>
<a href="quetes.php?Faction=Elyseens&Classe=Tout">Toutes les quêtes Elyseens</a><br />
<a href="quetes.php?Faction=Elyseens&Classe=Mage">Elyseens/Mage</a><br />
<a href="quetes.php?Faction=Elyseens&Classe=Prêtre">Elyseens/Prêtre</a><br />
<a href="quetes.php?Faction=Elyseens&Classe=Guerrier">Elyseens/Guerrier</a><br />
<a href="quetes.php?Faction=Elyseens&Classe=Éclaireur">Elyseens/Éclaireur</a><br /><br />
<a href="quetes.php?Faction=Asmodiens&Classe=Tout">Toutes les quêtes Asmodiens</a><br />
<a href="quetes.php?Faction=Asmodiens&Classe=Mage">Asmodiens/Mage</a><br />
<a href="quetes.php?Faction=Asmodiens&Classe=Prêtre">Asmodiens/Prêtre</a><br />
<a href="quetes.php?Faction=Asmodiens&Classe=Guerrier">Asmodiens/Guerrier</a><br />
<a href="quetes.php?Faction=Asmodiens&Classe=Éclaireur">Asmodiens/Éclaireur</a><br />
<?php
}
?>
Qu'en pensez vous ? Merci