kostenloser Webspace werbefrei: lima-city


Schleusenpasswort

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    Moin,

    ich hab auf meiner Homepage so eine Art Schleuse mit einer Passwortabfrage eingebaut.

    Jetzt funktioniert alles soweit ganz gut, nur wenn ich den "Abbrechen"-Button mit einbinden will, dann klappt das nicht.

    Habe es jetzt auf unterschiedliche Arten versucht, und das ist wohl das was am nächsten ran kommt, aber auch net klappt...

    <html>
    
    	<head>
    		<title>Schleuse</title>
    		<script language="javascript" type="text/javascript">
    			var a, b=0;
    			while(a!="Passwort" && b<3 && a!=null) {
    				a=prompt(unescape("Nun gehts nurnoch mit Passwort weiter%21 Du hast drei Versuche."),"");
    				b++;
    			}				
    			if (a=="Passwort") {
    				location.href="java.html";
    			}
    			else {
    				alert(unescape("Das Passwort stimmt nicht%21 Denk nochmal nach%21"));
    				location.href="main.html";
    			}
    		</script>
    	</head>
    
    	<body>
    
    	</body>
    
    </html>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Dir ist aber schon klar, dass Du so eine Passwortabfrage im realen Einsatz vergessen kannst, oder? Du überträgst das Original-Passwort an den Besucher und es steht offen im Quelltext der HTML-Datei....

    Nimm lieber eine PHP Skript und vergleiche das Passwort erst auf Serverseite.
  4. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    ja das ist mir durchaus bewusst ^^

    es soll im endeffekt nur aufzeigen, wie einfach javascript ist und was man so mit prompt, while, if, else, variablen etc machen kann.
    UND eben auch, dass so eine PW-Abfrage nict sicher is ;)

    aber danke für den hinweis :)
  5. OK, dann mal zum Abbrechen. Klappt es, wenn Du 3x nacheinander auf Abbrechen klickst?

    In Deinem Script wird die Prompt Abfrage über die while-Schleife 3x ausgeführt. Wird der Prompt-Befehl abgebrochen, so ist der Rückgabewert nicht eindeutig, sondern Browser abhängig

    Zitat von http://www.javascripter.net/faq/canceled.htm:
    Answer: The return value of canceled prompt() depends on the browser. In some browsers the return value is null, in others it's '' (empty string). Therefore, you might want to use the following code when calling the prompt() method:

    userInput = prompt('Prompt text','Suggested input');
    if (userInput != '' && userInput != null) {
     // do something with the input
    }



    Vielleicht klappt es ja mit entsprechender Modifikation
  6. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    Oh hab wohl vergessen zu erwähnen was genau passiert ^^

    Das problem ist, dass ich sofort (sowohl mit iexplorer und mit firefox) die alert maeldung bekomme:

    alert(unescape("Das Passwort stimmt nicht%21 Denk nochmal nach%21"));


    Und das sollte ja nur kommen wenn ich das pw 3 mal falsch eingebe.

    dazu komme ich aber garnicht erst, weil das prompt übersprungen wird...

    mit

    while(a!="Passwort" && b<3 && a!="") {...}


    klappt das auch net mit dem abbrechen, nur wenn ich kein pw eingebe (also nur ok drücke) dann kommt eben wieder der alert von oben...

    mit

    while(a!="Passwort" && b<3 && a!=null && a!="") {...}


    ist wieder das selbe problem wie oben -.-
  7. Die while Schleife wird gar nicht erst aufgerufen, da die Variable a nicht belegt ist und somit anfangs NULL ist.

    var a, b=0;
    a = "vorbelegung";    // oder a= "";
    while(a!="Passwort" && b<3 && a!=null) {


    Dann wird die Schleife ausgeführt. Klickt man auf "Abbrechen" wird die Variable wieder zu NULL und die while Schleife somit noch vor Ablauf der 3 Versuche abgebrochen.
  8. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    Oh man... da saß ich nun so lange davor und dann sowas offensichtliches ^^

    Ich danke dir vielmals :)

    funktioniert also folgendermaßen:

    <html>
    
    	<head>
    		<title>Schleuse</title>
    		<script language="javascript" type="text/javascript">
    			var a=0, b=0;
    			while(a!="Passwort" && a!=null && b<3) {
    				a=prompt(unescape("Nun gehts nurnoch mit Passwort weiter%21 Du hast drei Versuche."),"");
    				b++;
    			}				
    			if (a=="Passwort") {
    				location.href="java.html";
    			}
    			else {
    				if (!a) {
    					location.href="main.html";
    				}
    				else {
    					alert(unescape("Das Passwort stimmt nicht%21 Denk nochmal nach%21"));
    					location.href="main.html";
    			}}
    		</script>
    	</head>
    
    	<body>
    
    	</body>
    
    </html>
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!