Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Login form in pagina html

    Salve a tutti, chiedo subito scusa del post ma anche se ci sono molti esempi e discussioni io non sono in grado di risolvere questo problema, premetto che sono un neofita.
    Vengo al dunque:

    In una pagina html dovrei inserire un login form per accedere ad una pagina riservata dove ci saranno dei documenti in pdf da scaricare.
    Il login non deve avere user id ma solo la password, il modulo di accesso mi appare in un overlay.
    fino ad ora sono riuscito a fare tutto dal lato html sia i form che l'overlay ma quando inserisco lo script php(senza database, molto semplice), sorgono i problemi.
    io vorrei che:
    la password sia salvata nelle cookie per 15 giorni
    se la password è giusta automaticamente si va alla pagina download_privato.html
    (e fino a qui, forse ci sono arrivato forse ... molto forse)
    se la password è sbagliata in un campo di testo sotto al modulo (nella stessa pagina)mi deve apparire un messaggio di errore, invece il php fino qui usato mi dà il messaggio in una nuova pagina...
    qualcuno mi può aiutare avrei bisogno di sapere il codice php da inserire in un file esterno es login.php oppure anche all'interno della pagina e il codice php che devo inserire nella pagina privata.
    avevo scaricato dal sito html.it anche questo esempio:
    http://www.html.it/articoli/un-form-...in-vibrante-1/
    che mi funziona bene come messaggi di errore e di riuscita ma non riesco a dirgli di andare alla pagina privata se il login è buono
    Grazie mille a tutti
    Ciao

  2. #2
    ho sbagliato la sezione del forum invece di php ho messo il messaggio in css e non posso spostarlo o cancellarlo

  3. #3
    La password è unica o ce ne sono diverse????
    Ad ogni modo, ti rispondo per quello che è il problema lato-PHP.

    La form punta ad uno script PHP, poniamo si chiami login.php.

    Codice PHP:
    // codice login.php
    // recuperi la variabile passata dalla form (passowrd)
    $password $_POST['password'];
    $password_OK "abcdef"// la password giusta per entrare

    // scadenza cookie 15 giorni da ora
    $expire time()+60*60*24*15;
    // salvo nel cookie
    setcookie ($password$password$expire);

    if (
    $password === $password_OK) {
       
    header('Location: download_privato.html');
    } else {
       
    header('Location: index.html');

    Lo script è scritto al volo qui, ma è per farti vedere.
    Ti dico subito qualche criticità.
    1° - se la pagina di download privato è in HTML, non puoi inserirci alcun controllo lato PHP, per cui chiunque conosca l'indirizzo della pagina, vi può accedere direttamente senza fare il login!
    2° -Una procedura di login del genere, senza alcun controllo di sicurezza non solo è facilmente aggirabile, ma direi che è potenzialmente pericolosa!

    La questione del messaggio di errore in caso di mancato login, senza far ricaricare la pagina, la puoi fare solo con AJAX.
    PHP, per forza, ti obbliga a ricaricare la pagina.
    Ad ogni modo, nel redirect per password errata di cui sopra, puoi prevedere di aggiungere all'indirizzo una variabile GET, che recupererai in index.html per mostrare o meno il messaggio di errore.

    Ultimissima cosa e prendila non come una critica, ma come un consiglio.
    Forse è il caso, prima di cimentarsi in un login PHP, che ti leggi qualche tutorial e libretto di basi del linguaggio.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    ciao, grazie mille per le dritte, comunque sono riuscito a risolvere il problema del messaggio utilizzando l'esempio che avevo postato sopra, funziona in jc, sono riuscito anche a far reindirizzare alla pagina protetta implementando un redirect nel codice jc.
    ti chiedo un consiglio:
    nel php di controllo password ho inserito il codice per salvare le cookie:

    setcookie('login',"OK",time()+3600,"/");

    la pagina privata.php l'ho scritta così:


    <?PHP
    if ($_COOKIE["login"] == "OK")
    {
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    Tutto il sito da qui in poi.......
    </body>
    </html>


    <?PHP
    }
    else
    {
    ?>



    Accesso negato!</p>

    <?PHP
    }
    ?>

    Secondo il tuo parere va bene? ho provato mi sembra funzionare..
    Per il tuo consiglio di leggere qualcosa prima di cimentarsi in queste cose l'ho preso seriamente e sto provvedendo, grazie ciao

  5. #5
    Se hai risolto in JavaScript, va bene, ma è sia off-topic (questo è il forum sbagliato), sia formalmente esatto ma assolutamente inutile, visto che un utente mediamente bravo potrebbe by-passare i controlli, oppure uno particolarmente preoccupato di prendere virus, potrebbe avere disabilitato javascript dal proprio browser.

    Per quello che riguarda il PHP, non capisco come mai chiudi il tag HTML prima del codice PHP.
    Ricordati, e è nelle prime pagine di tutti i tutorial/libri sul linguaggio, che PHP è un linguaggio di programmazione lato server definito html-embedded!
    Restituisce perciò codice HTML e quindi la dichiarazione:
    codice:
    </body>
    </html>
    Deve essere posta al di sotto della chiusura dell'IF!
    I browser potrebbero anche interpretare il tuo codice, ma è formalmente sbagliato.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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 © 2025 vBulletin Solutions, Inc. All rights reserved.