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

    sempre problemi con il login..

    vorrei fare un login il + semplice possibile per un progettino per l'uni..una volta capito vorrei passare a qlc di + affidabile e sicuro.

    ho un file login.php

    Codice PHP:
    <FORM name="dati" method="POST" onreset="return confirm('Sei sicuro di voler cancellare i campi?')" action="inviologin.php">
                <
    span style="float: left;">Username:</span>
                <
    span style="float: right;"><input name='username' type='text'></span>
                


                <
    span style="float: left;">Password:</span>
                <
    span style="float: right;"><input name='password' type='password'></span>
                


                <
    INPUT type="submit" value="Login"> <INPUT type="reset">
    </
    FORM
    il quale richiama inviologin.php

    Codice PHP:
    if($_POST['username']!="" AND $_POST['password']!=""){
        
    //$sql = "SELECT * FROM utente WHERE username='{$_POST['username']}' and password = '".md5($_POST['password'])."' ";
        
    $sql "SELECT * FROM utente WHERE username='{$_POST['username']}' and password = '{$_POST['password']}' ";
        
    $rs $db->query($sql);
        
    $row $rs->fetchRow(DB_FETCHMODE_ORDERED);
        
    $count=$rs->numRows();
        if(
    $count!=0){
            
    session_start();
            
    $_SESSION['id']=$row[0];
            
    $_SESSION['username']=$row[1];
            
    header("location:index.php");
        }else{
            
    header("location:login.php");
            echo  
    "Login non Effettuato!
    "
    ;
            echo 
    "Hai inserito Username o Password non validi, ti preghiamo di controllare e riprovare!";
        }
    }else{
        
    header("location:login.php");
        echo 
    "Login non Effettuato!
    "
    ;
        echo 
    "Rimepire i Campi Lasciati Vuoti!
    "
    ;

    e poi logout

    Codice PHP:
    session_start();
    session_destroy();
    header("location:login.php"); 
    poi ho fatto due funzioni:

    Codice PHP:
    function stampalogin(){

        if(!isset(
    $_SESSION['username'])){
            echo 
    '[url="login.php"]<h2>Login</h2>[/url]
            Fai il [url="login.php"]login[/url] o [url="registrazione.php"]registrati[/url] gratuitamente.'
    ;
        }
        else{
            echo 
    '[url="mio.php"]<h2>'.$_SESSION['username'].'</h2>[/url][url="logout.php"]Logout[/url]';

        }


    e un altro che richiamo prima di ogni pagina ma che nn mi funziona:

    Codice PHP:
    function iniziaSessione(){

        if (!isset(
    $_SESSION['username'])) {
            
    header("location:login.php");

        } 

    cos'è che sbaglio?

    che tranverie trovate?
    tutti i consiglio sono graditi.
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  2. #2
    magari è una stupidata...ma quella funzione iniziaSessione(); la richiami dopo session_start(); ?
    no perchè se no non funziona...

  3. #3
    in ogni pagina richiamo solo iniziasessione.. forse devo mettere session star dentro?
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  4. #4
    eh si

    la pagina dovrebbe iniziare in questo modo solitamente:

    <?php
    @session_start();
    if (!isset($_SESSION['Username'])){
    header('location:login.php');
    exit;
    }

    ....etc

    ?>

  5. #5
    ho modificato la funzione:

    Codice PHP:
    function iniziaSessione(){
        
    session_start();
        if (!isset(
    $_SESSION['username'])) {
            
    header("location:login.php");

        } 

    ora funziona tutto correttamente..che ne dite?
    vi sembra un buon metodo?

    in pratica prima di ogni pagina chiamo questa funzione...
    se non è loggato manda alla pagina login.php se no non fà niente e quindi visualizzo il codice che segue la pagina.
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  6. #6
    le mie pagine iniziano così:

    Codice PHP:
    <?php
    require_once ( $_SERVER['DOCUMENT_ROOT']."/progetto/includes/auth.lib.php" );
    iniziaSessione();..................................
    dove andare bene lo stesso?
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  7. #7
    problema..nella funzione

    Codice PHP:
    function iniziaSessione(){
        
    session_start();
        if ((!isset(
    $_SESSION['username']))||(!isset($_SESSION['username']))) {
            
    header("location:login.php");

        }else{
            
    $_SESSION['id'];
            
    //echo 'X'. $_SESSION['id'];
        
    }

    se non metto la parte else anche se a me sembra inutile ogni volta che aggiorno mi somma +1 all'id..nn capisco come mai..mentre $_SESSION['username'] è sempre giustamente uguale..
    che ne dite?
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  8. #8
    ho risolto..era una cacchiata...usavo la var $id ecco perchè mi cambiava..
    Sondaggi retribuiti, omaggi, sconti, regali, lottere?Tutte le risorse gratuite in rete? =>Sfrutta la rete..

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Per rendere il login più sicuro puoi anche fare cosi per evitare la sql injection.

    codice:
    $md5user = md5($_POST['username']);
    $md5pass = md5($_POST['password']);
    $sql = "SELECT * FROM utente WHERE md5(username)='$md5user' and md5(password) = '$md5pass' ";
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.