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

JavaScript Discussion :

Affichage de message d'erreur sur meme page


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut Affichage de message d'erreur sur meme page
    Mon pb est :
    Lorsque j'ai saisi un login et un mot passe erroné, il faut qu'il m'affiche un msg d'erreur, mais ce msg d'erreur doit être affiché sur la même page où j'ai saisi les données.
    la page où je saisi les données et la page qui m'affiche les msg d'erreurs sont différentes.
    mon pb est dans le code JS surtout je ne sais pas les fonctions que j px mettre.
    Voir mon code :
    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
    <?php
    include("connect_base.php");//pour inclure les fonctions de BD
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['mdp']) ){
            extract($_POST);
            // on recupère le cne de la table qui correspond au login du visiteur
            $sql = "select * from admin where login='".$login."'and mdp='".$mdp."'" ;
            $req = mysql_query($sql) or die('error');
            $data = mysql_fetch_assoc($req);
            if($data['login'] != $login && $data['mdp'] != $mdp ) 
            {
            ?>
    	<script language="JavaScript">
    	alert("login ou mdp que vous avez saisie est erroné. Recommencer");
    	window.location.replace("pageadmin.php");// On inclut la page d'identification
    	</script>
    	<?php
    	//Une fenêtre d'alerte s'affiche lorsque le CNE est invalide et renvoit vers la page pour se logger
    	}
    	else {
    	session_start(); //on démarre une sessin
    	$_SESSION['login'] = $login;//la variable de session $_SESSION['login'] récupère le login saisi
    	$_SESSION['mdp'] = $mdp; 
    	header("Location: pageadmin.php");// lien vers la page d'accueil 
    	}
    }
    else {
    	?>
    	<script language="JavaScript">
    	alert("Vous avez oublié de remplir un champ. Merci de recommencer");
    	window.location.replace("accueil.php");
    	</script>
    	<?php
    }
    ?>

  2. #2
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    essait avec ca a chaque endroit ou tu veux introduire du js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo '<script language="JavaScript">
    	alert("Vous avez oublié de remplir un champ. Merci de recommencer");
    	window.location.replace("accueil.php");
    	</script>';
    ca devrait marcher

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    Il m'affiche ce message en page blanche c pas sur la page d'accueil que j vx.
    En plus le code JS je l'ai mis pas dans la page d'accueil,je l'ai mis dans une autre page particulier.
    merci pr la réponse

  4. #4
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    d'accord je crois avoir saisie,

    la page blanche que tu as c bien celle que tu désire mais l’exécution du javascript et la redirection se fait trop rapidement et donc la page n'a pas le temps de s'afficher, du moins il me semble que c'est ca

    pour résoudre le problème ta plusieurs solution, joué avec le onload de ta page et donc declencher ton code au chargement de la page, soit mettre un setTimeout de ton code javascript, dans ce dernier cas le code javascript s’exécutera apres un laps de temps indiquer mais je te conseil l'autre solution, a toi de voir

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    Si je vx utiliser Onload , comment j px l'utiliser sachant que le code JavaScript qui contient les msg d'erreurs se trouve dans une autre page c pa la page d'accueil que j vx l'afficher.

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    lorsque tu poste ton formulaire tu invoque l'url php de traitement de celui-ci c'est la réponse de cette url qui est alors affichée

    c'est le B. A. BA. de HTTP

    donc deux chose si tu veux rester sur la même page

    soit tu ré-affiche la page en guise de réponse.
    soit tu ne poste pas ton formulaire

    solution 1)
    affichage du form de login
    saisie
    Post
    lecture par php
    si donnée erronées
    affichage form de login avec les données remplies et message d'erreur
    sinon
    redirection

    solution 2)
    affichage du form de login
    saisie
    javascript => invocation AJAX de l'url de vérif (php)
    javascript => attente de la réponse
    javascript => si réponse == false afficher message
    javascript => si reponse == true windows.location = newURL

    A+JYT

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    Comment puis-je faire pour la première solution ? Comment peut-il vérifier les données saisies ?

    Peux-tu me donner, si possible, le code pour comprendre ta solution ?
    Le code source que j'ai posté ci-dessus est dans une autre page. Ce n'est pas la page d'accueil (sur laquelle je veux afficher les messages d'erreurs).

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    c'est côté php

    je suppose que tu a une page de login login_page.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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    session_start();
    if ((isset($_SESSION['username'])) && (!empty($_SESSION['login'])))
    {
      $username = $_SESSION['username'];
    }  else {
      $username = '';
    }
    ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=windows-1250">
        <meta name="generator" content="PSPad editor, www.pspad.com">
        <title>Login</title>
      </head>
      <body>
        <form name="login_form" method="post" action="login.php">
          <table class="width50" cellspacing="1">
            <tr class="row-1">
              <td class="category">
                username</td>
              <td>
                <input type="text" name="username" size="28" value="<?php echo $username; ?>" /></td>
            </tr>
            <tr class="row-2">
              <td class="category">
                password</td>
              <td>
                <input type="password" name="password" size="16" /></td>
            </tr>
            <tr class="row-2">
              <td colspan="2">
                <input type="submit" name="login" value="login" /></td>
            </tr>
          </table>
        <?php
        if ((isset($_SESSION['loginError'])) && (!empty($_SESSION['loginError']) && ($_SESSION['loginError']))
        {
          alert('Invalid Login or password');
        }
        ?>
      </body>
    </html>
    cette page affiche le formulaire. si la variable de session username est présente alors le champs username est pré-remplit. si la variable de session loginError est présente et vaut true alors le message d'erreur est affiché.
    le code du php login.php est :
    ouverture de la session lecture des variables POST
    affecter loginError=false dans la session (au cas où l'utilisateur se soit déjà trompé)
    mise en session de username
    vérification du login
    si le login est OK redirection vers la page d'admin
    si le login est incorrect mise en session de loginError = true et redirection vers login_page.php

    A+JYT

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    J'ai trouvé la solution.
    Merci à vous.

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

Discussions similaires

  1. Message d'erreur sur ma page contact
    Par hanana dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2009, 19h54
  2. Message d'erreur sur une page aspx
    Par l_achraf dans le forum ASP.NET
    Réponses: 6
    Dernier message: 26/02/2009, 18h34
  3. Affichage des messages d'erreur sur mon serveur
    Par philippe57460 dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2008, 08h23
  4. Affichage message d'erreur sur cellule protégé
    Par djm69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/01/2008, 12h08
  5. Affichage message d'erreur sur la page courante
    Par mflorisson dans le forum Struts 2
    Réponses: 1
    Dernier message: 18/12/2007, 03h24

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