je viens demander de l'aide Svp, car je galère à faire proprement un truc.
J'ai créé une classe "Validator" pour vérifier ce qui a été entré dans les champs
La voici :
Code : Tout sélectionner
<?php
class Validator
{
private static $erreur = [];
public static function post($params=[])
{
foreach ($params as $key => $value) {
// nombre de carractères maximal requise de la valeur entrée dans input
if (isset($value['max'])) {
if (strlen($_POST[$key]) > $value['max']) {
self::$erreur[] .= 'Le champ "'.ucfirst($key).'" ne doit pas dépasser '.$value['max'].' caractères.';
}
}
} // END foreach
if (self::$erreur != null) {
$result = '';
foreach (self::$erreur as $erreur) {
$result .= $erreur.'<br>';
}
return $result;
}
} // END function
} // END class
Code : Tout sélectionner
$erreur = '';
$erreur .= Validator::post(['title' => ['max'=>2]]);
$erreur .= Validator::post(['slug' => ['max'=>2]]);
var_dump($erreur);
Code : Tout sélectionner
string
'Le champ "Title" ne doit pas dépasser 2 caractères.<br>
Le champ "Title" ne doit pas dépasser 2 caractères.<br>Le champ "Slug" ne doit pas dépasser 2 caractères.<br>'
(length=340)
Code : Tout sélectionner
string
'Le champ "Title" ne doit pas dépasser 2 caractères.<br>
Le champ "Slug" ne doit pas dépasser 2 caractères.<br>'
(length=340)
Pourtant pour tester, si je fait ceci :
Code : Tout sélectionner
$test = '';
$test .= '<p>test1</p>';
$test .= '<p>test2</p>';
var_dump($test);
Code : Tout sélectionner
string
'<p>test1</p>
<p>test2</p>'
(length=24)
Code : Tout sélectionner
string
'<p>test1</p>
<p>test1</p><p>test2</p>'
(length=24)