Ceci : $region = $this->ns->ifPost('string', 'region');
et ceci : $region = $request->post('string', 'region');
ne fonctionnait pas pour passer la variable dans le model. J'en suis réduis à faire $region = $_POST['region'];
Or quand je regarde comment le formulaire d'inscription/modification d'un profil est géré c'est bien des $ns->ifPost qui sont utilisés et il n'y a pas de soucis avec les accents. J'ai regardé dans le module.ini j'ai bien le module fonctions en dépendance. Les 2 fonctions sont pourtant super simples :
CONTROLLER
- Code : Tout sélectionner
public function sttAction($request, $params = null)
{
$auth = $this->users->needAuth();
if (count($_POST)) {
// $region = $this->ns->ifPost('string', 'region');
// $region = $request->post('string', 'region');
// obligation de passer par $_POST à cause des accents
$region = strip_tags($_POST['region']);
$cgu = $request->post('boolean', 'cgu');
if ($region && $cgu) {
$region = $this->dreal->getRegions($region);
}
}
}
MODEL
- Code : Tout sélectionner
public function getRegions($region = null)
{
$sql = 'SELECT *
FROM `andco_regions` ';
if ($region) {
$sql .= 'WHERE `region` = \'' . $this->db->escape_string($region) . '\';';
}
$stmt = $this->db->query($sql);
if ($region) {
$result = $this->db->fetch_assoc($stmt);
} else {
$result = array();
while ($res = $this->db->fetch_assoc($stmt)) {
$result[] = $res;
}
}
return $result;
}
C'est quand même super basique et pourtant. Si je passe par les fonctions natives de Clementin $result ne renvoie rien. Evidemment le varchar de la bdd est en utf8_general_ci.