Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66

    [PHP+SQL]Problema con login

    Codice PHP:
    <?php
    include "config.php";

    $nick $_POST['user']
    $tipo $_POST['tipo']
    $passw $_POST['passw']

    $db mysql_connect($db_host$db_user$db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");


    if (
    $tipo == 'Utente')
     {
        if (isset(
    $nick) AND isset($passw))
          {
          
    $query_login="SELECT * FROM utenti WHERE username='$nick' AND passw='$passw'";
          
    $result mysql_query($query_login$db);
     
          if (
    //COSA DEVO METTERE PER VERIFICARE CHE IL LOGIN SIA RIUSCITO?)
            
    {
            
    // Esiste un record con questi username più(firma)password:
            // inserisco i dati nella sessione
            
    session_start();
            
    $_SESSION['Username']=//COSA METTO QUA PER DEFINIRE IL SID?;
              
    $_SESSION['Grado']=$tipo
          echo 
    "<script>self.location.replace(\"index.php\");</script>";   
            }
           else
              echo 
    "Login Fallito";        
           ;
            }
     }
    else (
    $tipo == 'Amministratore')
     {
        if (isset(
    $nick) AND isset($passw))
          {
          
    $query_login="SELECT * FROM utenti_adm WHERE username='$nick' AND passw='$passw'";
          
    $result mysql_query($query_login$db);
     
          if (
    //COSA DEVO METTERE PER VERIFICARE CHE IL LOGIN SIA RIUSCITO?)
            
    {
            
    // Esiste un record con questi username più(firma)password:
            // inserisco i dati nella sessione
            
    session_start();
            
    $_SESSION['Username']=//COSA METTO QUA PER DEFINIRE IL SID?;  
              
    $_SESSION['Grado']=$tipo

          echo 
    "<script>self.location.replace(\"admin.php\");</script>";  
            }
           else
              echo 
    "Login Fallito";     
           ;
            }
     }

    ?>
    vorrei dei consigli prima di tutto sulla struttura se va bene e tutto, e inoltre cosa devo mettere per verificare ke il login sia avvenuto.

    grazie in anticipo

  2. #2
    beh ci sono un pò di errore eh

    Codice PHP:
    <?php
    include "config.php";

    $nick mysql_real_escape_string($_POST['user']);
    $tipo mysql_real_escape_string($_POST['tipo']);
    $passw mysql_real_escape_string($_POST['passw']);

    $db mysql_connect($db_host$db_user$db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");


    if (
    $tipo == 'Utente')
    {
        if (isset(
    $nick) && isset($passw))
          {
          
    $query_login="SELECT * FROM utenti WHERE username='$nick' AND passw='$passw'";
          
    $result mysql_query($query_login$db);
          
    $num1 mysql_num_rows($result);

          if (
    $num1 == '1')
            {
            
    session_start();
            
    $_SESSION['Username'] = $nick;
            
    $_SESSION['Grado'] = $tipo;

          echo 
    "<script>self.location.replace(\"index.php\");</script>";      
            }
           else {
              echo 
    "Login Fallito.

    Username o Password errati."
    ;        

            } else { echo
    "Inserisci correttamente username e password"; }
    }
    else (
    $tipo == 'Amministratore')
    {
        if (isset(
    $nick) && isset($passw))
          {
          
    $query_login="SELECT * FROM utenti_adm WHERE username='$nick' AND passw='$passw'";
          
    $result mysql_query($query_login$db);
          
    $num1 mysql_num_rows($result);

          if (
    $num1 == '1')
            {

            
    session_start();
            
    $_SESSION['Username'] = $nick;
            
    $_SESSION['Grado'] = $tipo;

          echo 
    "<script>self.location.replace(\"admin.php\");</script>";  
            }
           else {
              echo 
    "Login Fallito. Adminame o password errati";     }

            } else { echo
    "Inserisci correttamente adminame e password"; }
    }

    ?>
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66
    volevo chiederti a cosa serve

    Codice PHP:
    mysql_real_escape_string
    e leggendo qua

    Codice PHP:
    $result mysql_query($query_login$db);
          
    $num1 mysql_num_rows($result); 
    che se il numero di righe è maggiore di 1 il login è fallito, giusto?

    se è così x quale motivo ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66
    cmq grazie per le correzioni ora provo

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66
    oh my god >_>

    mi sono reso conto che non so controllare
    se uno è loggato o no(nelle altre pagine è inteso)
    sai mica darmi una mano?

    sapevo ke devo mettere

    session_Start() in cima alla pagina

    ma poi non so altro >_<

  6. #6
    Originariamente inviato da Download
    volevo chiederti a cosa serve

    Codice PHP:
    mysql_real_escape_string
    a rendere innocue le variabili inviate dall'utente

    Originariamente inviato da Download
    Codice PHP:
    $result mysql_query($query_login$db);
          
    $num1 mysql_num_rows($result); 
    che se il numero di righe è maggiore di 1 il login è fallito, giusto?

    se è così x quale motivo ?
    $num1 ti restituisce il numero di righe in cui nick e password sono quelli inseriti.
    Se c'è ne almeno una allora significa che sono stati inseriti i dati correttamente.


    Originariamente inviato da Download
    oh my god >_>

    mi sono reso conto che non so controllare
    se uno è loggato o no(nelle altre pagine è inteso)
    sai mica darmi una mano?

    sapevo ke devo mettere

    session_Start() in cima alla pagina

    ma poi non so altro >_<
    in tutte le altre pagine inserisci
    Codice PHP:
    session_start();
    if(!isset(
    $_SESSION)) $_SESSION=$HTTP_SESSION_VARS;
    if (!isset(
    $_SESSION['Username'])) header("Location: login.php"); 
    prima di ogni cosa
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66
    ho risolto alcuni errori presenti

    Codice PHP:
    <?
    include ("config.php");//includo informazioni per la connessione

    $nick $_POST['user'];//porto il nome utente dalla variabile post
    $tipo $_POST['tipo'];//porto il tipo dalla variabile post
    $passw $_POST['passw'];//porto la password dalla variabile post

    $db mysql_connect($db_host$db_user$db_password);//mi connetto al database

    if ($db == FALSE)//verifico la connessione
    die ("Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name$db)//seleziono il database e se non viene trovato chiudo la connessione
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");


    if (
    $tipo == 'Utente')//controllo che tipo da login devo usare
    {
        if (isset(
    $nick) && isset($passw))//controllo che il nome utente e la password non siano vuoti
          
    {
          
    $query_login="SELECT * FROM utenti WHERE username='$nick'";//scrivo la query per trovare l'username
          
    $result mysql_query($query_login$db);//scrivo il risultato della query nella variabile result
          
    $utente mysql_num_rows($result);//controllo se l'utente è presente nella tabella se il valore è 0 non esiste se è 1 esiste
          
    $utentep=mysql_fetch_array($result);//prendo le informazioni dell'utente e le inserisco nella variabile utentep(dentro ci sarà la password

              
    if ($utente == '1')//controllo che il nome utente sia giusto
              
    {
                 if (
    $utentep['passw']==$passw)//controllo che la password messa corrisponda al nome utente
                 
    {
                 
    session_start();//apro la sessione
                 
    $_SESSION['Username'] = $nick;
                 
    $_SESSION['Grado'] = $tipo;

                 echo 
    "Login utente riuscito"//confermo il login
                 
    }
              }  else  {
                 echo 
    "Login Fallito.

    Username o Password errati."
    ;        
              } 
         }
     } elseif (
    $tipo == 'Amministratore') {//controllo che tipo da login devo usare
        
        
    if (isset($nick) && isset($passw))//controllo che il nome utente e la password non siano vuoti
          
    {
          
    $query_login="SELECT * FROM utenti_adm WHERE username='$nick'";//scrivo la query per trovare l'username
          
    $result mysql_query($query_login$db);//scrivo il risultato della query nella variabile result
          
    $utente mysql_num_rows($result);//controllo se l'utente è presente nella tabella se il valore è 0 non esiste se è 1 esiste
          
    $utentep=mysql_fetch_array($result);//prendo le informazioni dell'utente e le inserisco nella variabile utentep(dentro ci sarà la password
          
          
              
    if ($utente == '1')//controllo che il nome utente sia giusto
              
    {
                 if (
    $utentep['passw']==$passw)//controllo che la password messa corrisponda al nome utente
                 
    {
                 
    session_start();//apro la sessione
                 
    $_SESSION['Username'] = $nick;
                 
    $_SESSION['Grado'] = $tipo;

                 echo 
    "Login amministratore riuscito";//confermo il login
                 
    }
              } else {
                 echo 
    "Login Fallito.

    Username o Password errati."
    ;        
              } 
         }
     }

    ?>
    ringrazio tutti per l'aiuto, se riesco a far controllare ke la sessione sia attiva vi informo

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    66
    grazie

    il codice

    Codice PHP:
    mysql_real_escape_string
    mi da un errore e quindi l'ho omesso

    ora provo invece a vedere se riesco a usare il codice per controllare ke la sessione sia aperta

    volevo chiederti ancora se sai come faccio a codificare la password con l'md5

    grazie ancora

  9. #9
    Originariamente inviato da Download
    grazie

    il codice

    Codice PHP:
    mysql_real_escape_string
    mi da un errore e quindi l'ho omesso

    ora provo invece a vedere se riesco a usare il codice per controllare ke la sessione sia aperta

    volevo chiederti ancora se sai come faccio a codificare la password con l'md5

    grazie ancora
    che errore ti da?

    cmq per quanto riguarda md5 è una criptazione unidirezionale, cioè non potrai mai più risalire alla password. Nel caso volessi invece criptare e decriptare ti consiglio l'ottima pillola che c'è qui nel forum
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

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.