Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154

    pagine login - logout php principiante

    Ciao a tutti come da titolo, sono un principiante per quanto riguarda il php, me la cavo meglio con html - css ma con php sono proprio agli inizi...per questo ho bisogno del vostro aiuto.

    inanzitutto vi posto i link di 2 file php che ho inserito su un mio spazio web con rispettivo codice...

    premessa, la parte php del codice non è mia, mi è stata data, html css sono miei . Scusate in anticipo per la brutta indentazione del codice, ma mi piace essere disordinato

    login.php - http://allypage.net23.net/login.php

    codice:
    <?php 
    session_start(); 
    $password="giulio8";    /* inserire su questa riga la password voluta */
    if (isset($_SESSION['login'])) { 
        if (isset($_POST['logout'])) {
            unset($_SESSION['login']);
            $messaggio = "Logout effettuato con successo! Arrivederci!";
        } else {
            header("Location: protetta.php"); 
        } 
    } else {
        if (isset($_POST['password'])) {
            if ($_POST['password'] == $password) {
                $_SESSION['login'] = "verificata";
                header("Location: protetta.php");
            } else {
                $messaggio = "Errore: password non corretta!";
            }
        } 
    }
    ?>
    
    <html>
    <head>
    <style type="text/css">
    table 
    {
        *border-collapse: collapse; /* IE7 and lower */
        border-spacing: 0;
        width: 20%;   
     background:#dddddd !important; /* For IE*/ 
    }
    .bordered {
        border: solid #ff0000 1px;
        -moz-border-radius: 6px;
        -webkit-border-radius: 6px;
        border-radius: 6px;
     behavior: url(border-radius.htc);
        -webkit-box-shadow: 0 1px 1px #ccc; 
        -moz-box-shadow: 0 1px 1px #ccc; 
        box-shadow: 0 1px 1px #ccc;         
    }
    .bordered tr:hover {
        background: #dddddd;
        -o-transition: all 0.1s ease-in-out;
        -webkit-transition: all 0.1s ease-in-out;
        -moz-transition: all 0.1s ease-in-out;
        -ms-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;     
    } 
    .bordered td, .bordered th {
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
        padding: 10px;
        text-align: left;    
    }
    .bordered th {
        background-color: #dce9f9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
        background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
        -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; 
        -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;  
        box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;        
        border-top: none;
        text-shadow: 0 1px 0 rgba(255,255,255,.5); 
    }
    .bordered td:first-child, .bordered th:first-child {
        border-left: none;
    }
    .bordered th:first-child {
        -moz-border-radius: 6px 0 0 0;
        -webkit-border-radius: 6px 0 0 0;
        border-radius: 6px 0 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered th:last-child {
        -moz-border-radius: 0 6px 0 0;
        -webkit-border-radius: 0 6px 0 0;
        border-radius: 0 6px 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered th:only-child{
        -moz-border-radius: 6px 6px 0 0;
        -webkit-border-radius: 6px 6px 0 0;
        border-radius: 6px 6px 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered tr:last-child td:first-child {
        -moz-border-radius: 0 0 0 6px;
        -webkit-border-radius: 0 0 0 6px;
        border-radius: 0 0 0 6px;
    }
    .bordered tr:last-child td:last-child {
        -moz-border-radius: 0 0 6px 0;
        -webkit-border-radius: 0 0 6px 0;
        border-radius: 0 0 6px 0;
     behavior: url(border-radius.htc);
    }
    </style>
    </head>
    <body>
    <table class="bordered" style="margin:200px auto;">
    <tr>
    <td>
    <center>
    <img src="DA INSERIRE" width="300" height="50">
    <br><br>
    
    <form name="login" action="login.php" method="post">Password :
    <input type="password" name="password" value=""/> &nbsp; <input type="submit" value="Entra"/>  <!---- form login ----->
    
    <br><br>
    <?php 
    if(isset($messaggio)) {
        echo $messaggio;
        unset($messaggio);
    } 
    ?>
    </form>
    </center>
    </td>
    </tr>
    </table>
    
    
    
    
    </p>
    </body>
    </html>
    protetta.php - http://allypage.net23.net/protetta.php

    codice:
    <?php 
    session_start(); 
    if (!isset($_SESSION['login'])) { 
        header("Location: login.php"); 
    }
    ?>
    
    <html>
    <head>
    </head>
    <body>
    
    <div align="right">
    <form name="logout" action="login.php" method="post">
    <input type="hidden" name="logout" value="esci"/>
    <input type="submit" value="Logout"/>
    </form>
    </div>
    
    </body>
    </html>
    Per quanto riguarda la prima parte, del login, dopo che ho deciso la password che i miei utenti devono avere per accedere, nel mio caso "giulio8" , e una volta data ai miei utenti, i miei utenti se inseriranno la password giusta potranno tranquillamente accedere e verrano spediti sulla pagina protetta.php, nel caso contrario riceveranno il messaggio d errore password errata etc ...

    1.la prima cosa che io voglio fare è inserire anche l'usurname durante il login.. se i miei utenti inoltre sbagliano o dimenticano di compilare correttamente uno dei 2 campi usurname o password voglio che mi salta fuori un messaggio del tipo "usurname o password errati!"... si può fare ciò ?=)

    2.quando effettuo il login vengo riportato nella pagina protetta.php..in questa pagina in alto a destra ho un bottone che mi permette di disconettermi, e che mi riporta alla pagina di login...sotto il form , una volta disconnesso mi viene dato un messaggio "Logout effettuato con successo! Arrivederci!" ...il mio intento è di fare la stessa cosa quando effettuo il login..ovvero inserisco i dati negli appositi campi...effettuo il login e voglio che mi salta fuori , una scritta del tipo "connessione effettuata" e con un countdown sotto tipo 3.2.1...non voglio insomma che mi riporti subito sulla pagina protetta.php...si può fare anche questo ?=) spero di essermi spiegato bene

    3. a questo punto mettiamo caso io abbia un mio spazio web del tipo http://miosito.it/sito/
    e all interno di questo spazio possiedo una serie di pagine html.... vorrei usare i file php sopra citati per accedere a questo mio spazio web... vorrei che i miei utenti una volta recatosi sul mio sito http://miosito.it/sito/ vengano riportati in automatico su http://miosito.it/sito/login.php in modo tale che se non effettuano prima l accesso, non possono accedere ai files html presenti nella root sito... una volta effettuato l accesso i miei utenti vengono riportati sulla home che sarà tipo http://miosito.it/sito/index.html .... si può fare tutto questo? se si come? presumo non basti inserire i file login.php e protetta.php all interno della root /public_html/sito/ ..
    ps: inoltre so che si deve inserire un file robots.txt all interno della stessa root, potreste darmi anche qualche aiutano in merito?

    4.per quanto riguarda al file protetta.php ... mi piacerebbe che una volta effettuato l'accesso, quel tasto di logout , venga incorporato su qualsiasi pagina html io apra all interno del mio sito...si può fare? o mi tocca inserire il codice di protetta.php su ogni pagina html presente sul mio sito?

    grazie a tutti in anticipo , scusate per il poema

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    117
    Ti aiuto in parte perch� anche io sono agli inizi.
    Per il login - 1 dovresti creare una tabella (utenti) all'interno di un database che contenga tutti gli utenti. Sai di che si tratta e come si fa?
    Le colonne ad esempio sarebbero id, utente, password.
    Nel form aggiungi ovviamente gli input per nome utente e password:
    codice HTML:
    <input type="text" name="username">
    <input type="password" name="password">
    Poi nel php del login sostituisci
    codice HTML:
    $password="giulio8";
    con una query che prenda la password specifica dell'utente.
    Codice PHP:
    $query = @mysql_query("SELECT password FROM utenti WHERE username = $POST_['username']") or die (mysql_error());
    while (
    utente=mysql_fetch_array($query))
    {
    $password $utente['password']

    A questo punto il controllo if che hai messo va gi� bene.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    per quanto riguarda il primo punto, sto provando ad inserire anche l'usurname ma continuo a ricevere errori di sintassi dalla linea 13 ...

    codice:
     
    <?php 
    session_start(); 
    $usurname="sito";    /* inserire su questa riga l'usurname voluto */
    $password="giulio8";    /* inserire su questa riga la password voluta */
    if (isset($_SESSION['login'])) { 
        if (isset($_POST['logout'])) {
            unset($_SESSION['login']);
            $messaggio = "Logout effettuato con successo! Arrivederci!";
        } else {
            header("Location: protetta.php"); 
        } 
    } else {
        if (isset($_POST['usurname']) {
            if ($_POST['usurname'] == $usurname)
        || (isset($_POST['password']) {
            if ($_POST['password'] == $password)
        
            {
                $_SESSION['login'] = "verificata";
                header("Location: protetta.php");
            } else {
                $messaggio = "Errore: usurname o password non corretti!";
            }
        } 
    }
    ?>
    ho provato a usare precedentemente il tipo di annidamento
    codice:
    if ( (isset($_POST['id'])) &&  (isset($_POST['idd'])) )
    {echo "etc, etc..";}
    


    ma sembra non funzionare o almeno io non riesco ... mi serve proprio una mano

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    Quote Originariamente inviata da fluxKami Visualizza il messaggio
    Ti aiuto in parte perch� anche io sono agli inizi.
    Per il login - 1 dovresti creare una tabella (utenti) all'interno di un database che contenga tutti gli utenti. Sai di che si tratta e come si fa?
    Le colonne ad esempio sarebbero id, utente, password.
    Nel form aggiungi ovviamente gli input per nome utente e password:
    codice HTML:
    <input type="text" name="username">
    <input type="password" name="password">
    Poi nel php del login sostituisci
    codice HTML:
    $password="giulio8";
    con una query che prenda la password specifica dell'utente.
    Codice PHP:
    $query = @mysql_query("SELECT password FROM utenti WHERE username = $POST_['username']") or die (mysql_error());
    while (
    utente=mysql_fetch_array($query))
    {
    $password $utente['password']

    A questo punto il controllo if che hai messo va gi� bene.
    Ciao FluxKami intanto grazie per la risposta...si so cosè un database...ma il mio intento era quello di bloccare l'accesso e la visualizzazione alle mie pagine a chi non possiede l usurname e la password che io ho scelto...i miei utenti non dovranno registrarsi, ma semplicemente accedere con usurname e password che io ho scelto per poter visualizzare le mie pagine..quindi non penso occorre un database

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    ragazzi il punto 3 l ho risolto in parte, aggiungendo all interno di ogni pagina html presente sul mio spazio web il codice di protetta.php... adesso quando provo infatti a raggiungere una pagina all interno del mio sito ad esempio http://miosito.it/sito/PAGINA1.html , se prima non ho effettuato l'accesso mi riporta su login.php... il problema è che dopo aver effettuato l accesso, non mi porta sulla pagina che io desideravo aprire ma su protetta.php ... come posso risolvere questa cosa?
    Ultima modifica di Punix; 20-02-2017 a 15:14

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    ok raga da solo dopo ore ore di girare su internet e leggere un paio di guide sono riuscito a risolvere in pratica i punti 2-3-4 .. ho aggiunto il codice di protetta.php dentro ogni pagina html presente sul mio sito ho fatto qualche modifica al codice di login.php per il rendirizzamento a tempo ecc il codice ora si presenta cosi:

    codice:
     
    
    <?php 
    session_start(); 
    $password="giulio8";    /* inserire su questa riga la password voluta */
    if (isset($_SESSION['login'])) { 
        if (isset($_POST['logout'])) {
            unset($_SESSION['login']);
            $messaggio = "Logout effettuato con successo! Arrivederci!";
        } else {
            header("Location: protetta.php"); 
        } 
    } else {
        if (isset($_POST['password'])) {
            if ($_POST['password'] == $password) {
                $_SESSION['login'] = "verificata";
                $newpage = 'http://miosito.it/sito/index.htm';   
                header('Refresh: 3; url=' . $newpage);
                $messaggio = "Accesso effettuato.Tra 3 secondi verrai reindirizzato alla home del sito.";
                
            } else {
                $messaggio = "Errore: password non corretta!";
            }
        } 
    }
    ?>
    
    <html>
    <head>
    <style type="text/css">
    table 
    {
        *border-collapse: collapse; /* IE7 and lower */
        border-spacing: 0;
        width: 20%;   
     background:#dddddd !important; /* For IE*/ 
    }
    .bordered {
        border: solid #ff0000 1px;
        -moz-border-radius: 6px;
        -webkit-border-radius: 6px;
        border-radius: 6px;
     behavior: url(border-radius.htc);
        -webkit-box-shadow: 0 1px 1px #ccc; 
        -moz-box-shadow: 0 1px 1px #ccc; 
        box-shadow: 0 1px 1px #ccc;         
    }
    .bordered tr:hover {
        background: #dddddd;
        -o-transition: all 0.1s ease-in-out;
        -webkit-transition: all 0.1s ease-in-out;
        -moz-transition: all 0.1s ease-in-out;
        -ms-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;     
    } 
    .bordered td, .bordered th {
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
        padding: 10px;
        text-align: left;    
    }
    .bordered th {
        background-color: #dce9f9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
        background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
        -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; 
        -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;  
        box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;        
        border-top: none;
        text-shadow: 0 1px 0 rgba(255,255,255,.5); 
    }
    .bordered td:first-child, .bordered th:first-child {
        border-left: none;
    }
    .bordered th:first-child {
        -moz-border-radius: 6px 0 0 0;
        -webkit-border-radius: 6px 0 0 0;
        border-radius: 6px 0 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered th:last-child {
        -moz-border-radius: 0 6px 0 0;
        -webkit-border-radius: 0 6px 0 0;
        border-radius: 0 6px 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered th:only-child{
        -moz-border-radius: 6px 6px 0 0;
        -webkit-border-radius: 6px 6px 0 0;
        border-radius: 6px 6px 0 0;
     behavior: url(border-radius.htc);
    }
    .bordered tr:last-child td:first-child {
        -moz-border-radius: 0 0 0 6px;
        -webkit-border-radius: 0 0 0 6px;
        border-radius: 0 0 0 6px;
    }
    .bordered tr:last-child td:last-child {
        -moz-border-radius: 0 0 6px 0;
        -webkit-border-radius: 0 0 6px 0;
        border-radius: 0 0 6px 0;
     behavior: url(border-radius.htc);
    }
    </style>
    </head>
    <body>
    <table class="bordered" style="margin:200px auto;">
    <tr>
    <td>
    <center>
    <img src="http://i.imgur.com/hxvbojK.png" width="300" height="50">
    <br><br>
    
    <form name="login" action="login.php" method="post">Password :
    <input type="password" name="password" value=""/> &nbsp; <input type="submit" value="Entra"/>  <!---- form login ----->
    
    <br><br>
    <?php 
    if(isset($messaggio)) {
        echo $messaggio;
        unset($messaggio);
    } 
    ?>
    </form>
    </center>
    </td>
    </tr>
    </table>
    
    
    
    
    </p>
    </body>
    </html>
    mi manca soltanto il punto 1, ovvero voglio che durante il login oltre la password mi si chiede l'usurname ... non riesco a fare quell annidamento sull IF ... qualcuno puo darmi na mano ? grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    117
    Se vuoi semplicemente aggiungere un username fisso, aggiungi il campo input come ti ho detto prima e sotto a
    $password = "giulio8";
    aggiungi
    $username = "quellochevuoi";
    Poi al posto di
    Codice PHP:
    if ($_POST['password'] == $password
    metti
    Codice PHP:
    if (($_POST['password'] == $password) && ($_POST['username'] == $username)) 
    Poi se vuoi sistema l'if(isset) allo stesso modo aggiungendo anche l'username.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    grazie mille Flux ho finito!! si può chiudere

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