Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoi d'un formulaire à la base donnée (Wordpress)

Sujet résolu
18 octobre 2017 à 12:43:38

Bonjour, je suis nouveau stagiaire dans une entreprise et seul développeur c'est pourquoi je me tourne vers vous :euh: (Ceci est mon premier post).

Le site de l'entreprise utilise Wordpress. Il m'a été demandé de créer un formulaire (HTML / CSS), et de transmettre les entrées à la base de données afin de les ré-afficher après qu'un administrateur les aies approuvées. Je pensais développer un plugin permettant de faire ceci grâce au tutoriel suivant : https://openclassrooms.com/courses/propulsez-votre-site-avec-wordpress/l-administration-2.

Cependant ceci semble assez délicat. N'y aurait-il pas une solution plus simple ?

Merci de votre aide.

  • Partager sur Facebook
  • Partager sur Twitter
18 octobre 2017 à 12:52:35

Bonjour, 

   Tu peux peut-être passer par CMB2 qui te permet de faire des formulaires sur le front. L'avantage c'est que la partie sauvegarde/récupération des données est déjà traitée. Du coup tu peux gagner un peu de temps (ce plugin est pas trop compliqué à prendre en main et permet de faire pas mal de trucs assez géniaux).

  • Partager sur Facebook
  • Partager sur Twitter
18 octobre 2017 à 13:23:49

Merci de ta réponse rapide !

J'ai consulté la documentation de CMB2. Cela semble en effet être un outil complet pour la création de formulaire mais je ne suis pas sûre qu'il m'apporte beaucoup dans mon cas.

En réalité une table est déjà présente dans la base de donnée et il s'agirait de lui apporter de nouvelles données grâce à un formulaire et suite à la validation d'un administrateur. J'utilise pour l'instant Contact Form 7, pour le formulaire.

Ceci parait être une bonne piste : https://mosaika.fr/recuperer-donnees-plugin-contact-form-7/

Mais n'étant pas familiarisé avec Wordpress, j'aurais préféré passer par un plugin préfabriqué :honte:

  • Partager sur Facebook
  • Partager sur Twitter
18 octobre 2017 à 15:12:16

Salut,

tu veux créer un formulaire? Tu as cette possibilité de créer un widget, le tuto du site l'explique, tu peux t'inspirer de celui de newsletter.

tu veux insérer des données dans la base(la table)? Carrement le CRUD avec l'objet wpdb .

<?php $wpdb->insert( $table, $data, $format ); ?> 

// @var wpdb est un objet de la class wpdb // @var format est le type de tes params(int, string, etc.)

Regarde ici

  • Partager sur Facebook
  • Partager sur Twitter

Ceux qui ne peuvent tirer d'enseignements de l'histoire sont condamnés à la répéter. George.S

Tout préjugé est lié à un manque d'information -- Anonyme

18 octobre 2017 à 18:05:11

J'ai donc le code suivant : 

<?php

/* ----- Formulaire php ----- */

/* Récupération des données */

$category = $_POST['nom'];
$company-name = $_POST['company-name'];
$company-email = $_POST['company-email'];
$personal-email = $_POST['personal-email'];
$website = $_POST['website'];
$description = $_POST['description'];

$wpdb->insert( 'wp_test_directory', array(
	'nom' => $nom,
	'company-name' => $company-name,
	'company-email' => $company-email,
	'personal-email' => $personal-email,
	'website' => $website,
	'description' => $description
	));

echo 'Le formulaire a bien été envoyé à la base de données';

?>



Mais je ne sais pas vraiment où placer ce fichier pour qu'il puisse être appelé depuis le "action" de mon formulaire.

Je l'ai pour l'instant placé dans wp-content/themes mais cela ne fonctionne pas. Une idée ? 

-
Edité par Un_developpeur 18 octobre 2017 à 18:06:08

  • Partager sur Facebook
  • Partager sur Twitter
15 novembre 2019 à 11:29:09

Salut Un developpeur, as-tu trouver une solution car j'ai le même problème que toi.

Merci

  • Partager sur Facebook
  • Partager sur Twitter
15 novembre 2019 à 13:38:14

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL