J'ai suivi le super tuto sur le MVC? J'ai un MVC qui marche bien mais du coup on les mets où les mysql_real_escape_string et les htmlentities ? Ca va un peu dégueulasser le code du controller.

Pour le model on va se retrouver avec :

array(
"nom" => mysql_real_escape_string($nom),
"prenom" => mysql_real_escape_string($prenom),
"email" => mysql_real_escape_string($email)...
)

De la même façon avec les htmlentities, les mettre dans le tableau de variables qu'on envoie au template c'est pas super lisible je trouve.

Vous avez pas une méthode sympa pour avoir un code un peu plus clair. array_map() pourrait aider mais ça fait un peu méthode de barbare parce que je n'appelle pas ces fonctions pour toutes mes valeurs (intval()...).

3 réponses


Si non ta fonction par une fonction exemple de teste :

<?php 
function string($string){
    $string = mysql_real_escape_string($string);
    return $string;
}
$nom = 'raton';
$prenom = 'laveur';
$email = 'leratonlaveur@live.com';
$teste = array(  
"nom" => string($nom),  
"prenom" => string($prenom),  
"email" => string($email) 
);

 echo '<pre>';
 print_r($teste);
 echo '</pre>';
?>

Sinon tu fais ceci :

$teste = array(
    "nom" => $nom,
    "prenom" => $prenom,
    "email" => $email    
);
foreach($teste AS $name => $value){
   $value = mysql_escape_string(htmlspecialchars($value));
}

Et pour les entiers, il te suffira de faire un autre tableau et un autre foreach avec cette fois ci la fonction intval()

Ps : privilégie htmlspecialchars à htmlentities, la doc php pourra t'expliquer pourquoi ;)

artnow44
Auteur

Merci.

J'ai jamais utilisé htmlspecialchars. Mais du coup maintenant je vois pas vraiment à quoi sert htmlentities. C'est quoi sont intéret ? J'en vois pas vraiment.