IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Uncaught Error: Using $this when not in object..


Sujet :

WordPress PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    Par défaut Uncaught Error: Using $this when not in object..
    Bonjour,

    J'ai une erreur dans une class avec this mais je ne comprend pas cette erreur que je ne vois pas à la ligne 15 (Uncaught Error: Using $this when not in object context in):

    (Je ne vois pas comment ajouter une balise CODE alors je m'excuse)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Class enregistrement {
        function save_content(){
     
            if (isset($_POST['content']) && !empty($_POST['content'])) {
                global $wpdb;
                $content = $_POST['content'];
                $row = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}nouvelles WHERE id = '$id'");
     
                if (is_null($row)) {
                    $wpdb->insert("{$wpdb->prefix}nouvelles", array('content' => $content));
                }
            }
        }
    }
    add_action('wp_loaded', array($this, 'save_content'));
    je débute avec WordPress alors soyez pas trop méchant je vous remercie de votre aide.

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 577
    Points : 1 989
    Points
    1 989
    Par défaut
    Salut,

    La balise code ressemble à un dièse dans l'éditeur avancé.
    Je te recommande d'utiliser la fonction prepare si tu utilies des paramètres externes https://developer.wordpress.org/refe.../wpdb/prepare/
    Pour ton problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_action('wp_loaded', array($this, 'save_content'));
    $this fait référence à l'objet, ici tu es dans le script et non dans une classe (je pense). Ce que st curieux dans ton script c'est que tu utilises l'action wp_loaded qui va appeller ta fonction callback après le chargement complet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['content']) && !empty($_POST['content'])) {
    du coup que veux tu récupérer dans les variables post? Puisque l'utilisateur n'aura pas encore eu le temps d'effectuer des interactions avec un formulaire.

Discussions similaires

  1. [POO] Using $this when not in object context
    Par rugueux dans le forum Langage
    Réponses: 4
    Dernier message: 26/09/2011, 14h49
  2. Using $this when not in object context
    Par kate59 dans le forum Langage
    Réponses: 6
    Dernier message: 02/09/2010, 13h54
  3. [PHP 5.0] [POO] Using $this when not in object context
    Par Gaetch dans le forum Langage
    Réponses: 10
    Dernier message: 06/03/2010, 11h35
  4. Réponses: 7
    Dernier message: 16/07/2009, 08h13
  5. Fatal error: Using $this when not in object context
    Par lavande dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2008, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo