Je n'ai pas eu la même lecture (mais à vérifier). PDO sera le standard pas défaut et les autres fonctions classiques mysql seront prises en charge à condition que l'on active l'option idoine sur le serveur... (en fait c'est pour inciter les nouveaux dev à utiliser PDO). Il est probable que quasiment tous les hébergeurs activent cette option pour raisons de compatibilité pour de très très nombreuses années.Il me semblait que PDO aller devenir obligatoire ? Ça veut bien dire que les fonctions mysql classiques ne seront plus pris en charge ?
oui, et bien regardes, vu que php6 se pointe un jour son travail sera à refaire de façon globale, si après tu me dis que je suis excessif, moi je te répond qu'il a manqué de profesionalisme, parceque tout le monde le savait que ca allait arriver, la solution c'était de coder en désactivant les magic quote. Ce qui me fait hurler la dedans c'est quand on passe derriere un codeur qui "ne sait pas" c'est très frustrant, c'est notre boulot de savoir ce genre de choses et de prendre les mesures nécessaires.Ben a l'origine le site était hébergé chez ovh en mutualisé ou les magic quote étaient ON avec impossibilité de les désactiver. Aujourd'hui il est chez un autre hébergeur ou le problème ne se pose plus et va passer en mutualisé.
Ta réponse est légèrement excessive, le développeur du site avec qui j'ai eu l'occasion de parler est loin de ne pas mériter son salaire, et aujourd'hui tout reprendre prendrait un temps fou et ce n'est pas envisageable étant donné toutes les évolutions en cours et a venir.
Ça va se faire petit à petit.
<?php
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
?>
Je ne cherche pas à accabler le type, je me place juste dans la peau du type qui passe derrière (et facilement parceque dans mon job je passe derriere une demi douzaine de type) et qui va se taper une séance de recodage de l'extreme parcequ'il a "oublié" de gérer un truc qui est évident depuis des années. Ca me fache, stouNon mais dans un sens je suis d'accord, moi même avec le peu d'expérience que j'ai j'ai pris l'habitude de coder avec les magic quotes à off. Et pourtant ça veut pas dire que je suis plus compétent qu'un autre, au contraire j'ai pas d'expérience, je connais php depuis la version 5
Ce que je veut dire c'est qu'on peut pas juger les compétences globales de quelqun par rapport à un point particulier car on ne connais pas tous les pourquoi et les comment déjà. De plus a part ce point le code est très propre et bien structuré.
Ben oui mais cette fonction ne semble pas traiter les clés (cas assez rare mais bon...). J'avais ouvert un topic précédemment sur ce sujet mais sans succès.<?php if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_GET = array_map('stripslashes_deep', $_GET); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } ?>
if (get_magic_quotes_gpc()) {
function undoMagicQuotes($array) {
$newArray = array();
foreach($array as $key => $value)
{
$key = stripslashes($key);
if (is_array($value))
{
$newArray[$key] = undoMagicQuotes($value);
}
else
{
$newArray[$key] = stripslashes($value);
}
}
return $newArray;
}
$_GET = undoMagicQuotes($_GET);
$_POST = undoMagicQuotes($_POST);
$_COOKIE = undoMagicQuotes($_COOKIE);
$_REQUEST = undoMagicQuotes($_REQUEST);
}