•  » Plugins
  •  » Connexion à la base de donnée

#1 2009-12-13 16:08:04

nicko510
Membre
2009-12-11
5

Connexion à la base de donnée

Bonjour,

dans mon plugin j'essaie de me connecter à la base de donnée, mais j'obtiens un message d'erreur...
Pourtant ce que je récupère s'affiche sur la page.

Code:

<?php
include_once(PHPWG_ROOT_PATH.'include/mysql.inc.php');

if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');

 

$me = get_plugin_data($plugin_id);

mysql_connect($cfgHote, $cfgUser, $cfgPassword);
mysql_select_db($cfgBase);


if (isset($_POST['submit']))

{

  $me->my_config['Bio'] = $_POST['BIO'];

  $me->my_config['Liens'] = $_POST['LIENS'];

  $me->my_config['Tarifs'] = $_POST['TARIFS'];

  $me->save_config();

}


if (isset($_POST['bouton']))

{
  $reponse = mysql_query("SELECT * FROM pluginEditeur");
  while ($donnees = mysql_fetch_array($reponse) )
{
?>
    <p>  
    <?php echo $donnees['bio']; ?>
    </p>

<?php
}

mysql_close();

}
  
  
global $template;

$template->set_filenames( array('plugin_admin_content' => dirname(__FILE__).'/editeurplugin_admin.tpl') );

 

$template->assign('BIO', $me->my_config['Bio']);

$template->assign('LIENS', $me->my_config['Liens']);

$template->assign('TARIFS', $me->my_config['Tarifs']);



$template->assign_var_from_handle( 'ADMIN_CONTENT', 'plugin_admin_content');

?>

Et voilà ce que j'obtiens une fois que je clique sur le bouton :

Code:

Warning: Cannot modify header information - headers already sent by (output started at /home/plantepa/public_html/piwigo/plugins/editeur/admin/editeurplugin_admin.php:37) in /home/plantepa/public_html/piwigo/include/page_header.php on line 98

Warning: mysql_query() [function.mysql-query]: Access denied for user 'plantepa'@'localhost' (using password: NO) in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 602

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 602



Warning:  [mysql error 1045] Access denied for user 'plantepa'@'localhost' (using password: NO)

SELECT mail_address
  FROM piwigo_users
  WHERE id = 1
; in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 918


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 1122
Propulsé par Piwigo

Warning: mysql_query() [function.mysql-query]: Access denied for user 'plantepa'@'localhost' (using password: NO) in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 602

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 602



Warning:  [mysql error 1045] Access denied for user 'plantepa'@'localhost' (using password: NO)

REPLACE INTO piwigo_sessions
  (id,data,expiration)
  VALUES('5D02ec272839ac8a091c8591fcb70431b47d','is_handheld|b:0;pwg_uid|i:1;',now())
; in /home/plantepa/public_html/piwigo/include/functions.inc.php on line 918

Hors ligne

#2 2009-12-13 16:27:55

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Connexion à la base de donnée

Mon conseil : Prendre exemple d'un plugin existant pour débuter avec Piwigo...


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2009-12-13 17:03:38

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: Connexion à la base de donnée

Pourquoi tenter toi-même d'effectuer la connexion à la base de donnée ?

Piwigo le fait déjà. Pour toutes les requêtes, utilise la fonction pwg_query($sql)


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#4 2009-12-13 20:37:39

nicolas
Former Piwigo Team
2004-12-30
1565

Re: Connexion à la base de donnée

grum a écrit:

Pourquoi tenter toi-même d'effectuer la connexion à la base de donnée ?

Piwigo le fait déjà. Pour toutes les requêtes, utilise la fonction pwg_query($sql)

Sinon ton plugin ne marchera pas longtemps !!


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#5 2009-12-13 21:37:12

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Connexion à la base de donnée

3 membres de l'équipe qui te demandent de ne pas chercher dans cette direction.
Il faut vraiment bien comprendre la logique des plugins, presque tous les plugins font des mises à jour dans la base, mais aucun ne cherche à effectuer une connexion.
La connexion est automatiquement assurée avant le plugin.


Code:

if (isset($_POST['bouton']))

{
  $reponse = mysql_query("SELECT * FROM pluginEditeur");
  while ($donnees = mysql_fetch_array($reponse) )
{
?>
    <p>  
    <?php echo $donnees['bio']; ?>
    </p>

<?php
}

Ceci est très loin de la logique standard des plugins de Piwigo.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#6 2009-12-14 09:55:15

nicko510
Membre
2009-12-11
5

Re: Connexion à la base de donnée

Merci de vos réponses.

Je ne connaissais pas pwg_query($sql).
Y a-t-il un endroit qui regroupe les fonctions de Piwigo ?
J'ai lu "Aide à la création de plugin", "Faire son plugin personnel" et "Les templates", mais tout cela reste encore assez flou ...

Hors ligne

#7 2009-12-14 10:53:50

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Connexion à la base de donnée

Par exemple, supposons que dans notepad++ j'ai besoin de coder un mysql_query et je ne sais pas comment faire dans Piwigo.
Je fais un search dans le répertoire include de Piwgo de mysql_query, je ne vais pas en trouver beaucoup, mais je verrais sans aucun doute la fonction qui l'utilise (et les commentaires qui sont en tête).
En 15 secondes, j'ai trouvé pwg_query...

Plus encore il faut savoir que Piwigo s'appuit sur Smarty (smarty.net).
Et de fait :

Code:

?>
    <p>  
    <?php echo $donnees['bio']; ?>
    </p>

<?php

On évitera. Multi-view permet d'avoir une vue (debug) des données du template.

Sinon sur le fond, tu a raison et cela viendra (Laurent Duretz a mis un outil sur son site mais je ne sais pas sur quelle version du code il s'appuit et les fonctions evoluent très vite surtout actuellement, tu pourrais trouver une fonction qui ne serait pas encore disponible par exemple).


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#8 2009-12-18 22:16:01

nicko510
Membre
2009-12-11
5

Re: Connexion à la base de donnée

Merci,

j'ai réussi à me connecter à la base de donnée :p.
C'est vrai que je ne suis pas du tout familier avec les templates et la doc de smarty m'a un peu aidé à éclaircir tout ça.

Maintenant j'ai un autre problème ...
Je veux intégrer cKeditor dans mon plugin. Hors le javascript n'ai pas pris en compte ...
Voici mon tpl :

Code:

{html_head}<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>{/html_head}


<div class="titrePage">
  <h2>Editeur</h2>

<form method="post" action="{$F_ACTION}">
     <select name="division">
             <option value="1">Choisir le fichier</option>
             <option value="0">------------------</option>
             <option value="bio">Qui suis-je ?</option>
             <option value="liens">Liens</option>
             <option value="tarifs">Tarifs</option>
     </select>

<input type="submit" value="editer" />

<textarea class="ckeditor" id="editor1" name="texte">
&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://www.fckeditor.net/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;
</textarea>

<br />
<p><input type="submit" value="Enregistrer" name="submit" /></p>

</form>

Le chemin du script est correct car lorsque je renomme le .tpl en .html, là le javascript est interprété ???
Où je me suis encore trompé s'il vous plait ?

Hors ligne

#9 2009-12-19 00:33:33

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Connexion à la base de donnée

Donne le chemin relatif de ton ./ckeditor/ckeditor.js
Par rapport à ./index.php ou ./picture.php


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

  •  » Plugins
  •  » Connexion à la base de donnée

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact