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

    Login diversificato in base agli utenti

    Salve, sono alle prime armi con il php e sto provando a fare uno script che, in base al nome utente e password inviati tramite POST da un modulo di login, indirizzi l'utente che si logga ad una certa pagina se user, password sono costituite da determinate stringhe e ad altra pagina se user,password e livello corrispondono a derminati valori. Invece riscontro che indipendentemente dal contenuto di user e pass l'utente viene sempre reindirizzato ad una sola pagina, ovvero "Amministrazione.php". Di seguito il codice che ho scritto:

    $dati=mysql_query("SELECT * FROM registrati WHERE username='$username' AND password='$password' AND livello='1'");
    $admin=mysql_query("SELECT * FROM registrati WHERE username='xxxxxxx' AND password='XXXXX' AND livello='0'");
    $num=mysql_num_rows($dati);
    $veramministratore=mysql_num_rows($admin);
    if($veramministratore==1)
    {
    header("Location: Amministrazione.php");
    break;
    }

    elseif($num==1)
    {
    $_SESSION["utente"]=$username;
    header("Location: Prova.php");}
    else
    {
    header("Location: Prova2.php");
    }

    Grazie

  2. #2
    Ho riprovato a cambiare il codice con questo:


    $username=$_POST["username"];
    $password=$_POST["password"];
    $connessione=mysql_connect("$server", "$user", "$pass") or die("impossibile la connessione con il server remoto". mysql_error());
    mysql_select_db("aaaaa");
    $dati=mysql_query("SELECT * FROM registrati WHERE username='$username' AND password='$password'");
    $num=mysql_num_rows($dati);
    if($num==1 AND $username="bbbbb" AND $password="ccccc")
    {
    header("Location: Amministrazione.php");
    }

    elseif($num==1 AND $username!="bbbbb" AND $password!="ccccc")
    {
    header("Location: Zona_riservata.php");
    }
    else
    {
    header("Location: Errato_login.php");
    }

    Vengo sempre diretto o alla pagina "Errato_login.php" nel caso che username o password non siano presenti nel database o alla pagina "Amministrazione.php" sia che username e password sono uguali o differenti rispettivamente a "bbbbb" e "ccccc".

    Chi mi aiuta?

    Grazie

  3. #3
    Io ti consiglio una buona lettura di una guida php prima di iniziare x tentativi...

    Tanto per restare nel sito in cui ti trovi:
    Guida PHP base
    Guida PHP pratica

    Concentrati sulle connessioni ai db mysql...

    Buono studio!

    ***************************
    Non può piovere per sempre...
    ***************************

  4. #4
    Ho già letto le guide ed ho anche comprato un libro sul php. Tant'è che il secondo codice che ho scritto l'ho rielaborato da un manuale di php dell'Apogeo...

    Altri suggerimenti?

  5. #5
    ....up :master:

  6. #6
    Ciao,
    allora, una serie di passi:
    1) La connessione al DB: ti funziona? riesci a leggere i valori di username e password? (perché se non riesci a leggerli ovviamente non puoi confrontarli con quelli inseriti dall'utente).
    2) I dati passati dal form riesci a leggerli?
    3) Dove devono andare a finire gli utenti che sono entrati come "Amministratori"? Dove quelli come utenti? Dove quelli che non sono ne' l'uno ne' l'altro?

    Definiti questi punti puoi disegnare le tue pagine...

    La prima raccoglie i dati dell'utente
    La seconda confronta i dati con quelli nel db
    Le terze sono quelle su cui ridirigi a seconda del tipo di login.

    Semplifica il problema con dei disegni dei flussi, fai del buon debug e vedrai che tutto ti riuscirà!

    Se poi hai bisogno di aiuto... siamo qui x questo! Ma non chiedere a qualcuno prima di aver provato a sbagliare da solo senno' non imparerai mai (consiglio da chi ha imparato così e che continua ad imparare...)

    Saluti
    Luca
    ***************************
    Non può piovere per sempre...
    ***************************

  7. #7
    Dopo innumerevoli prove ho risolto. Il problema era alquanto semplice, ma anche insidioso :berto: Infatti sulla pagina "Zona_riservata.php" avevo messo un controllo su una variabile di sessione che veniva passata dal file contente lo script che ho sopra postato; il problema stava nel fatto che, inavvertitamente avevo tolto la riga $_SESSION['user'] e quindi non inviavo alcuna sessione. Ora tutto funziona
    Grazie

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.