Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Utilisation de SOAP avec PHP/MySQL

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.

# Re: Utilisation de SOAP avec PHP/MySQL

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.

# Re: Utilisation de SOAP avec PHP/MySQL

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...

# Re: Utilisation de SOAP avec PHP/MySQL

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 :

  1. employer xmlhttprequest (regarde dans le wiki, y a des explications et des exemples)
  2. utiliser un formulaire html...

# Re: Utilisation de SOAP avec PHP/MySQL

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.