Js alert affichage x secondes

Résolu
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -  
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -
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


A voir également:

4 réponses

enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
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,
0
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   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
0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
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)
0
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   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^^
0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
pas de soucis
0
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   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
0
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   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
0