| anthonylion Note : 3.5/5 pour 2 votes | 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
|
Cedric Profil : Equipe MDNote : 3.1/5 pour 15 votes | 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
|
anthonylion Note : 3.5/5 pour 2 votes | 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 |
Cedric Profil : Equipe MDNote : 3.1/5 pour 15 votes | 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 :
- $results = $sel->call('create_user_auto', $param);
|
doit être remplacé par
Code :
- $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 :
- require('nusoap/nusoap.php');
- $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
|
anthonylion Note : 3.5/5 pour 2 votes | |
Cedric Profil : Equipe MDNote : 3.1/5 pour 15 votes | Bonjour,
Dans le .htaccess du forum, il vous suffit de rajouter
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
|
| |