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

PHP & Base de données Discussion :

problème wordpress bdd plug-in


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut problème wordpress bdd plug-in
    Bonjour,

    Déjà je m'excuse si ne poste pas ce sujet dans la bonne section, j'hésitais entre Javascript et PHP.

    Ensuite, j'ai un petit problème concernant le développement de mon plug-in wordpress, que je n'ai jamais utilisé jusqu'à maintenant.

    On m'a demande de développer un plug-in permettant d'ajouter ou de supprimer des logos de sponsors sur des pages web précises.

    J'ai d'abord essayé en local sur un fichier PHP que j'ai codé moi même et ça fonctionnait parfaitement, mais maintenant lorsque j'essaye de mettre mon code sous forme de plug-in, impossible de modifier la BDD.

    Mon code pour le plug-in est le suivant :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    <?php
     
    /**
    * Plugin Name: adel
    * Plugin URI:
    * Description: Un plugin permettant l'ajout et bientôt la suppression de sponsors
    * Version: 0.1
    * Author: MOI
    * Author URI:
    */
     
    add_action("widgets_init","adel_init");
    add_action("gform_post_submission",function() {
     
    	 global $wpdb;
     
    	   if(isset($_POST['valider'])){
                $nom_entr=$_POST['nom_entr'];
                echo 'Ajout de l\'entreprise '. $nom_entr.' fait ';
     
    		$wpdb->insert('listsponsor', array('nom' => $_FILES['logo']['name'], 'chemin' => 'uploads/'.$_FILES['logo']['name']), array('%s', '%s'));
     
     
    		if (isset($_POST['check_list']) && $_POST['check_list'] == 'saisie' ) { //strcmp( $_POST['check_list'], "saisie" ) == 0 ) {//$_POST['check_list'] == 'saisie' ) {
    			$wpdb->update('listsponsor', array('saisie' => '1'), array('nom' => $_FILES['logo']['name']), array('%s'), array('%s'));
     
    		} 
     
    		if (isset($_POST['check_list']) && $_POST['check_list'] == 'index' ) {
    			$wpdb->update('listsponsor', array('indexe' => '1'), array('nom' => $_FILES['logo']['name']), array('%s'), array('%s'));
    		} 
     
    		if (isset($_POST['check_list']) && $_POST['check_list'] == 'testajout' ) {
    			$wpdb->update('listsponsor', array('testajout' => '1'), array('nom' => $_FILES['logo']['name']), array('%s'), array('%s'));
    		}
     
     
     
    		}
     
    	}	
    	);
     
    function adel_init() {
    	register_widget("adel_widget");
    }
     
    class adel_widget extends WP_widget {
     
    	function adel_widget() {
    		$option = array(
    			"classname"=> "adel_widget",
    			"description" => "Un widget qui permet l'ajout ou la suppression de sponsors sur les pages choisies"
    		);
    		$this->WP_widget("adel", "Le widget ADEL", $option);
    	}
     
    	function widget($args, $instance) {
    		extract($args);
    		echo $before_widget;
    		echo $before_title."Widget d'ajout ou de suppression de sponsor".$after_title;
    		echo $after_widget;
    	}
     
    	function update($old, $new) {
    		return $new;
    	}
     
    	function form($instance) {
    		?>
    		<label>Add / Delete Sponsor : </label> <br />
    		<form name="ajout_entreprise" method="post" action="" enctype="multipart/form-data">
                Entrez le nom de l'entreprise : <input type="text" name="nom_entr"/> <br/>
    			<input type="hidden" name="MAX_FILE_SIZE" value="999999999999999" />
    			Upload du logo de l'entreprise : 
    			 <label for="icone">Icône du fichier (JPG, PNG ou GIF | MAX 1Mo) :</label><br />
    			 <input type="file" name="logo" id="" /><br />
    			 Sur quelle(s) page(s) voulez-vous ajouter ce partenaire ?
    			<input type="checkbox" name="check_list" value="saisie"><label>saisie</label>
    			<input type="checkbox" name="check_list" value="index"><label>index</label>
    			<input type="checkbox" name="check_list" value="testajout"><label>testajout</label>
     
    			 <input type="submit" name="valider" value="OK"/>
     
           </form>
     
    	<?php
    print_r($_FILES);
    	}
     
     
     
    }
     
    ?>
    La BDD n'est pas compliquée, il y a une table avec 5 attributs, le nom du fichier, le chemin de celui-ci, ainsi que 3 booléens indiquant sur quelles pages ajouter le logo du sponsor.

    J'ai essayé de voir où était le problème et grâce à l'instruction print_r($_POST); qui me retourne array(), soit aucun fichier.

    En allant sur des forums, j'ai essayé plusieurs add_action comme add_action("gform_post_submission" ou encore add_action("wp_loaded" et add_action("save_post" mais rien ne marche...

    Je tourne en rond depuis 3 jours, et si vous avez des conseils, je suis preneur

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    J'avance doucement mais sûrement, j'ai pu voir que lorsque je fais un print_r($_FILES); j'obtiens un tableau vide donc ce doit être soit mon formulaire, soit ma fonction upload le problème. Mais je ne vois pas où ><

    EDIT : J'ai pu voir en regardant le code source html de ma page que j'avais un formulaire du type <form><form>........</form></form> puisque la fonction form($instance) crée automatiquement un formulaire. Mais du coup pour upload un fichier, j'ai besoin de l'option enctype="multipart/form-data" mais où puis-je inséré cette option ? Y a t-il une foction permettant de modifier un formulaire ?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    bonjour

    Il y a un forum WordPress si vous avez des questions sur le développement d'extensions WordPress :
    http://www.developpez.net/forums/f15...log/wordpress/

    La 1re chose à réfléchir est le stockage des données. Habituellement, on ne crée pas de nouvelle table mais on commence par utiliser un "custom post type" :
    https://codex.wordpress.org/Function...ster_post_type

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    problème résolu depuis avant-hier, désolé j'ai oublié de mettre le post en résolu. Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème En BDD access
    Par mathrb dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/05/2007, 15h16
  2. [MySQL] Problème de bdd!
    Par cyberdevelopment dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/04/2007, 15h00
  3. [MySQL] Problème formulaire --> bdd
    Par elmago dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 19/03/2007, 17h53
  4. [MySQL] Problème de BDD chez Free
    Par linkman dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/07/2006, 19h00
  5. [Plugin][V4All]problème avec le plug-in V4ALL
    Par zariski63 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 29/12/2004, 23h54

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