insérer dans la base de données à partir des champs de formulaire Joomla
Je suis débutant sur Joomla! le développement et ont créé un module très simple.
Comment puis-je créer un formulaire avec 3 champs de texte et ensuite enregistrer les valeurs saisies dans une base de données de la table?
source d'informationauteur jehan
Vous devez vous connecter pour publier un commentaire.
Essayez cet exemple:
Nous publierons un utilisateur du nom et prénom à une table.
créer une table dans votre base de données. Remarque il doit avoir le préfixe "jos_"
Nous appellerons cette forme, "nom". Nous allons donc le nom de notre table "jos_names"
À la ligne de SQL dans PHPMyAdmin (ou quel que soit l'outil que vous utilisez..), faire cette requête pour créer une nouvelle table:
Pour simplifier les choses, nous publierons les résultats sur la même page.. nous allons créer le formulaire:
Cela devrait le faire. Si vous écrivez un traditionnel Joomla module, ce devrait être votre helper.php fichier.
NOTES:
Seulement inclure le "die" script une fois dans un joomla document.. (defined( '_JEXEC' )..
JURI::current() lit automatiquement l'URL actuelle de la page. Si vous appelez de l'écho JURI::current(); sur une page avec l'url http://www.example.com/namespuis elle affiche le même lien.
Il est important que le action="" points à l'Url exacte où vous allez publier ce module.
En outre, il est considéré comme une mauvaise pratique pour publier des données à 'AUTO', mais vous êtes kindof limité avec un module, de sorte que si vous construisez un composant ou d'un plugin, vous devez poster votre formulaire de "MOI", tout comme avec cet exemple. (JURI::current();)
Lorsque dans la communauté Joomla cadre, il n'est pas nécessaire de déclarer votre nom de base de données, nom d'utilisateur ou le mot de passe que Joomla est déjà "connecté".. Donc au lieu de l'interrogation
databasename
.jos__tablename
dans joomla, vous pouvez remplacer la requête:#__tablename
. En fait, c'est la meilleure pratique lorsque vous traitez avec les requêtes db et Joomla parce que les utilisateurs n'ont pas à utiliser la valeur par défaut jos_ préfixe, joomla remplace automatiquement "#" avec tout ce préfixe. Dans mon cas, "# " est synonyme de "jos"Prendre note lors de l'interrogation sql pour créer la table.. assurez-vous de remplacer
databasename
avec le nom de votre base de données..Cela devrait le faire.
Si pour quelque raison vous ne pouvez pas poster de données:
1) assurez-vous que le formulaire n'est pas redirigé vers une autre page lorsque vous cliquez sur soumettre. Si il ne, changer la forme de l'action"" à l'url absolue où cette page est publiée.. puis aller à partir de là.
2) Parfois, le $data =nouvelle méthode ne fonctionne pas. Cela dépend de comment vous définissez votre module, de fonctions et de classes.
Voici une alternative:
Essayer quelque chose comme http://www.chronoengine.com/ - Chronoforms
Vous pouvez exécuter une requête personnalisée pour obtenir un résultat sur tmpl fichier qui est simple