Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# changement de page...

Envoyé par : trollchichon

Date : 19/04/2006 09:03

bonjour, pourriez vous me dire pourquoi je n'arrive pas a afficher la page menuxul.php?

source: login.php :

<?session_start();
//on fait savoir au navigateur que l'on envoie du xul
header ("Content-type: application/vnd.mozilla.xul+xml; charset=iso-8859-15");
header ("title: Gestion des groupes");
header ("id: main");
require_once("supann_group.php");
define("GROUP_AUTHORIZED","cn=creation des groupes, ".LDAP_GROUPS_DN);
define("SERVICE_CREATION_GROUPES", "creationgroupes");
define("PEOPLE_AUTHORIZED","cn=creation des comptes, ".LDAP_GROUPS_DN);
define("SERVICE_CREATION_PEOPLE", "creationpeople");
echo '<' . '?xml version="1.0" encoding="iso-8859-15" ?' . '>';
echo '<' . '?xml-stylesheet href="chrome://global/skin/" type="text/css"?' . '>' . "\n";
echo ('<' . '?xml-stylesheet href="css/style.css" type="text/css"?' . '>' . "\n");
error_reporting(E_ALL ^ E_NOTICE);?>
<window id="login" title="Connexion"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<script type="application/x-javascript" src="js/doLogin.js"/>
<hbox> <vbox  flex="1">	<vbox align="center"> <hbox  align="center"> <image id="banniere" /> </hbox> </vbox> </vbox>    </hbox>
<vbox align="center" flex="1">
	<html:h2>
		<label id="title" value="Veuillez entrer votre nom  d'utilisateur et votre mot de passe pour vous connecter" />
	</html:h2>
	<hbox align="center">
		<html:b><label value="Nom d'utilisateur : "  control="log" width="110"/></html:b>
		<textbox id="log"  width="200"/>	
	</hbox>
	<hbox align="center">
		<html:b><label value="Mot de passe : "  control="password"  width="110"/></html:b>
		<textbox id="password" type="password" width="200"/>	
	</hbox>
	<html:p>
		<html:label for="etudiant">Se connecter  automatiquement à chaque visite</html:label>
		<html:input id="etudiant" type="checkbox"/>
	</html:p>
	<button label="Se connecter"  oncommand="doLogin();"/>
</vbox>
<?php
	if(!isset($_POST['log']) && !isset($_POST['password'])){
	echo 'essai' ."\n";
	}
	else{
	if (!isset($_SESSION['logged']) &&  $_SESSION['logged']!=true)
		if ($_SESSION["user_dn"] =  authenticate($_POST['log'], $_POST['password'])) {
			echo 'ca marche' ."\n" ;
			$_SESSION["logged"] = true;
				echo '0'."\n";
			$uid = explode(",", $_SESSION["user_dn"], 2);
			$uid = explode("=", $uid[0], 2);
			$_SESSION["uid"] = $uid[1];
			if ($_SESSION[SERVICE_CREATION_GROUPES] = authorize($_SESSION["user_dn"], $_POST["password"], GROUP_AUTHORIZED))
				echo '1'."\n";
			if ($_SESSION[SERVICE_CREATION_PEOPLE] = authorize($_SESSION["user_dn"], $_POST["password"], PEOPLE_AUTHORIZED))
				echo '2'."\n";
			include ("menuxul.php");
		} else {
			echo '<label value="ca ne marche pas"/>';
			session_unset(); //détruit toutes les  variables d'une session
			}
}
?>
</window>

menuxul.php :

<?
//on fait savoir au navigateur que l'on envoie du xul
/*header ("Content-type: application/vnd.mozilla.xul+xml;  charset=iso-8859-15");
header ("title: Gestion des groupes");
header ("id: main");*/
echo '<' . '?xml version="1.0" encoding="iso-8859-15" ?' . '>';
echo '<' . '?xml-stylesheet href="chrome://global/skin/"  type="text/css"?' . '>' . "\n";
echo ('<' . '?xml-stylesheet href="css/style.css" type="text/css"?' . '>' . "\n");
?>
<window id="main" title="Gestion des groupes"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 <vbox flex="1">
...		
</vbox></window>

doLogin.js :

function doLogin() {
if(!verification()) return false;
ajouter(); }
function verification(){
 }
function ajouter(){
  var val=document.getElementById("log").value;
  var s = escape("log")+"="+escape(val);
  var val2=document.getElementById("password").value;
  var t = escape("password")+"="+escape(val2);
  envoyer(s+"&"+t , "./login.php", "Enregistrement"); 
  reloadTree();
}
function envoyer(chaine, urlservice, message){
  p = new XMLHttpRequest();
  p.onload = null;
  p.open("POST",urlservice, false);
  p.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  p.send(chaine);
  status = p.status;
  if ( status != "200" ) {
    alert("arg ! mauvaise réponse http ("+ status +")");
  } else {
    if(p.responseText === 'ok'){
      alert(message + " effectué");
      document.getElementById("log").value = '';
    }else{
      alert("Il y a eu une grosse erreur :\n" + p.responseText);    }   } }
 

D'avance je vous en remercie

# Re: changement de page...

Envoyé par : laurentj

Date : 19/04/2006 09:48

source trop long. Réédite ton message, enleve le superflu, et fait en sorte que ça s'affiche bien (respecte la syntaxe wiki)

# Re: changement de page...

Envoyé par : trollchichon

Date : 19/04/2006 11:29

voila c'est fait

J'aurai une autre question:

J'ai une fenetre index et dans cette fenetre j'ai une iframe avec id="framePrincipale" src="login.php"

Dans login.php j'appelle une méthode javascript pour faire le changement de src dans l'iframe mais je ne sais pas comment remonter les éléments "parents"

est ce que quelqu'un a une idée?

# Re: changement de page...

Envoyé par : laurentj

Date : 19/04/2006 11:36

Pourquoi tu envoi via xmlhttprequest, ta demande d'authentification à login.php, alors que le rôle de ce script est d'afficher un écran XUL ? Je pense que tu te melange les pinceaux là...

Tu envoi tes infos à login.php, et aprés tu test si la reponse = "OK". Mais elle peut pas être OK, puisque tu renvoi toute une page XUL en réponse !

Il faut que tu sépare les deux : un fichier XUL qui affiche la fenêtre. Et un fichier PHP qui est chargé de vérifier le login/mot de passe, et qui renvoi juste OK ou PASOK ou ce que tu veux de simple.

Et aprés avoir appeller envoyer(), tu test la reponse, si elle est ok, tu fais un simple location.href="menu.xul" (ou autre ecran).

# Re: changement de page...

Envoyé par : trollchichon

Date : 19/04/2006 14:13

j'aurai donc un .xul et un .php mais comment faire la communication entre les deux? Qui appelé dans l'index?

# Re: changement de page...

Envoyé par : laurentj

Date : 19/04/2006 15:48

tu appelle ton xul bien sûr. Il faut que tu oublie le HTML, et que tu penses "services web".

Je pense que l'étude des sources de la version améliorée de /wiki/ApplisWeb/ExemplePhpRdf t'éclairera ;-)

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.