Communauté

»

FORUM MesDiscussions.net

»

Renseignements

»

Synchronisation base de données du forum avec membre inscrits sur site

 

2 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Synchronisation base de données du forum avec membre inscrits sur site

n°1561
anthonylio​n
Note : 3.5/5 pour 2 votes
Posté le 22-01-2008 à 16:12:55  
profilanswer
 

:hello:    Bonjours très chers amis de MesDiscussions.net...
 
 Je voudrais tout d'abord vous exprimer toute ma grattitude pour le travail de qualité que vous faites et pour vos renseignements (Joce Cedric..).  Votre logiciel est très performant et peut  s'adapter à n'importe quel interface......  Je m'adresse à vous en tant que que client satisfait... :)  
 
Le forum sur lequel je me base sera mis en ligne via mon site d'ici 2 jours... Mais avant, j'aimerais effectuer une toute dernière opération...  Je voudrais inscrire les quelques "250000 membres" de mon site internet (avec nom, mot de passe et photo) directement sur le forum... et ensuite, chaque nouveau membre est automatiquement inscrit sur le forum et vice versa...  
 
Ma question est la suivante: Est-il possible de synchroniser les deux bases de données?   Si oui comment fait-on? Quels outils dois-je utiliser? Quel webs service?
 
 
Encore une fois merci d'avance...


Message édité par anthonylion le 22-01-2008 à 16:15:17
n°1562
Cedric
Profil : Equipe MD
Note : 3.1/5 pour 15 votes
Posté le 22-01-2008 à 17:29:34  
profilanswer
 

Bonjour,

 

Vous pouvez inscrire des membres via les Webservices.
http://www.mesdiscussions.net/doc/ [...] tilisateur

 

Si dans votre DB, les membres ont un numéro d'id unique, je vous conseille d'utiliser create_user_with_id, ainsi les membres auront un ID commun au site et au forum, ce qui pourra être utile par la suite.

 

Ensuite, vous pouvez via Apache, rediriger l'inscription au forum [urlduforum]inscription.php vers l'inscription sur votre site.  il faudra alors rajouter une constante define('force_login_before_posting',1) dans connexion.php. Comme ça, les membres ne pourront s'inscrire que sur votre site. Il vous suffit alors dans votre script d'inscription d'appeler le WS de creation de compte.

 


Cordialement

 

Cédric


Message édité par Cedric le 28-01-2008 à 12:37:01
n°1563
anthonylio​n
Note : 3.5/5 pour 2 votes
Posté le 24-01-2008 à 17:10:45  
profilanswer
 

Bonjour les amis... Je suis encore en train de me prendre la tête mais je voulais savoir si j'étais dans la bonne voie pour utiliser votre méthode  
 
 
--------------------------------
<?php
 require('include/initialize.php');       // Initialisation du forum, récupération des identifiants, etc.
 require(include_path.'common_func.php'); // Appel du SDK
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>ecriture</title>
 </head>
<body>
 
  <?php
  // Déclaration des paramètres de connexion
  $host = 'localhost';
   
  // Généralement la machine est localhost
  // c'est-a-dire la machine sur laquelle le script est hébergé
  //Configuration par défaut en local

  $user = 'root';
  $bdd =  'bddweb';
  $passwd  = '';
   
  // Connexion au serveur
  mysql_connect($host, $user,$passwd) or die('erreur de connexion au serveur');
  mysql_select_db($bdd) or die('erreur de connexion a la base de donnees');
   
  // Creation et envoi de la requete
  $result = mysql_query('SELECT user_id, user_login, user_pass, user_email FROM user GROUP BY user_email');
   
  // Recuperation des resultats
  while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    $Id = $row['user_id'];
    $Login = $row['user_login'];
    $Password = $row['user_pass'];
     $Email = $row['user_email'];
 //create_user_with_id
   //Ce Webservice permet la création automatique d'un utilisateur en précisant l'ID unique, voici les paramètres à transmettre :

   $param = array(
       'admin' => $user,           //Login d'un administrateur du forum
       'adminpwd' => $passwd,      //Mot de passe d'un administrateur du forum
       'iduser' => $Id,            //  ID unique de l'utilisateur                    
       'user' => $Login,           //Login ou pseudonyme de l'utilisateur à créer
       'pwd' => $Password ,       //Mot de passe de l'utilisateur, en clair.
       'email' =>$Email ,          //Email de l'utilisateur. Attention, cette adresse email ne doit pas déjà être présente pour un autre
           //membre du forum, dans le cas contraire, l'ancien utilisateur ayant cette adresse email verra son compte écrasé.
       'idforum' => '1'           //ID du forum d'où l'utilisateur se sera enregistré.
   );
   $results = $sel->call('create_user_auto', $param);  
 
  }
  // Deconnexion de la base de donnees
  mysql_close();
  ?>
 </body>
</html>
-------------
Mon serveur affiche les erreurs suivantes:
 
Warning: require(include/initialize.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\__IntegrationForum\LireBD_.php on line 2
 
Fatal error: require() [function.require]: Failed opening required 'include/initialize.php' (include_path='.;C:\php5\pear') in C:\wamp\www\__IntegrationForum\LireBD_.php on line 2

 
Savez vous pourquoi?
Merci d'avance encore encore et encore

n°1564
Cedric
Profil : Equipe MD
Note : 3.1/5 pour 15 votes
Posté le 24-01-2008 à 17:24:08  
profilanswer
 

Bonjour,

 

Vous n'utilisez pas le bon Webservice.
Dans votre cas, vous devriez utiliser create_user_with_id (c'est une erreur dans la documentation).

Code :
  1. $results = $sel->call('create_user_auto', $param);


doit être remplacé par

Code :
  1. $results = $sel->call('create_user_with_id', $param);
 

Mais votre erreur provient du fait que vous essayez d'inclure l'initialize.php du forum qui visiblement n'est pas présent.
Cependant, vous n'avez pas besoin d'initialiser le SDK lorsque vous utilisez les Webservices (le SDK étant fait pour rajouter des développements locaux et les webservices pour travailler sur le forum à distance).
En revanche, vous aurez besoin de la class NuSoap téléchargeable ici :
http://dietrich.ganx4.com/nusoap/index.php

 

Vous la copier dans le même répertoire que votre script et vous faites à la place des include du SDK qui ne servent à rien dans le cas présent :

Code :
  1. require('nusoap/nusoap.php');
  2. $sel = new soapclient([url_du_forum_que_je_veux_modifier]/webservices/wservice.php);
 

@bientot


Message édité par Cedric le 24-01-2008 à 17:24:36
n°1565
anthonylio​n
Note : 3.5/5 pour 2 votes
Posté le 28-01-2008 à 11:59:47  
profilanswer
 

Salut Cedric, Salut Joce  :hello:  
 
Merci pour les renseignements, j'ai encore avancé d'un pas :) ... Je peux maintenant transferer tous les membres de mon site dans la base de données du FORUM...  
Mais avant de le faire, j'aimerais  régler un ou deux petits détails qui me dérangent un peu... :(  
 
*Etant donné que le Forum est strictement reservé aux membres de mon site, peut-on empêcher toute inscription DIRECTE au FORUM? Comment forcer les utilisateurs anonyme à s'inscrire d'abord en tant que membre de mon site pour qu'ils soient AUTOMATIQUEMENT inscrit sur le FORUM? (Je veux absolument éviter les soucis avec les "Id" )
 
MERCI les amis  !!!
 
 

n°1566
Cedric
Profil : Equipe MD
Note : 3.1/5 pour 15 votes
Posté le 28-01-2008 à 12:23:08  
profilanswer
 

Bonjour,
 
Dans le .htaccess du forum, il vous suffit de rajouter  
 

Code :
  1. RewriteRule ^inscription.php(.*)$ http://lien_sur_le_site_pour_s_inscrire
  2. RewriteRule ^login.php(.*)$ http://lien_sur_le_site_pour_s_identifier
  3. RewriteRule ^unlog.php(.*)$ http://lien_sur_le_site_pour_se_deconnecter


 
Pour que l'identification sur votre site fonctionne sur le forum, il suffit, lorsqu'un utilisateur s'identifie sur le site d'écrire 2 cookies :
md_user : Contient le pseudo du membre
md_passs : Contient le md5 du mot de passe du membre
 
Les cookies doivent être écrit sur le même domaine que le forum, ainsi le forum identifiera automatiquement les membres (si ils sont inscrits bien entendus).
 
Cordialement
 
Cédric


Aller à :
Ajouter une réponse
  

Communauté

»

FORUM MesDiscussions.net

»

Renseignements

»

Synchronisation base de données du forum avec membre inscrits sur site