Bon j'ai bidouillé et j'obtiens quelque chose qui ne fait pas d'erreur, j'espère que j'ai pas fait d'erreur sur le plan de la syntaxe, que le code est propre ...
if(isset($_POST['attack']) && !empty($_POST['attack']['lines']))
{
$selected_ids = array_values($_POST['attack']['lines']);
$sane_selected_ids = array_filter($selected_ids, 'is_numeric');
$cast_selected_ids = array_map('intval', $sane_selected_ids);
$hasDuplicates = count($cast_selected_ids) != count(array_unique($cast_selected_ids));
if($hasDuplicates == 0)
{
$allowed_ids = array();
$requete_liste_id_division = "SELECT id FROM ". PREFIX ."militaire_division WHERE pseudo_proprio = '". $pseudo ."' AND statut = 'Prête au combat'";
$sql_liste_id_division = mysql_query($requete_liste_id_division) or die (GENERAL_ERREUR_CONNEXION_BDD); //Execution de la requete
$resultat_liste_id_division = mysql_fetch_array($sql_liste_id_division); //Triage de la requète
while($resultat_liste_id_division = mysql_fetch_assoc($sql_liste_id_division))
{
$allowed_ids[] = $resultat_liste_id_division['id'];
}
$union = array_unique(array_merge($cast_selected_ids, $allowed_ids)); // L'union des deux ensembles, sans doublons.
$allIdsAreAllowed = count($allowed_ids) == count($union);
if($allIdsAreAllowed == 0)
{
echo $_POST['attack']['target'].'<br />';
$new_string='';
foreach ($cast_selected_ids as $val)
{
$new_string .= $val.'-';
}
echo substr($new_string,0,-1);
}
else
{
redirection(2);
}
}
else
{
echo '<b>Vous avez fait une erreur ! nom de gu, d\'nom de gu !</b>';
}
}