Envoyé par : Surfoo
Date : 27/03/2006 21:51
Bonjour,
Je souhaite développer une interface d'administration pour un site internet avec XUL, PHP/MySQL. Je souhaite changer de l'habituel HTML et je veux voir ce qui se fait ailleurs.
Je débute pour le moment, et j'ai un peu de mal avec SOAP...
J'utilise un formulaire d'identification pour l'accès au site (login + password)
Mais je n'arrive pas à utiliser SOAP (et encore moins NuSOAP qui me fait une erreur fatale -> Fatal error: Cannot redeclare class soapclient)
Voilà la table des users si vous avez besoin :
CREATE TABLE `tcat_user` ( `user_id` int(10) unsigned NOT NULL auto_increment, `user_name` varchar(255) default NULL, `user_firstname` varchar(255) default NULL, `user_mail` varchar(255) default NULL, `user_login` varchar(255) default NULL, `user_passwd` varchar(32) default NULL, `user_group_id` int(10) unsigned default NULL, PRIMARY KEY (`user_id`) ) TYPE=MyISAM AUTO_INCREMENT=2 ;
Est ce que quelqu'un aurais un exemple complet et assez clair (commenté si possible) sur ça..
Une autre question qui viens juste après l'identification avec la session SOAP : Mon formulaire est sur index.xul par exemple, il faut faire comment pour charger le reste de l'interface de la partie admin ? utiliser un autre fichier XUL ?
Merci de votre aide.
Envoyé par : laurentj
Date : 28/03/2006 13:07
tu n'es pas obligé d'utiliser soap. Tu peux aussi utiliser du jsonrpc, ou ton propre format avec xmlhttprequest...
voir /wiki/WebServices.
il faut faire comment pour charger le reste de l'interface de la partie admin ? utiliser un autre fichier XUL ?
oui, eventuellement.
Tu peux aussi utiliser un simple formulaire html (non, ce n'est pas sale ). Aprés le submit et si c'est ok, tu renvoi l'interface XUL.
Envoyé par : Surfoo
Date : 28/03/2006 15:04
Sauf que j'ai vraiment envie d'apprendre à utiliser SOAP...
pour l'instant j'ai ce code XUL là
<?php header("Content-type: application/vnd.mozilla.xul+xml"); echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"; echo "<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>"; ?> <window id="auth" title="Recherche de fichiers" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" orient="vertical"> <script src="./js/auth.js" type="application/x-javascript"></script> <commandset> <command id="doLogin" oncommand="doLogin()"/> </commandset> <spacer flex="1" /> <hbox> <spacer flex="1" /> <groupbox> <caption label="Connexion" /> <label control="login" value="Identifiant :" /> <textbox id="login" type="text" /> <label control="password" value="Mot de passe :" /> <textbox id="password" type="password" /> <button label="Se connecter" command="doLogin" /> </groupbox> <spacer flex="1" /> </hbox> <spacer flex="4" /> </window>
Et le Javascript ici :
function doLogin() { var login = document.getElementById("login").value; var password = document.getElementById("password").value; if(login == "" ) { alert("L'identifiant est obligatoire."); return false; } if(password == "" ) { alert("Le mot de passe est obligatoire."); return false; } else { } }
le code PHP :
<?php require_once("./conf/config.inc.php"); require_once("./lib/functions.inc.php"); $sql = new mysql(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); function doLogin($sql, $login, $password) { $sql->sql("SELECT user_login, user_passwd FROM ".DB_PREFIX."user WHERE user_login='".$login."' AND user_passwd=md5('".$password."')"); if($sql->num_rows()==1) { return true; } else { return false; } }
Je veux juste savoir ce qu'il faut mettre dans la partie 'else' du javascript, et compléter le code php pour renvoyer les données.
Et surtout comprendre comment ça fonctionne une fois que j'aurais un exemple concret...
Envoyé par : laurentj
Date : 28/03/2006 16:32
Sauf que j'ai vraiment envie d'apprendre à utiliser SOAP...
euh c'est ce que je t'ai dis..
Comme je t'ai dis, tu as deux alternatives :
Envoyé par : Christophe Charron
Date : 10/04/2006 18:40
Bonsoir, appeler une fonction du style
function ExecuteSOAP(parametres) { document.getElementById('tb_retour').value=''; alert('Réception dans javascript'+parametres); try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) { alert(e); return false; } var appel = new SOAPCall(); try { appel.transportURI = "http://test03.christophe-charron.org/v11/_graal_cs_02.php"; var params = [new SOAPParameter(parametres)]; appel.encode(1,"test_01",null,0,null,params.length,params); } catch (e) { alert(e); return null; } var result = appel.invoke(); if (result.fault) { alert("Erreur SOAP : "+result.fault.faultCode+" ; "+result.fault.faultString+"\n"); return null; } else { var num = new Object(); var r = result.getParameters(false,num); if(r[0] == null) return null; alert('Retour de soap pph ->'+r[0].value); document.getElementById('tb_retour').value=r[0].value; return r[0].value; } }
ou
test_01
est le nom de la fonction enregistrée
Cordialement,
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.