Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: form login

Hybrid View

  1. #1

    form login

    Mi serviva un banalissimo form login che una volta verificata la password e l'utente mi inviasse verso un indirizzo ftp.
    Ho provato quindi ad usare javascript in questo modo:

    codice:
    <script language="javascript" type="text/javascript"><!--//
    function utente(form) {
    if (form.nome.value=="a") { 
    if (form.password.value=="b") {              
    location.href="ftp://percorso.com/" 
    } else {
    window.alert("Password errata")
    }
    } else {  
    window.alert("Utente errato")
    }
    }
    //-->
    </script>
    
    
    
    
    <form name="login" action="ftp://percorso.com/" method="post" enctype="text/plain">
    <table border="0" cellspacing="5" cellpadding="5">
    <tr>
    <td>Utente:</td><td><input type="text" name="nome" size="25" maxlength="25" value="" required></td>
    </tr><tr>
    <td>Password:</td><td><input type="password" size="25"required >
    </td>
    </tr><tr>
    <tr><td></td><td><input type=submit value="Invia i Dati" onClick="utente(this.form)"><input type=reset value="Annulla"></td></tr>
    </table>
    </form>
    Ma purtroppo non funziona correttamente ossia effettua il controllo delle credenziali se sono ok ridirige all'ftp dove poi manualmente verranno immesse le credenziali ma se le credenziali sono errate cliccando su ok al relativo alert comunque rimanda al percorso ftp.
    Come mai?
    Credo dipenda da qui
    codice:
    <form name="login" action="ftp://percorso.com/" method="post" enctype="text/plain">
    ossia la pressione del pulsante ok nella conferma dell'errore fa partire l'action del form.
    Se pero' al form non dichiaro il parametro action non funziona.
    Sembra non eseguire l'istruzione location.
    Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se vuoi utilizzare un input di tipo submit allora devi gestire l'onsubmit al posto di onclick, al contrario se vuoi gestire l'onclick allora devi usare un input di tipo button

  3. #3
    Quote Originariamente inviata da Vindav Visualizza il messaggio
    se vuoi utilizzare un input di tipo submit allora devi gestire l'onsubmit al posto di onclick, al contrario se vuoi gestire l'onclick allora devi usare un input di tipo button
    codice:
    <form name="login" action="ftp://percorso.com/" method="post" enctype="text/plain"><table border="0" cellspacing="5" cellpadding="5">
    <tr>
    <td>Utente:</td><td><input type="text" name="nome" size="25" maxlength="25" value="" required></td>
    </tr><tr>
    <td>Password:</td><td><input type="password" size="25"required >
    </td>
    </tr><tr>
    <tr><td></td><td><input type="submit" value="Invia i Dati" onsubmit="utente(this.form)"><input type=reset value="Annulla"></td></tr>
    </table>
    </form>
    anche correggendo cosi non va' lasciando il metodo action sul form se inserisco credenziali errate parte comunque verso l'ftp se tolgo il metodo action come suppongo debba essere lo script non va' sembra proprio non essere eseguito

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Fai cosi che facciamo prima spiegarti cosa cambiare è più difficile
    codice:
    <script language="javascript" type="text/javascript">
    <!--//
    function utente(myform) {
    if (myform.nome.value!="a"){//se il nome è diverso da [a] mostro l'alert
    alert("Utente errato");
    return false;//blocco la funzione
    }else if (myform.pass.value!="b"){//se la password è diversa da [b] mostro l'alert
    alert("Password errata");
    return false;//blocco la funzione
    }else{
    location.href="ftp://percorso.com/";//i dati sono corretti re-indirizzo 
    }
    }//--></script>
    
    
    <form name="login" action="ftp://percorso.com/" method="post" enctype="text/plain" onsubmit="return utente(this)">
    <table border="0" cellspacing="5" cellpadding="5"><tr>
    <td>Utente:</td><td><input type="text" name="nome" size="25" maxlength="25" value="" required></td>
    </tr><tr>
    <td>Password:</td><td><input type="password" name="pass" size="25" required>
    </td>
    </tr><tr>
    <tr><td></td><td><input type=submit value="Invia i Dati"><input type=reset value="Annulla"></td></tr>
    </table>
    </form>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Fai cosi che facciamo prima spiegarti cosa cambiare è più difficile
    codice:
    <script language="javascript" type="text/javascript">
    <!--//
    function utente(myform) {
    if (myform.nome.value!="a"){//se il nome è diverso da [a] mostro l'alert
    alert("Utente errato");
    return false;//blocco la funzione
    }else if (myform.pass.value!="b"){//se la password è diversa da [b] mostro l'alert
    alert("Password errata");
    return false;//blocco la funzione
    }else{
    location.href="ftp://percorso.com/";//i dati sono corretti re-indirizzo 
    }
    }//--></script>
    
    
    <form name="login" action="ftp://percorso.com/" method="post" enctype="text/plain" onsubmit="return utente(this)">
    <table border="0" cellspacing="5" cellpadding="5"><tr>
    <td>Utente:</td><td><input type="text" name="nome" size="25" maxlength="25" value="" required></td>
    </tr><tr>
    <td>Password:</td><td><input type="password" name="pass" size="25" required>
    </td>
    </tr><tr>
    <tr><td></td><td><input type=submit value="Invia i Dati"><input type=reset value="Annulla"></td></tr>
    </table>
    </form>
    grazie cosi funziona ovviamente :-)
    Se volessi modificarlo con una sorta di case of che preveda 4 utenti con relativa password ?

  6. #6
    da qualche prova che ho effettuato sembra che il location.href non venga considerato infatti se lo cambio quello che continua a "comandare" è l'action del form. Come mai? Cosa mi sfugge? Teoricamente l'action del form non dovrebbe poter essere lasciato vuoto?

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sei consapevole che questo tipo di protezione è inutile vero?
    E che il javascript essendo un linguaggio lato client è visibile pertanto by-passabile?
    E che ambisci ad un minimo di protezione devi usare un linguaggio lato server (PHP, ASP, JSP, etc...)!
    Detto questo vuoi proseguire comunque con questa "stupidaggine"?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    consapevolissimo :-) era solo a titolo di curiosita' personale tutto qui volevo capire in cosa sbagliavo ovviamente per applicazioni serie userei php e mysql con sessioni e pwd cifrate

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A ok, per approfondire js e toglierti dubbi e/o curiosità e meglio scaricarsi una guida o comprarsi un libro
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Certo! Unica cosa anche se è un'applicazione fine a se stessa potresti chiarirmi questo:

    sembra che il location.href non venga considerato infatti se lo cambio quello che continua a "comandare" è l'action del form. Come mai? Cosa mi sfugge? Teoricamente l'action del form non dovrebbe poter essere lasciato vuoto?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.