Salut!

J'utilise ces deux variables de cette facon:

<?php
$data"truc"] = addslashes($data"truc"]);
$data"truc"] = stripslashes($data"truc"]);
?>

Mais c'est pas possible de faire tout simplement comme suit? Car ça marche pas

$data = stripslashes($data);

Car lorsque l'on a plein de variables récupérées, ça fait long!

++

2 réponses


tottosche
Réponse acceptée

Sur http://php.net/manual/en/function.addslashes.php tu as une multitude de fonction pré faite pour utiliser addslash facilement

Par exemple:

<?php
function add_slashes ($an_array) {
  foreach ($an_array as $key => $value) {
    $new_array$key] = addslashes($an_array$key]);
  }
}
?>

Ensuite tu peux l'appeler comme ça

<?php add_slashes($_POST); ?>

malheureusement la fonction addslash ne prend pas en paramètre des tableaus

Ou si tu veux faire plus bourin et utiliser toujours la même fonction sans te soucier si c'est un tableau ou pas:

<?php
function addslashesextended(&$arr_r)
{
    if(is_array($arr_r))
    {
        foreach ($arr_r as &$val)
            is_array($val) ? addslashesextended($val):$val=addslashes($val);
        unset($val);
    }
    else
        $arr_r=addslashes($arr_r);
}
?>


Désolé d'avoir crée deux post mais un foi que l'on utilise le balise code, les retours chariots ne passent plus