5433 sujets

Sémantique web et HTML

Bonjour,
J'ai un petit problème !
J'ai céé une <form dans Html :

	<p>
	<center>
	<form onSubmit="Verifie();return false;" action="#, choix.html, erreur.html" method="get" name="flog">
		<font size=2 face="arial">Votre identifiant : </font>
		<input type="password" name="mdp" size=30>
	</form>
	</center>
	</p>


L'identifiant est récupéré par un script JS dans la même page, qui vérifie la validité de l'identifiant.
ce script JS appelle soit la page choix.html soit la page erreur.html

	if (ok == 0) {
		total_erreur++;
		alert("Cet identifiant n'est pas valable");
// Après 3 essais, redirection...
		if (total_erreur > 1) { 
			alert("Vous avez atteint les 2 essais !\n");
			location = "./erreur.html";
		}


Ca marche très bien !
Mais impossible de recevoir dans la page choix.html l'identifiant !

<script language="JavaScript">
	var mdp = document.forms["flog"].elements["mdp"].value;
	echo mdp
</script>

Je suis en panne, trop de choses que je n'ai pas assimilées !
Qui pourrait m'aider ?
Merci d'avance H.
Administrateur
Lorsqu'il y a changement de page les variables JavaScript sont "perdues".

(Attention il y a des morceaux de code obsolète, il ne faut plus se servir de font, center, et de l'attribut language)
Merci de votre prompte réponse ! C'est hélas ce que je craignais !
Mais serait-il possible de passer MDP en paramètre dans les URL ?
Ca, je ne sais pas faire (pas encore !)
Merci et salutations.
C'est l'heure de l'apéro, alors santé !
H.
Merci Rodolphe des morceaux de code obsolètes !
Je corrige en "moderne" le copiè/collé d'exemples sur le Net !
Je reviens sur mon problème, et j'essaie de tourner la difficulté,
Pour ce faire, je vais simplement passer le contenu de mdp à la page suivante, en paramètres de l'URL.
Mais ...
J'ai donc :

var mdp = document.forms["flog"].elements["mdp"].value;

Dans ma var mdp, j'ai bien reçu du <form html le bon contenu
dans la suite de mon script, j'ai :

if (sum == checksum) {
	location = "choix.htm&mdpl";
	ok = 1;
	no = 100;

Je reçois bien dans la page suivante le paramètre, mais c'est "mdp" et non son contenu !
Comment faire ?
Merci
H.
Bonjour à tous,
J'ai bien avancé, mais je cale toujours !
J'ai ça, maintenant :
Je crée mon URL en JS :

location = "choix.html?kkk=".document.forms["flog"].elements["mdp"].value;

Et je devrais avoir, selon toute logique, une URL comme ça :

livre/archives/choix.html?kkk=regude%40yahoo.fr

Eh bien non, j'ai ça :

livre/archives/archives.html?mdp=regude%40yahoo.fr#

Or la page appelante est précisément archives,html
On dirait que la page se rappelle elle-même !
A cause du petit # en fin d'URL ? Ce n'est pas moi qui l'ai mis !
Je n'y comprends plus rien !
Merci de m'aider à dépatouiller tout ça.
Avec mes salutations
H.
Modérateur
Bonjour,

Quand tu mets dans ton html action="#, choix.html, erreur.html", c'est quoi ton but ?

À ma connaissance, la valeur de l'attribut action d'une balise form doit être une url, et non pas une liste d'url.

Il est donc probable que pour s'en sortir, le navigateur ne garde que "#" comme url d'où l'impression que la page s'appelle elle-même.

Je n'ai pas essayé de tester ton code. C'était juste une remarque vite fait en passant.

Amicalement,
Bonjour, et merci !
En fait. le but rêvé était que l'action se propage à la fois dans la page courante, et à la fois sur les pages choix.html et erreur.html, au besoin. !
En fait, et en résumé, je voudrais, après avoir validé ou pas l'adresse e-mail envoyée, que je puisse la récupérer, si valable dans choix.html ou si, pas valable, dans erreur.html.
Merci de têtre penché sur mes tourments, je n'en dors pas la nuit !
Cordialement
H.
Modérateur
Bonjour,

On n'a que des parties de codes, donc on ne sait pas trop quelle est l'étendue des dégâts. Smiley lol

Je conseillerai déjà d'utiliser la méthode "post" au lieu de "get" dans le formulaire. Et ensuite, je mettrais les valeurs que je veux transmettre dans la "page suivante" dans des balises <input> de type "hidden".

Edit : et le mot de passe, lui, il est de toute façon transmis à la page suivant puisqu'il est la valeur d'une balise <input> de type "password" du formulaire.

Amicalement,
Modifié par parsimonhi (30 Mar 2022 - 15:57)
Modérateur
Bonjour,

On est bien d'accord que tu utilises un serveur pour tester ? Et côté serveur, tu utilises quoi comme langage ?

Amicalement,
J'utilise le navigateur FireFox pour le côté HTML et JS, et EasyPhp pour le côté PHP.
Mais je suis vraiment la reine de pommes !
La solution fonctionne très bien c'était mes concat en JS qui étaient vérolés, mais je n'y ai vu que pouik !
Je considère ce post comme résolu !
Avec toutes mes excuses et mes salutations amicales !
H.
Meilleure solution