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

Discussione: ancora login

  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    ancora login

    So che è un argomento trito e ritrito, e per questo chiedo scusa in anticipo, ma c'è qualcosa che ancora mi sfugge...

    io uso questo per fare il login

    Codice PHP:
    <?php
    session_start
    ();
    $utente $_REQUEST['user'];
    $pass $_REQUEST['psw'];
    $_SESSION['user'] = $utente;
    $_SESSION['psw'] = $pass;

    include
    "config.php";
    dbconnect();
    if (!isset(
    $verified_user)) $verified_user='';
    if (
    $_REQUEST['action']=='login') {
        
    $result=mysql_query("SELECT utente FROM login WHERE utente='".$_REQUEST['user']."' AND pass='".$_REQUEST['psw']."'");
        if (
    mysql_num_rows($result)>0) list($verified_user)=mysql_fetch_row($result);
        else 
    $verified_user='';
    }

    $_SESSION['verified_user'];

    if(
    $verified_user != ''){    
          print
    "Bentornato";
        print 
    "<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";    
        }else{
        print
    "Utente Sconosciuto";
        print 
    "<meta http-equiv='refresh' content='2; url=modifica.php'>";
        
        
    mysql_close($conn);
    }
    ?>
    e fino a qui sembra funzionare, non riesco però a fare in modo che se entro in una pagina riservata senza passare per il login mi venga inibito l'accesso!!!

    Ho provato ad inserire questo nelle pagine riservate

    Codice PHP:
    session_start();
    if (
    $_SESSION['verified_user'] == '') print "<meta http-equiv='refresh' content='2; url=modifica.php'>"
    ma non accedo più neanche passando per il form di login.

    Ho letto anche la pillola sul login, ma non ho trovato lo stesso una soluzione!!!

  2. #2

  3. #3

    ........

    Ciao.
    Codice PHP:
    $result=mysql_query("SELECT utente FROM login WHERE utente='".$_REQUEST['user']."' AND pass='".$_REQUEST['psw']."'");
        if (
    mysql_num_rows($result)>0) list($verified_user)=mysql_fetch_row($result);
        else 
    $verified_user=''
    Mi sa che per cominciare ti sei dimenticato:
    Codice PHP:
    $num_rows mysql_num_rows($result);
    if(
    $num_rows !== 0)
    {
    //good user

    Nella query recupererei solamente l'id e name dell'user
    poi nel if($num_rows !== 0) inizializzi le session.
    Per rendere le varie pagine private fai una query
    (è meglio se metti il tutto in una function sia
    per l'auth sia per il check)
    utilizzando l'user id.
    Ah metti le parentesi ai vari if e dai nomi
    significativi alle varie vars e pages.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Spero sia l'orario, ma mi sa che sono un po' di coccio

    Allora ho fatto così:

    Codice PHP:
    <?php
    session_start
    ();
    $utente $_REQUEST['user'];
    $pass $_REQUEST['psw'];
    $_SESSION['user'] = $utente;
    $_SESSION['psw'] = $pass;
    include
    "config.php";
    dbconnect();
    if (!isset(
    $verifica_login)) $verifica_login='';
    if (
    $_REQUEST['action']=='login') {
            
    $result=mysql_query("SELECT * FROM login WHERE utente='".$_REQUEST['user']."' AND pass='".$_REQUEST['psw']."'");
    $num_rows mysql_num_rows($result);
    Inserendo le altre righe qui

    Codice PHP:
        if($num_rows !== 0)
        {
            if (
    mysql_num_rows($result)>0) list($verifica_login)=mysql_fetch_row($result);
            else 
    $verifica_login='';        
        }
    }

    $_SESSION['verified_user'];
    print 
    $verifica_login;
    if(
    $verifica_login != ''){    
          print
    "Bentornato"."<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";    
        }else{
        print
    "Utente Sconosciuto"."<meta http-equiv='refresh' content='2; url=modifica.php'>";

        
    mysql_close($conn);
    }
    ?> 
    Ma mi lascia entrare anche senza loggarmi

    Codice PHP:
    session_start();
    if (
    $_SESSION['verified_user'] == '') print "<meta http-equiv='refresh' content='2; url=modifica.php'>"
    mentre se aggiungo questo

    Codice PHP:
    if ($verifica_login == ''header("Location: modifica.php");
    session_register("verifica_login"); 
    non mi fa entrare anche se faccio il login

    Se provo a stampare il risultato di $verifica_login
    Codice PHP:
    print "var".$verifica_login
    ottengo 1 quando passo dal form allo scrpt di login, mentre invece non ottengo nulla quando accedo ad una pagina protetta

  5. #5
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Forse ci sono, ma non so se è corretto ciò che ho fatto...

    ho aggiunto questo per recuperare il valore della variabile

    Codice PHP:
    $verifica_login $_SESSION['verifica_login'];
    $_SESSION['verifica_login'] = $verifica_login
    diciamo che funziona, mi stampa il valore della variabile e non mi butta fuori dalle pagine protette...

  6. #6

    ..........

    Ciao.
    Togli questo (il valore lo hai già !):
    Codice PHP:
     if (mysql_num_rows($result)>0
    da questo punto in poi sei logato:
    Codice PHP:
    if($num_rows !== 0)
        {
    //non recuperi un solo valore 
             
    $row=mysql_fetch_row($result);
    //il valore è in
    $row[0].$row[1etc etc
                 
        

    Codice PHP:
    if($num_rows !== 0)
    //SEI LOGATO
        
    {//non recuperi un solo valore 
             
    $row=mysql_fetch_row($result);
    //il valore è in
    $row[0].$row[1etc etc
    //qui devi inizializzare le session per carità
    //non ci mettere la password 
    $_SESSION['username']=$row[n]//n sta per il numero corrispondente
     
    $_SESSION['userId']=$row[n]//n sta per il numero corrispondente            
        

    else
    {
    //NON SEI LOGATO (Nice try ;) )

    Nelle pagine riservate puoi mettere un semplice
    ti avverto non è il massimo della sicurezza ma ........
    Codice PHP:
    if(!isset($_SESSION['username']))
    {
    //usa le parentesi !
    header("Location: login.php"); /* Redirect browser */

    /* Make sure that code below does not get executed when we redirect. */
    exit;
    }
    codice XHTML e PHP 
    Se vuoi un minimo di sicurezza in +
    $_SESSION['userId'] fai una query
    recuperi username e lo confronti con
    quello che hai nella session pe .....................
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Mi dice sempre utente sconosciuto

    Codice PHP:
    <?php
    session_start
    ();
    $utente $_REQUEST['user'];
    $pass $_REQUEST['psw'];
    $_SESSION['user'] = $utente;
    $_SESSION['psw'] = $pass;
    include
    "config.php";
    dbconnect();
    if (!isset(
    $verifica_login)) $verifica_login='';
    if (
    $_REQUEST['action']=='login') {    
            
    $result=mysql_query("SELECT * FROM login WHERE utente='".$_REQUEST['user']."' AND pass='".$_REQUEST['psw']."'");
            
    $num_rows mysql_num_rows($result);
            if(
    $num_rows !== 0)
            {
                
    $row=mysql_fetch_row($result);
                
    $row[0].$row[1];
                
    $_SESSION['user']=$row[0];//n sta per il numero corrispondente
                
    $_SESSION['Id']=$row[1];//n sta per il numero corrispondente 
                #if (mysql_num_rows($result)>0)    list($verifica_login)=mysql_fetch_row($result);
            
    }else{ 
                
    $verifica_login='';            
                }
    }

    $_SESSION['verified_user'];
    print 
    $verifica_login;
    if(
    $verifica_login != ''){    
          print
    "Bentornato"."<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";    
        }else{
        print
    "Utente Sconosciuto"."<meta http-equiv='refresh' content='2; url=modifica.php'>";

        
    mysql_close($conn);
    }
    ?>

  8. #8
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Scusa avevo fatto un po' di confusione...
    Così mi riconosce e mi fa entrare e funziona alla grande anche il controllo per le pagine protette...

    Codice PHP:
    <?php
    session_start
    ();
    $utente $_REQUEST['user'];
    $pass $_REQUEST['psw'];
    $_SESSION['user'] = $utente;
    $_SESSION['psw'] = $pass;
    include
    "config.php";
    dbconnect();

    if (
    $_REQUEST['action']=='login') {    
            
    $result=mysql_query("SELECT * FROM login WHERE utente='".$_REQUEST['user']."' AND pass='".$_REQUEST['psw']."'");
            
    $num_rows mysql_num_rows($result);
            if(
    $num_rows !== 0)
            {
                
    $row=mysql_fetch_row($result);
                
    $row[0].$row[1].$row[2];
                
    $_SESSION['id']=$row[0];//n sta per il numero corrispondente
                
    $_SESSION['user']=$row[1];//n sta per il numero corrispondente            
                #if (mysql_num_rows($result)>0)    list($verifica_login)=mysql_fetch_row($result);
            
    }else{ 
                
    //NON SEI LOGATO (Nice try ;) ) 
                
    }
    }

    $_SESSION['user'];

    if(
    $_SESSION['user'] != ''){    
          print
    "
    Bentornato"
    ."<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";    
        }else{
        print
    "
    Utente Sconosciuto"
    ."<meta http-equiv='refresh' content='2; url=modifica.php'>";

        
    mysql_close($conn);
    }
    ?>
    Thanks

  9. #9

    .......

    Sostituisci:
    $_SESSION['user'];

    if($_SESSION['user'] != ''){
    print"
    Bentornato"."<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";
    con:
    if(isset($_SESSION['user']))
    {
    print "<meta http-equiv='refresh' content='2; url=scegli_mod.php'>";
    print"<h2>Bentornato :</h2>".$_SESSION['user'];//ci puoi mettere il tag che vuoi

    }
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10

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.