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

Ext JS / Sencha Discussion :

Login + renvoi vers autre page


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 124
    Par défaut Login + renvoi vers autre page
    Bonjour tout le monde !

    Je sais pas trop si c'est ici que je dois poster ceci mais bon.
    J'ai une page qui contient un formulaire ExtJs d'identification (Login, Mdp) et une autre qui contient mon application (protégé par un Login et un Mdp donc).

    Je voudrais que l'affichage de mon application ne soit pas possible en tapant directement l'URL, et qu'elle soit accessible seulement en passant par le formulaire d'identification.

    Seulement, je ne trouve pas la solution technique qui pourrai me faire faire ceci .

    Si quelqu'un pouvait m'aider..

    Merci d'avance !

    PS : J'ai essayer des "if" qui vérifie si une variable est a true (cette variable passe a true lorsqu'il y a correspondance dans la BD avec les infos rentré par l'utilisateur). Mais cela ne fonctionne pas, parce que quand je rechare ma page, la variable retourne a false..

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    bonjour,

    si tu es en PHP.

    dans ta page de login:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($test_connexion==true){
       // faire le necessaire pour ouvrir une connexion avec $SESSION
       //...
     
       // redirection vers ma première page
       header('Location: ma_premiere_page.php');
    }
    dans tous tes autres pages:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // test pour savoir si c'est un utilisateur
    // si faux retour vers la page login.php
    if($utilisateur_exists==false)
       header('Location: login.php');
    else{
    // faire ton traitement et affichage de ta page ...
    //...
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 124
    Par défaut
    Je comprend rien..
    Voici mon code :

    Authentication.js qui contient mon formulaire de Login (je vous met juste le handler du bouton "Connexion")

    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
    {
                text: 'Connexion',
                id: 'ConnectBtn',
                cls: 'x-btn-text-icon',
                icon: 'client/img/icons/accept.png',
                handler: function(){
     
                    if( Ext.getCmp('AuthLogin').getValue() == '' || Ext.getCmp('AuthPass').getValue() == ''){
     
                        Ext.Msg.show({
                            id:'AlertAuth',
                            title:'Attention',
                            msg: 'Veuillez remplir tous les champs',
                            buttons: Ext.Msg.OK,
                            fn: function(value)
                            {
                                if(value=='ok')
                                {
                                    Ext.Msg.hide();
                                }
                            }
     
                        });
     
                        return;
                    }
     
                    Ext.getCmp('form-statusbar').showBusy('Connexion...');
     
     
     
                    Ext.Ajax.request({
                        url: '/Gestionnaire_de_courrier/server/json/Authentication.php',
                        method: 'POST',
                        params: {
                            action : "Auth",
                            LOGIN : Ext.getCmp('AuthLogin').getValue(),
                            PASSWORD : Ext.getCmp('AuthPass').getValue()
                        },
                        success: function(response) {
     
                            Users = Ext.util.JSON.decode(response.responseText);
                            Ext.getCmp('Access').setValue(Users.Users.ID);
                            if(Ext.getCmp('Access').getValue() !== ''){
                                AuthWin.close();
                                tabs.show();
                            }
                            if(Users.Users.length != '0'){
                                AuthWin.close();
                                //tabs.show();
                                access = 1;
                                window.location.href ='index.html';
                            }
                            //else if(Users.Users.ID)
                        },
                        failure: function() {
     
                            Ext.Msg.show({
                                id:'AlertAuth1',
                                title:'Connexion refusée',
                                msg: 'Le mot de passe ou le login est incorrect',
                                buttons: Ext.Msg.OK,
                                fn: function(value)
                                {
                                    if(value=='ok')
                                    {
                                        Ext.Msg.hide();
     
                                    }
                                }
     
                            });
                            //return;
                        }
                    });
                }
            }
    Le fichier Authentication.php qui est appeler lors de la requête Ajax

    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
    <?php
    session_start(); // on initalise les sessions php
     
    require_once "../config.inc.php";
    require_once $ROOT . "/db-entities/UserDb.php";
    require_once $ROOT . "/util/Common.php";
     
     
    $login = isset($_POST['LOGIN']) ? $_POST['LOGIN'] : false;
    $passwordtemp = isset($_POST['PASSWORD']) ? $_POST['PASSWORD'] : false;
     
    $items = array();
        $items["Users"] = array();
     
        $password = Common::formatPassword($passwordtemp);
        $users = UserDb::Authentication($login, $password);
     
        $count = 0;
        foreach($users as $user) {
     
            $_SESSION['_LOGIN'] = $login;
            $_SESSION['_PASSWORD'] = $password;
            $items["Users"][] = $user->__toArray();
            $count++;
        }
     
        $items["count"] = $count;
     
        echo json_encode($items);
     
        if($count != '0') {
     
             header("../../Application.html");
     
        }
    <?
    et mes deux fichier html..
    Le premier est celui qui contient le formulaire de Login :
    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
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Gestionnaire de courrier</title>
            <link rel="stylesheet" type="text/css" href="./client/css/TabPanel.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/StyleMailConfig.css" />
            <link rel="stylesheet" type="text/css" href="./client/css/fileuploadfield.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/BackGroundGrid.css" />
            <link rel="stylesheet" type="text/css" href="../ext-2.3.0/resources/css/ext-all.css" /><!-- feuilles de style ext js -->
            <script type="text/javascript" src="../ext-2.3.0/adapter/ext/ext-base.js"></script> <!-- base d'ext js (traitement du DOM, requ�tes asynchrones, ...) -->
            <script type="text/javascript" src="../ext-2.3.0/ext-all-debug.js"></script> <!-- tous les widgets ext js -->
            <script type="text/javascript" src='Authentication.js'></script>
            </head>
        <body>
        </body>
    </html>
    Le deuxieme qui contient le reste de mon appli :
    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
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Gestionnaire de courrier</title>
            <link rel="stylesheet" type="text/css" href="./client/css/TabPanel.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/StyleMailConfig.css" />
            <link rel="stylesheet" type="text/css" href="./client/css/fileuploadfield.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/BackGroundGrid.css" />
            <link rel="stylesheet" type="text/css" href="../ext-2.3.0/resources/css/ext-all.css" /><!-- feuilles de style ext js -->
            <script type="text/javascript" src="../ext-2.3.0/adapter/ext/ext-base.js"></script> <!-- base d'ext js (traitement du DOM, requ�tes asynchrones, ...) -->
            <script type="text/javascript" src="../ext-2.3.0/ext-all-debug.js"></script> <!-- tous les widgets ext js -->
            <script type="text/javascript" src='FileUploadField.js'></script>
            <script type="text/javascript" src='GestionnaireCourrier.js'></script>
            <script type="text/javascript" src='NewFolder.js'></script>
            <script type="text/javascript" src='LastFolderOffice.js'></script>
            <script type="text/javascript" src='SearchFolder.js'></script>
            <script type="text/javascript" src='Param.js'></script>
            </head>
        <body>
        </body>
    </html>
    Cependant, le ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("../../Application.html");
    me renvoit sur index.html, et non sur Application.html..

    Please Help..

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    tu as oublié le mot location ton ta fonction header ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Location: '.$mon_url);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 124
    Par défaut
    Même avec cela, ça ne marche toujours pas.. Je crois que c'est mes variables de sessions qui bug..

    Je vous redonne le code actuel.
    Authentication.js :

    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
    {
                text: 'Connexion',
                id: 'ConnectBtn',
                cls: 'x-btn-text-icon',
                icon: 'client/img/icons/accept.png',
                handler: function(){
     
                    if( Ext.getCmp('AuthLogin').getValue() == '' || Ext.getCmp('AuthPass').getValue() == ''){
     
                        Ext.Msg.show({
                            id:'AlertAuth',
                            title:'Attention',
                            msg: 'Veuillez remplir tous les champs',
                            buttons: Ext.Msg.OK,
                            fn: function(value)
                            {
                                if(value=='ok')
                                {
                                    Ext.Msg.hide();
                                }
                            }
     
                        });
     
                        return;
                    }
     
                    Ext.getCmp('form-statusbar').showBusy('Connexion...');
     
     
     
                    Ext.Ajax.request({
                        url: '/Gestionnaire_de_courrier/server/json/Authentication.php',
                        method: 'POST',
                        params: {
                            action : "Auth",
                            LOGIN : Ext.getCmp('AuthLogin').getValue(),
                            PASSWORD : Ext.getCmp('AuthPass').getValue()
                        },
                        success: function(response) {
     
                            Users = Ext.util.JSON.decode(response.responseText);
                            Ext.getCmp('Access').setValue(Users.Users.ID);
                            /*if(Ext.getCmp('Access').getValue() != ''){
                                AuthWin.close();
                                tabs.show();
                            }*/
                            if(Users.Users.length != '0'){
                                //AuthWin.close();
                                //tabs.show();
                                //access = 1;
                                window.location.href = 'Application.php';
                            }
                            //else if(Users.Users.ID)*/
                        },
                        failure: function() {
     
                            Ext.Msg.show({
                                id:'AlertAuth1',
                                title:'Connexion refusée',
                                msg: 'Le mot de passe ou le login est incorrect',
                                buttons: Ext.Msg.OK,
                                fn: function(value)
                                {
                                    if(value=='ok')
                                    {
                                        Ext.Msg.hide();
     
                                    }
                                }
     
                            });
                            //return;
                        }
                    });
                }
            }
    Authentication.php

    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
    <?php
    session_start(); // on initalise les sessions php
     
    require_once "../config.inc.php";
    require_once $ROOT . "/db-entities/UserDb.php";
    require_once $ROOT . "/util/Common.php";
     
     
    $login = isset($_POST['LOGIN']) ? $_POST['LOGIN'] : false;
    $passwordtemp = isset($_POST['PASSWORD']) ? $_POST['PASSWORD'] : false;
     
    $items = array();
        $items["Users"] = array();
     
        $password = Common::formatPassword($passwordtemp);
        $users = UserDb::Authentication($login, $password);
     
        $count = 0;
        foreach($users as $user) {
     
            $_SESSION['_LOGIN'] = $login;
            $_SESSION['_PASSWORD'] = $password;
            $items["Users"][] = $user->__toArray();
            $count++;
        }
     
        $items["count"] = $count;
     
        echo json_encode($items);
    ?>
    Index.html :

    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
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Gestionnaire de courrier</title>
            <link rel="stylesheet" type="text/css" href="./client/css/TabPanel.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/StyleMailConfig.css" />
            <link rel="stylesheet" type="text/css" href="./client/css/fileuploadfield.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/BackGroundGrid.css" />
            <link rel="stylesheet" type="text/css" href="../ext-2.3.0/resources/css/ext-all.css" /><!-- feuilles de style ext js -->
            <script type="text/javascript" src="../ext-2.3.0/adapter/ext/ext-base.js"></script> <!-- base d'ext js (traitement du DOM, requ�tes asynchrones, ...) -->
            <script type="text/javascript" src="../ext-2.3.0/ext-all-debug.js"></script> <!-- tous les widgets ext js -->
            <script type="text/javascript" src='Authentication.js'></script>
            </head>
        <body>
        </body>
    </html>
    Application.php :

    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
    <?php
     
    if(!$_SESSION['_LOGIN'] && !$_SESSION['_PASSWORD']) {
     
        header('Location: index.html');
     
    }
     
     
     
    ?>
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Gestionnaire de courrier</title>
            <link rel="stylesheet" type="text/css" href="./client/css/TabPanel.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/StyleMailConfig.css" />
            <link rel="stylesheet" type="text/css" href="./client/css/fileuploadfield.css" />
    		<link rel="stylesheet" type="text/css" href="./client/css/BackGroundGrid.css" />
            <link rel="stylesheet" type="text/css" href="../ext-2.3.0/resources/css/ext-all.css" /><!-- feuilles de style ext js -->
            <script type="text/javascript" src="../ext-2.3.0/adapter/ext/ext-base.js"></script> <!-- base d'ext js (traitement du DOM, requ�tes asynchrones, ...) -->
            <script type="text/javascript" src="../ext-2.3.0/ext-all-debug.js"></script> <!-- tous les widgets ext js -->
            <script type="text/javascript" src='FileUploadField.js'></script>
            <script type="text/javascript" src='GestionnaireCourrier.js'></script>
            <script type="text/javascript" src='NewFolder.js'></script>
            <script type="text/javascript" src='LastFolderOffice.js'></script>
            <script type="text/javascript" src='SearchFolder.js'></script>
            <script type="text/javascript" src='Param.js'></script>
            </head>
        <body>
        </body>
    </html>
    Et en faite, a chaque fois que je me log, sa me redirige vers index.html. Donc c'est que la condition dans le "if" de "Application.php" est respecté, alors qu'elle ne devrait pas..

    Une idée ?

    Merci..

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 124
    Par défaut
    Je crois que j'ai trouver la solution ^^

    J'avais oublier session_start() dans Application.php, ce qui faisait que je n'avais pas les variables globales..

    Désolé de vous avoir ennuyer !

    Merci à vous

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

Discussions similaires

  1. renvoi automatique vers autre page .htm
    Par bluechocolate dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2007, 19h27
  2. Réponses: 1
    Dernier message: 04/05/2007, 15h54
  3. Renvoie vers la page d'authentification!!
    Par mamiberkof dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/04/2006, 19h30
  4. Validation de formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2005, 10h22
  5. Validation formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/11/2005, 20h29

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