IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

interface de login par superposition (transparence) - intranet


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut interface de login par superposition (transparence) - intranet
    Bonjour à tous,

    je voudrais réaliser la chose suivante pour l'authentification des utilisateurs sur un intranet et je ne sais pas trop comment m'y prendre :
    je souhaite que l'utilisateur puisse avoir accès à tout moment à l'interface d'authentification (je pense donc mettre un lien login "permanent" dans mon menu).
    Et je souhaiterais qu'au clic sur ce lien s'affiche les champs de login et password par dessus la page actuelle (par transparence ce serait génial ) et qu'une fois l'authentification terminée la page du dessous soit simplement rafraichie.

    Auriez vous des indications à me donner ?

    Merci par avance !

  2. #2
    Nouveau membre du Club Avatar de MadStar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Points : 30
    Points
    30
    Par défaut
    Tu ne vas pas pouvoir faire ça en php. Là tu dois faire appel à du javascript, au moins pour gérer l'évènement du clic sur ton lien "login".
    Maintenant je ne peux pas t'en dire plus parce que je ne sais pas trop comment on fait ce genre d'apparition de zone, c'est une question que je me suis souvent posée d'ailleurs mais comme je n'ai jamais eu l'occasion de le mettre en application je ne me suis pas renseigné.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    Merci pour ta réponse...

    Effectivement javascript me semble nécessaire, mais je ne sais pas comment gérer la superposition de la zone de login à ma page (iframe?) ni comment gérer le retour à la page après traitement du formulaire d'authentification.

    Quelqu'un d'autre aurait une idée svp ?..

  4. #4
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Je pense que tu peux réaliser quelque chose sans trop de difficulté mais tout dépend de ton niveau de connaissance...

    Comme dit plus haut, le Javascript est nécessaire et le traitement de ton formulaire en restera inchangé à la soumission.

    Voici quelque chose qui pourrait t'aider ou t'inspirer... mooSlideBox

    bon dev!

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    Merci !

    ça a l'air génial, je ne vois pas encore comment ça va se passer pour le traitement du formulaire (je voudrais notamment stocker qques infos non "sécurisées" sur le user dans un cookie une fois que l'authentification est faite), le truc c'est que je n'ai pas encore une très bonne maîtrise de php. Mais je vais regarder tout ça et je reviendrai si j'ai d'autres questions :p

    Merci encore

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    Re bonjour,

    pour l'affichage, c'est super j'ai eu ce que je voulais : la slidebox s'affiche avec mon formulaire d'authentification. J'ai obtenu ça en créant un lien dans mon script de génération de menu (appelé au début du script de toutes mes pages) qui fait appel au outils mooSlideBox.

    Mon soucis reste au niveau du traitement du formulaire.

    Pour l'instant j'ai fait la chose suivante : dans mon script de génération de menu j'inclus login.php qui contient :
    1. le code de traitement du formulaire.
    2. le formulaire "loginForm" en question.
    3. le code javascript qui utilise mooSlideBox pour l'affichage du formulaire.


    Mais lorsque je soumets mon formulaire sur la slidebox, le traitement de celui ci ne se fait pas.

    et je ne comprends pas pourquoi...

  7. #7
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Peux tu poster la sortie html de ta page?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    Voici ce à quoi il ressemble
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    	<!--mes css-->
    </HEAD>
    <BODY>
    	<table  cellspacing=0 cellpadding=0 border=0>
    		<!--mon menu dans lequel j'ajoute le lien ci dessous pour l'apparition de la mooSlideBox-->
    		<a href="#" id="toggle" >Toggle login slider</a>
    	</table  >
     
    	<script language="javascript" type="text/ecmascript" src="http://maMachine/Authentication/mootools.js"></script>
     
    	<!--ici dans mon .php j'effectue le traitement de mon formulaire if isset($_POST['monsubmit'])-->
     
    	<!--mon formulaire-->
    	<div id="test" class="mooSlide" style="visibility:hidden;">
    		<form name="loginForm" method="post">
    			<div class=loginLine>Login :<input type=text name=sesameID value="mounia.nouda"></div>
    			<div class=loginLine>Password :<input type=password name=password value="spring_rolls123"></div>
    			<div><input type=submit value="Login" class=loginButton></div>
    	</form></div>
     
    	<!--script d'instanciation de ma mooSlideBox-->
    	<script language="javascript" type="text/ecmascript">
     
    	window.addEvent('domready',function(){
     
     
    	var mooSlide2 = new Class({
    		options:	{
    						slideSpeed: 500,
    						fadeSpeed:	500,
    						effects:	Fx.Transitions.linear,
    						toggler:	"myToggle",
    						contentID:	 null,
    						removeOnClick: true,
    						from:		'bottom',
    						opacity:	1,
    						height:		0,
    						isOpen:		0
    					},
     
    		initialize:	function(options){
    			this.setOptions(options);
    			if(options['toggler']) this.toggler = options['toggler'];
    			if(options['content']) this.content = $(options['content']);
    			if(options['height']) this.height = options['height'];
    			if(options['opacity']) this.opacity = options['opacity'];
    			if(options['slideSpeed']) this.slideSpeed = options['slideSpeed'];
    			if(options['fadeSpeed']) this.fadeSpeed = options['fadeSpeed'];
    			if(options['removeOnClick']) this.removeOnClick = options['removeOnClick'];
    			if(options['from']) this.from = options['from'];
     
    			if(this.removeOnClick){	
    			$(this.content).addEvent('click',this.clearit.bindWithEvent(this));
    			}	
     
    			if(options['effects']){
    				this.effects = options['effects'];
    			}else{
    				this.effects = Fx.Transitions.linear;
    			}
    			this.content.setStyle('opacity','1');
    			this.content.setStyle('visibility','hidden');	
    			$(this.content).setStyle('z-index','5000');	
    			$(this.toggler).addEvent('click',this.toggle.bindWithEvent(this));
     
    		},
     
    		clearit: function(){
     
    					$(this.content).effect('opacity', {duration: this.fadeSpeed, transition: Fx.Transitions.linear }).start(1,0);
    					this.isOpen = 0;
     
    		},
     
    		toggle: function(e){
    			e = new Event(e).stop();
    			var top =  window.getHeight().toInt() + window.getScrollTop().toInt();
    			var width;
     
    			if (document.documentElement && document.documentElement.clientWidth) {
    				width=document.documentElement.clientWidth;
    			}else if (document.body) {
    				width=document.body.clientWidth;
    			}
     
    			var pad1 = $(this.content).getStyle('padding-left').toInt();
    			var pad2 = $(this.content).getStyle('padding-right').toInt();
     
    			width =  width - (pad1+pad2+5);
     
    			if(!window.ie){
    				//width -= 15;
    			}
     
    			if(!this.isOpen){
     
    				$(this.content).setStyle('position','absolute');			
    				$(this.content).setStyle('top',top);
    				$(this.content).setStyle('height',this.height);
    			    $(this.content).setStyle('visibility','visible');
    				$(this.content).setStyle('opacity',this.opacity);
    				$(this.content).setStyle('width',width);
    				$(this.content).setStyle('left','0');
     
    				var end;
    				if(this.from == "bottom"){				
    					end = top - this.height;
    				}else{
    					end = window.getScrollTop() - this.height;
    				}
     
    				if(this.from == "bottom"){
    					$(this.content).effect('top',{ duration: this.slideSpeed, wait:false, transition:this.effects}).start(top,end);
    					this.isOpen = 1;
    				}else{
    					$(this.content).effect('top',{ duration: this.slideSpeed, wait:false, transition:this.effects}).start(end,end+this.height);
    					this.isOpen = 1;
    				}
     
    			}else{
    			var myEffects = new Fx.Styles(this.content, {duration: this.fadeSpeed, transition: Fx.Transitions.linear});
    			myEffects.start({
       				 'opacity': [1, 0]
    			});
     
    				this.isOpen = 0;
    			}
    		}
    	})
     
    mooSlide2.implement(new Options);
     
    var px = new mooSlide2({ slideSpeed: 900, fadeSpeed: 300,  toggler:'toggle', content:'test', height:250, removeOnClick: false, opacity:'1', effects:Fx.Transitions.Quad.easeOut, from:'top' });
     
     
    })
     
    </script>
     
    	<!--reste de ma page-->
     
    </BODY>

  9. #9
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Remplace juste la partie formulaire par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <!--ici dans mon .php j'effectue le traitement de mon formulaire if isset($_POST['monsubmit'])-->
    	<?php
    	if (isset($_POST['sesameID']))
    		echo 'mon formulaire est envoyé';
    	?>
    	<!--TOUTES LES VALEURS D'ATTRIBUTS DOIVENT ÊTRE MIS ENTRE GUILLEMETS-->
     
    	<div id="test" class="mooSlide" >
    		<form name="loginForm" method="post">
    			<div class="loginLine">Login :<input type="text" name="sesameID" value="mounia.nouda"></div>
    			<div class="loginLine">Password :<input type="password" name="password" value="spring_rolls123"></div>
    			<div><input type="submit" value="Login" class="loginButton"></div>
    	</form></div>
    Chez moi, le formulaire est bien envoyé et réceptionné

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    Génial, je te remercie !
    Le souci c'était que je faisais le test du isset sur la "value" de mon submit et pas son "name".
    Le fait que ton test soit passé sur le "sesameID" m'a permis de voir ça.

    Merci pour tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Login par défaut
    Par funboard dans le forum Installation
    Réponses: 1
    Dernier message: 08/12/2008, 08h37
  2. fenetres crées par python :TRANSPARENCE,OPACITE
    Par mickey hollywood dans le forum GUI
    Réponses: 1
    Dernier message: 27/03/2008, 16h03
  3. Réponses: 1
    Dernier message: 23/11/2007, 10h57
  4. Div Transparente par superposition
    Par metallos dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/10/2007, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo