Partage
  • Partager sur Facebook
  • Partager sur Twitter

Wordpress - Cannot modify header information

Sujet résolu
    7 décembre 2019 à 18:21:44

    Bonjour à tous,

    Je viens vers vous car je commence à désespérer .. 

    J'ai pour optique de créer un plugin pour le site que je développe. Ce plugin est sensé permettre de gérer l'interface d'administration de dossiers.

    Pour cela, j'ai crée une interface qui permet de gérer les dossiers en cours. 

    J'ai donc crée un formulaire, permettant d'update les dossiers si besoin (nom, ajout de personnes y ayant accès, date d'expiration etc..)

    Seulement, une fois le fomulaire submit, les dossiers présent dans le select ne sont pas mis à jour, bien que le dossier le soit. J'ai donc voulu, en plus du submit, exécuter un refresh avec un header("refresh:0");

    Mais là arrive le drame, que je n'arrive pas à résoudre.. En effet, j'ai l'erreur suivante:

    Cannot modify header information - headers already sent by (output started at /root/wp-includes/formatting.php:5652) in /root/wp-content/plugins/admin/admin_edit_folder.php on line 32

    De ce que j'ai compris, l'erreur vient donc du fichier formatting.php... que je n'ai jamais touché.. et impossible de savoir ce qu'il en est !

    Voici au cas ou le code de mon plugin (partir PHP) générant cette erreur:

    <?php
    if (isset($_GET['name'])) {
      $name = $_GET['name'];
    }
    
    
    global $wpdb;
    
    $folders = $wpdb->get_results(
      "
      SELECT *
      FROM {$wpdb->prefix}folder;
      "
    );
    
    $msg = "";
    if (isset($_POST['submit'])) {
      if(!empty($_POST['nomDossier'])){
        if (ctype_space($_POST['nomDossier'])) {
          $msg .= "Le nom de dossier ne peut être vide";
        } else {
          $nomDossier = $_POST['nomDossier'];
          $formerDossier = $_POST['formerDossier'];
          $row = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}folder WHERE name = '$nomDossier'");
          if (is_null($row)) {
            $update=$wpdb->update("{$wpdb->prefix}folder", array('name' => $nomDossier), array('name'=>$formerDossier));
            if($update > 0){
              header("Refresh:0");
              $msg .= "Nom de dossier modifié avec succès";
            } else {
              $msg .= "Il y a eu une erreur";
            }
          } else {
            $msg .= "Ce dossier est déjà crée";
          }
        }
      } else {
        $msg .="ERROR";
      }
    }
    
    ?>

    Si vous aviez des pistes, a la fois pour l'erreur, et à la fois mon problème de refresh, je suis preneur :)

    -
    Edité par MattGr 7 décembre 2019 à 20:02:56

    • Partager sur Facebook
    • Partager sur Twitter

    Wordpress - Cannot modify header information

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown