Erreur fatale: Impossible de ré-affecter auto-variable globale _POST
Je ne peux pas accéder à mon WP (version3.4.2) admin. Il dit comme mentionné ci-dessus
Erreur fatale: Impossible de ré-affecter auto-variable globale _POST /home/xxx/public_html/wp-content/themes/rtthemes16/rt-framework/classes/admin.php sur la ligne 540.
La ligne 540 est :
function rt_check_sidebar_array($_POST){
if(is_array($_POST)){
$start_unset_count = 0;
foreach($_POST as $key => $value){
if(stristr($key, '_sidebar_name') == TRUE && $value=="") {
unset($_POST[$key]);
$start_unset_count = 1;
}
if($start_unset_count>0){
unset($_POST[$key]);
$start_unset_count++;
}
if($start_unset_count==6){
$start_unset_count = 0;
}
}
}
$newPost == $newPost ? $newPost : $_POST;
return $_POST;
}
Des idées?
Merci 🙂
OriginalL'auteur user3450716 | 2014-03-22
Vous devez vous connecter pour publier un commentaire.
Depuis PHP 5.4, vous ne pouvez pas utiliser une superglobale en tant que paramètre à une fonction
$_POST est accessible dans le monde entier. Si vous n'avez pas à passer à votre fonction.
http://php.net/manual/en/language.variables.superglobals.php#112184
C'est comment votre fonction doit ressembler à
si vous renommez votre fonction param name ensuite, vous pouvez accéder à $_POST données par l'intermédiaire de ce param name, la meilleure chose serait de ne pas avoir de param dans
function rt_check_sidebar_array($_POST){
et doit être aussifunction rt_check_sidebar_array(){
puisque vous pouvez accéder $_POST l'intérieur de la fonction directement pour toute opération et cela est vrai pour n'importe quel super globals comme $_FILES, $_GET etc.j'ai essayé.. rien n'a changé
quelle est l'erreur u obtenir aujourd'hui ? et quelle ligne ?
toujours la même ligne; 540
OriginalL'auteur Abhik Chakraborty
@user3450716, la seule chose que vous devez faire, comme Abhik Chakraborty dit, est de supprimer le
$_POST
de votre fonctionrt_check_sidebar
paramètres et quitter la fonction sans paramètres, comme ceci:votre ligne 540:
le modifier:
OriginalL'auteur Sebastian Lucaci
@user3450716.
Vous ne pouvez pas modifier superglobale variables, de sorte que vous ne pouvez pas utiliser
unset($_POST[$key])
OriginalL'auteur Nick Kravchenko