Ciao a tutti. Volevo mettere una pagina con password al mio sito ed ho trovato una soluzione bellissima.
Il problema è che se metto nome e pass sbagliati mi dice "not found page"
Vi posto qui i file di cui è composto sperando in un aiuto:
Questa è la pagina col form e cliccando su entra mi da errore ("pass.htm")
Il file con il javascript di controllo ("controllo.js")codice:<html> <head> <title>Pass</title> </head> <script language="JavaScript" src="controllo.js"></script> <script language="jscript" src="iexplorer.js" defer> </script> <style type="text/css"> .tabella { border-width: 2; background : #D3D3D0; border : thin solid Black; } </style> <body onLoad="myForm.userid.focus()"> <form name="myForm" method="post"> <center> <table cellpadding="5" cellspacing="0" width="40%" class="tabella"> <tr> <td colspan="2"> <center> <h3>Riconoscimento Utente</h3> </center> </td> </tr> <td> <center> <h4>UserID</h4> </center> </td> <td><input type="text" name="userid" size=10></td> <tr> <td> <center> <h4>Password</h4> </center> </td> <td><input type="password" name="pwd" size=10></td> </tr> <tr> <td> </td> <td> <center><h3> ENTRA[img][/img] </h3></center> </td> </tr> </table> </center> </form> </body> </html>
Il file per IE ("iexplorer.js")codice:function Invio(){ //variabili password e userid pwd=document.myForm.pwd.value; userid=document.myForm.userid.value; //setta action form document.myForm.action="http://www.nomedominio.it/"+pwd+"/"+userid+".htm"; //controlla che tutti i campi siano compilati if((pwd=="")||(userid=="")){ alert("Campi Obbligatori"); } //se si ed il browser è IE esegue la funzione (in JScript) //per la validità della password e del userid else if((document.all)&&(navigator.userAgent.indexOf("Opera") == -1)) { // Explorer setTimeout("controllo(1)",500); } //se il browser non è IE prova a reindirizzare direttamente alla pagina else // Browser non IE document.links[0].href=document.myForm.action+"?"+document.myForm.userid.value; document.links[0].click(); }
La pagina dell'area privata ("utente.htm")codice:function controllo(n) { //src dynamic document.wFile.dynsrc=document.myForm.action; if(document.wFile.fileSize>-1){ alert("User OK!\nPass OK!\n"+"Dimensione: "+document.wFile.fileSize+" bytes."); var destinazione=document.myForm.action+"?"+document.myForm.userid.value; document.links[0].href=destinazione; document.links[0].click(); } else if(n==1){ setTimeout("controllo(2)",500); } else alert("User o Pass sbagliate!."); }
Uno script che controlla la provenienza e, in caso non si arrivi dal form, fa un redirect ("riservato.js")codice:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Area Riservata di</title> <script language="JavaScript" src="riservato.js"></script> </head> <body bgcolor="pink"> </body> </html>
Come posso sistemarlo?codice://serve per verificare la provenienza dell'utente var provenienza=document.referrer; //serve per includere nella pagina il nome dell'utente var utente = location.search.substr(1); //controllo che l'utente provenga dalla pagina di log-in if((provenienza=="")||(provenienza!="http://www.nomedominio.it/pass.htm")){ document.location.href="http://www.nomedominio.it/pass.htm"; } //se si lo fa accedere alla pagina else if(provenienza=="http://www.nomedominio.it/pass.htm"){ document.title+=" "+utente; document.write("<center><h3>Benvenuto nella tua area riservata, "+utente+".</h3></center>"); }

Rispondi quotando