Js alert affichage x secondes [Résolu/Fermé]

Signaler
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
-
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
-
Bonjour à toutes et à tous,

Contexte :

Je réalise un site intranet dans le cadre d'un stage. Cet intranet dispose d'une authentification.

Lorsque un utilisateur administrateur compris, oubli sont mot de passe, il lui sera possible de le récupérer en saisissant son nom d'utilisateur et une réponse à une question secrète.
Si ces deux informations sont correctes, alors je voudrai afficher un alert qui affichera le mot de passe de l'utilisateur. Le souci est que je ne trouve pas de documentation virtuelle concernant l'affichage de cet alert pendant x secondes (ici je voudrai l'afficher 15 secondes).

Auriez vous des pistes à me donner, ou des mots clés pour m'éclairer sur la recherche à effectuer ? J'ai beau taper "durée" "temps" "afficher alert x secondes"...

Bref merci de votre aide,

Necro27


4 réponses

Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
15
Bonjour, ca me parait plutot bizarre comme solution. Deja ca semble vouloir dire que les mots de passe ne sont pas cryptés ... Et niveau sécurité c'est moyen,
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
Bonjour enark78, non les mots de passes ne sont pas cryptés en effet mais là n'est pas le souci ;)

Ce n'est qu'un intranet où seules 3 personnes auront accès. Le pc sur lequel je travail servira de "serveur" où les utilisateurs devront se connecter par une "utilisation à distance". Donc pour accéder à l'intranet, il faudra au préalable se connecter au serveur.

Ensuite, je vais mettre un mot de passe sur le phpmyadmin, ce qui limitera l'accès à la base de données en "dur".

Je ne suis pas expert en la matière en termes de sécurité, et puis ma demande n'est pas
"est-ce que niveau sécurité mon site répond bien"
mais :
"comment afficher un alert en javascript qui se retire au bout de 15 secondes."
[EDIT] ou du moins déjà est-ce possible, et quel fontion éventuelle puis-je utiliser.
Merci quand même pour l'intérêt que tu as porté à ce sujet.

Cordialement,

Necro27
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
15
Effectivement, 3 personnes ca va.
Tu vas peut etre trouver des choses ici, je n'ai pas vraiment regardé : https://www.elated.com/javascript-timers-with-settimeout-and-setinterval/
Le meilleur moyen de résister à la tentation c'est d'y céder -
L'expérience est le nom que chacun donne à ses erreurs (Oscar Wilde)
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
Et sinon tu n'aurais pas une piste ? Rien que de savoir si cela est possible.

Je pense que oui mais le nombre d'informations à ce sujet sont plus que limités sans connaitre les mots clé à utiliser pour une recherche éfficace

[EDIT] ha pardon pas vu ta modification du deuxième message, je regarde merci.

[EDIT2] Ha génial, des mots clé sur lequel je peux m'appuyer, merci ^^ j'avoue qu'après reflexion, les mots clés comme setTimeout(), clearTimeout().... sont assez logiques. honte à moi, merci je regarde tout cela^^
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
15
pas de soucis
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
Re, bonjour,

Bon ça avance mais je lutte tout de même...

J'ai oublié l'idée de l'alert, mais je voudrais juste afficher un texte en fait dans un div un certain temps. Mais, mais mais...Je me mélange complètement les neurones je ne comprend plus rien...

Voilà mon code

function envoimdp()
{
var xhr = getXhr();
	
xhr.onreadystatechange = function()
{
document.getElementById("test").innerHTML="Wait server...";
if(xhr.readyState == 4 && xhr.status == 200)
{				document.getElementById("test").innerHTML=xhr.responseText;
}
else
{
document.getElementById("test").innerHTML="Error: returned status code " + xhr.status + " " + xhr.statusText;
}
}
xhr.open("POST","Php/sessions/mdpoublie2.php",true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");post_util = document.getElementById('txtnom').value;
post_reponse_secrete = document.getElementById('txtrepsecrete').value;
xhr.send('post_util='+post_util+'&post_reponse_secrete='+post_reponse_secrete);
}


Ce code donc fonctionne bien, j'affiche le mot de passe de l'utilisateur.

Après vient le souci de la durée d'affichage.

Avec la méthode setTimeout(), je me perd complètement.
Cette fonction possède bien 2 paramètres, dont la première doit être une fonction, (d'après mes lectures).

Ainsi ce qui suit n'est pas possible .... ?

setTimeout(document.getElementById("test").innerHTML = stock,2000);


Certes, vu que document.getElementById("test").innerHTML = stock n'est pas une fonction.. même le fait de mettre l'égalité me laisse douter..

Avec l'intermédiaire d'une fonction
function envoimdp()
{.........

if(xhr.readyState == 4 && xhr.status == 200)
{
setTimeout(Afficher, 2000); 
}

....}

function Afficher()
{
	e = document.getElementById("test");
	e.innerHTML = xhr.responseText;
}


Mais dans cette deuxième partie, mon xhr.responseText vu qu'il n'est plus dans la première fonction ne peux plus fonctionner, enfin ne possède plus de valeur...humm
Donc il faudrait une 3ème fonction peut être ? j'ai l'impression de tourner en rond..

Y a t'il des gens plus calé que moi, enfin calé tout simplement.. merci beaucoup d'avance.

Donc vous allez le remarquer, je ne voudrais gérer pour l'instant que l'apparition, après je pense que ce que je vais faire, c'est juste afficher le mot de passe après validation dans un div, puis après 15 secondes réafficher un texte vide dans ce même div. Cela simulera donc la disparition du mot de passe enfin en visuel.

Necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
C'est bon !! il me suffisais juste de venir me plaindre en fait pour retourner sur le code et trouver comment faire...

Alors pour ceux que ça intéresse.

...if(xhr.readyState == 4 && xhr.status == 200)
{
	document.getElementById("test").innerHTML=xhr.responseText;			
	setTimeout(Attendre, 10000); 

}
...

function Attendre()
{
	document.getElementById("test").innerHTML=" ";
}



tout simplement .. afficher un texte vide après 10 secondes...

et pour info pour mon "test"

<div id="test"></div>


voilà c'est un div.

Si besoin de plus d'informations, n'hésitez pas.

Necro27