Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Connexion php

Envoyé par : trollchichon

Date : 13/04/2006 14:31

Bonjour, Je n'arrive pas a faire un script de connexion avec php/xul

est ce que quelqu'un connait la solution, j'ai beau cherhcer sur google, je ne trouve pas...

Pour le moment j'ai ceci:

<?
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");
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"/>
<commandset>
	<command id="doLogin" oncommand="doLogin()"/>
</commandset>  

<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" 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"])){
		$text = '<label value="'.$_POST['log'].'"/>' . "\n";
	}
	else{
		$text = '<label value="'.$_POST['log'].'"/>' . "\n";
	}

		echo $text;
?>
</window>
 

et le code javascript suivant :

function doLogin() {
	var login = document.getElementById("log").value;
	alert("login "+login);
	var password = document.getElementById("password").value;
	alert("password "+password);
if(!verification()) return false;
alert("login "+login+", password "+password);
essai_login();
alert("Fini");
}

function verification(){
var login = document.getElementById("log").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;
}
return true;
}

function essai_login() {
var login = document.getElementById("log").value;
var password = document.getElementById("password").value;
alert("essai de connexion");
alert("login "+login+", password "+password);
var req = new XMLHttpRequest();
var requ=new  String("log="+login+"&password="+password);
req.open("POST", "login.php", true); 
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
req.send(requ);
alert("fin de connexion");
}

D'avance merci

# Re: Connexion php

Envoyé par : Utilisateur anonyme

Date : 13/04/2006 14:50

Salut,

j'envoie comme toi 2 champs (nom et prenom) à un script php, chez moi ça fonctionne... je te montre les fonctions, tu pourrais essayer de les utiliser :

function ajouter(){

   var val=document.getElementById("nom").value;
   var s = escape("nom")+"="+escape(val);

   var val2=document.getElementById("prenom").value;
   var t = escape("prenom")+"="+escape(val2);

   envoyer(s+"&"+t , "./add_nom.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("nom").value = '';
     }else{
       alert("Il y a eu une erreur :\n" + p.responseText);
     }
   }
}

bonne chance!

# Re: Connexion php

Envoyé par : trollchichon

Date : 13/04/2006 15:33

merci a premiere vus ca marche mais pourrai m'envoyer le script php stp? parce que j'ai une fenetre d'erreur qui apparait et je ne comprend pas d'ou vient le 'ok' des tests en fin de script...

Par contre j'ai lu qu'il fallait utiliser les xmlhttprequest + ajax, quelqu'un pourrai m'expliquer en quoi ca consiste (simplement neewbies in place)...

# Re: Connexion php

Envoyé par : laurentj

Date : 13/04/2006 16:05

j'ai lu qu'il fallait utiliser les xmlhttprequest + ajax

ajax, c'est entre autre l'utilisation de xmlhttprequest, donc ça veut rien dire xmlhttprequest+ajax ;-)

sinon, regarde dans le wiki, tu as des exemples d'utilisations.

# Re: Connexion php

Envoyé par : Utilisateur anonyme

Date : 13/04/2006 17:35

en fait je me suis largement insipré de cette page : http://xulfr.org/wiki/ApplisWeb/ExempleP(..) (tu verras en bas de la page on peut télécharger un fichier zip qui comprend tout le nécessaire)

voici le fichier php associé (que j'ai à peine retouché) :

require('../config.php');

$cnx=mysql_connect($db, $user,  $password);
mysql_select_db($base,$cnx);

header('Content-type: text/plain');

if(!get_magic_quotes_gpc()) {
  foreach ($_POST as $index => $value) $_POST[$index] = addslashes($_POST[$index]) ;
}
 
if(isset($_POST['nom']) && trim($_POST['nom']) != ''){

  $sql = 'INSERT INTO sample_tbl (name)values(\'' . $_POST['nom'] . ' '. $_POST['prenom'] . '\')';
  $res=mysql_query($sql,$cnx);
 
  if($res === false)
    echo mysql_error($cnx);
  else
    echo 'ok';
}else {
  echo 'Pas de nom';
}

mysql_close($cnx);
?>

# Re: Connexion php

Envoyé par : trollchichon

Date : 18/04/2006 15:50

voila une reponse un peu tardive. Est que que tes fonctions javascript sont dans le meme fichier que les source php? comment le javascript comprend le " echo 'ok' " lui est adressé?

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.