C'est vrai que toutes mes imbrication c'est pas fameux !
je remet tout mon code au propre donc c'est l'occation de mieux faire, je met des redirection pour évité de retrouver les token en get, a la base c'est ce que je faisait mais j'utilise AltoRouter maintenant ce qui change pas mal de chose par exemple j'ai plus besoin de vérifié si j'ai un id en get il le gère tout seul, j'ai juste fais une condition avec les fonctions
is_array($match) is_callable($match['target']) call_user_func_array($match['target'], $match['params'])
si la route ne match pas je redirige tout vers la page d'erreur, ça gère même GET|POST
$router->map('GET' , '/forum-[*:slug]-[i:id]', 'viewforums','forum-tags');
$match = $router->match();
et pour cette condition que tu souligne
if(grapheme_strlen($content) < 100){
// Euh la ça veut dire que même si le message est ok tu auras un champ dans $error, du coup la condition suivante elle va etre à false vu que c'est pas empty nan?
$error .= errors(['content ok']);
}
dans un premier j'ai mis grapheme parce que 1 smiley ça fait plusieurs octets d'où l'utilisation de utf8_mb4 et donc ça peut valoir plus qu'un caractères le simple strlen faisait pas la différence, et ça fonctionne comme c'est censé fonctionner si quelqu'un post du vide ou moins de 100 caractères ça me fait l'erreur, voilà pourquoi je vérifie pas empty ça me parait pas pertinant vu que la fonction vérifie le nombre de caractères je ne vérifie que dans le value du formulaire, mais est-ce que les espaces sont des caractères ??
J'ai plus qu'a géré les redirections avec les maxpage et j'aurais fini il me manque juste la page qui va se créer quand le max perpage atteind sa limite l'ors de la création d'une réponse, ensuite je passe a poo a 100%.