Programme html à résoudre

Fermé
technique francofils - 21 sept. 2007 à 11:33
 Alain42 - 21 sept. 2007 à 16:47
Bonjour,
Chers amis et camarades "coupsdepouce" j appelle à votre aide car cela fait une semaine que je tourne en rond sur un
probleme de programmation pour la rédaction d'un fichier index.html qui doit me servir de fichier permettant de conduire
l'utilisateur à introduire un numéro ou une valeur (une clé catalogue pour mon exemple) et de ce fait celle valeur le conduit à une page
J ai testé différents soluce sur le net avec un script html ou un script php mais ca ne fonctionnait pas.
J ai donc remis a plat et je suis revenu sur une solution plus simple mais il y a un bug, quelque chose m'échappe réellement.

Bref la personne a le choix entre 2 valeurs clé catalogue: 331B ou 514N
Suivant la valeur entrée, cela l enverra sur une page html.... mais ca marche po ! (comme je suis qu un humble novice du html)
Merci pour votre aide genereuse
Sylvain

(si possible me donner une copie réponse par retour mail à : technique@francofils.com que je puisse enfin me dépatouiller avec mon catalogue CD... un enorme merci d avance)


Ligne du programme en html:

<html>
<head>
<title>Catalogue Septembre 2007</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function secret()
{
var mp = "514N"
var mp2 = "331B"
var saisie = window.prompt("Entrez la clé du catalogue:","");
if (saisie != mp) {document.location.href="515N.htm"};
or if (saisie != mp2) {document.location.href="331b.htm"}
else {"mauvaise clé"};
}
// -->
</script>

</head>
<body onload="secret()">

</body></html>

7 réponses

nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 5
21 sept. 2007 à 11:42
Hmm... Je connais pas trop le javascript, mais bon, je dirais qu'il y a des petits soucis dans ton code la.

Déja, tu as à priori 2 catalogues : 514N et 331B et tu as un lien qui pointe vers un 515N.html
Donc, à moins que le catalogue ai évolué, je pense pas que tu pointes sur le bon lien (enfin, je me trompe peut etre, ou peut etre que le lien ne correspond pas au numero du catalogue)

Et sinon, dans tes if :
f (saisie != mp) {document.location.href="515N.htm"};
or if (saisie != mp2) {document.location.href="331b.htm"} 

ca serait pas plutot ca, que tu chercherais à faire :
f (saisie == mp) {document.location.href="515N.htm"};
or if (saisie == mp2) {document.location.href="331b.htm"} 


Parce que != c'est différent, donc, ca donne plutot l'impression d'un si saisie different de mp, on charge le catalogue 515N.html (514N)
sinon....blablabla

Donc en gros tu charges le catalogue 514N des que tu rentres une mauvaise clé.
Si tu rentres la clé du 514N tu affiches le 331B.

Et tu ne peux pas avoir de mauvaise clés.
0
Quelques erreurs à mon avis:

<script type="text/javascript">
<!--
function secret()
{
var mp = "514N"
var mp2 = "331B"
var saisie = window.prompt("Entrez la clé du catalogue:","");
if (saisie != mp) {document.location.href="515N.htm"};
or if (saisie != mp2) {document.location.href="331b.htm"}
else {"mauvaise clé"};
}
// -->
</script>


<script type="text/javascript"> =>>
<script language="javascript"type="text/javascript">


if (saisie == mp) {
document.location.href="514N.htm";
}
 if (saisie == mp2) {
document.location.href="331b.htm";
}
if (saisie != mp || saisie != mp2){
alert("mauvaise clé";
}
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
21 sept. 2007 à 11:44
essie ca peut etre

if (saisie != mp) {document.location.href="515N.htm"};
else if (saisie != mp2) {document.location.href="331b.htm"};
else {"mauvaise clé"};
0
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
21 sept. 2007 à 11:47
bien faut que tu crée la page 515N.htm et 331b.htm et que tu les mets à coté du index.htm :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 5
21 sept. 2007 à 14:09
Y'a un soucis dans ton code Alain42.

if (saisie != mp || saisie != mp2){
alert("mauvaise clé";
}


Ca veut dire que si tu rentres mp ou mp2 y'a une erreur de saisie, ce qui n'est pas le cas faut remplacer le || par &&

D'ailleurs moi aussi, j'ai re-copier un peu rapidement le code de base, faudrait remplacer les 'or if' par 'else if'
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
21 sept. 2007 à 14:31
Pour chippoter, on peut simplifier le code de la fonction :
function secret()
{
  var mp = "514N"
  var mp2 = "331B"
  var saisie = window.prompt("Entrez la clé du catalogue:","");
  if (saisie == mp)
    document.location.href="515N.htm";
  if (saisie == mp2)
    document.location.href="331b.htm";
  alert ("mauvaise clé");
} 
Puisque les document.location.href vont de toutes façons couper l'exécution de la fonction...
Ceci dit, je voudrais porter à ton attention le fait que les codes visibles en clair dans le code source de la page ne sont pas vraiment la façon la plus sécurisée de faire !
0
Exact nico3fr, je me fais avoir à chaque fois avec les conditions NOT, il faut mettre && au lieu de ||

alors mon code devient:


 (saisie == mp) {
document.location.href="514N.htm";
}
 if (saisie == mp2) {
document.location.href="331b.htm";
}
if (saisie != mp && saisie != mp2){
alert("mauvaise clé";
}
0