Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 40 di 40

Discussione: Problema Login

  1. #31
    Guest

    Predefinito

    Codice PHP:
    if(isset($_SESSION['username'])){
    $connetto = mysql_query("SELECT * FROM login WHERE username='".$_SESSION['username']."'") or die(mysql_error());
    while(
    $estrai = mysql_fetch_array($connetto)){
    if(
    $estrai['ruolo']=="admin"){
    //Codice della pagina admin
    }else{
    //Accesso non autorizzato
    }
    }else{
    //$_SESSION['username] non è settato
    }
    Così va bene?

  2. #32
    Guest

    Predefinito

    ma il ruolo è già presente nella sezioneche motivo c'è di sprecare una query tanto importante?
    Ultima modifica di Tecnoman : 01-05-2008 alle ore 18.25.21

  3. #33
    Guest

    Predefinito

    Mi da questo errore:
    Parse error: parse error, unexpected T_ELSE in add_article.php on line 28
    add_article.php
    Codice PHP:
    <?php
    require("config.php");



    myheader();

    if(isset(
    $_SESSION['username'])){
    $connetto = mysql_query("SELECT * FROM login WHERE username='".$_SESSION['username']."'") or die(mysql_error());
    while(
    $estrai = mysql_fetch_array($connetto)){

    $connetto2 = mysql_query("SELECT * FROM ruolo WHERE id='".$estrai['ruolo']."'");
    while(
    $estrai2 = mysql_fetch_array($connetto2)) {



    if(
    $estrai2['nome'] == "Admin"){
    //Codice della pagina admin
    echo "<h1>Aggingi Articolo<h1>";
    echo
    "6 Admin";
    }
    // Fine codice della pagina "Admin"
    else{
    echo
    "Non 6 Admin";
    //Accesso non autorizzato
    } // Fine "Non 6 Admin"
    } // Fine $estrai2
    } // Fine $estrai
    else{
    //$_SESSION['username'] non è settato
    echo "Devi fare il Login";
    }
    // Fine "Devi fare il Login"
    } // Fine (non ha la sessione)









    mysql_close($db);

    myfooter();

    ?>
    In pratica se è loggato, è admin allora spunta la pagina, se è loggato ma non è admin allora dice che non ha i permessi e se non è loggato e non ha i permessi dice di fare il login..
    Ma non funziona!
    Grazie!...Ciao Davide! ^^

  4. #34
    Guest

    Predefinito

    Hai sbagliato a mettere le corrispondenze delle parentesi; ecco come dovrebbero essere:
    Codice PHP:
    <?php
    require("config.php");
    myheader();
    if(isset(
    $_SESSION['username'])){
    $connetto = mysql_query("SELECT * FROM login WHERE username='".$_SESSION['username']."'") or die(mysql_error());
    while(
    $estrai = mysql_fetch_array($connetto)){

    $connetto2 = mysql_query("SELECT * FROM ruolo WHERE id='".$estrai['ruolo']."'");
    while(
    $estrai2 = mysql_fetch_array($connetto2)) {
    if (
    $estrai2['nome'] == "Admin"){
    //Codice della pagina admin
    echo "<h1>Aggingi Articolo<h1>";
    echo
    "6 Admin";
    }
    // Fine codice della pagina "Admin"
    else{
    echo
    "Non 6 Admin";
    //Accesso non autorizzato
    } // Fine "Non 6 Admin"
    } // Fine while $estrai2
    } //Fine while $estrai
    } // Fine (non ha la sessione)
    else{
    //$_SESSION['username'] non è settato
    echo "Devi fare il Login";
    }
    // Fine "Devi fare il Login"
    mysql_close($db);
    myfooter();
    ?>

  5. #35
    Guest

    Predefinito

    Non funziona bene mi da "Devi fare il Login" anche se la sessione credo sia settata..
    Ecco il codice:
    login2.php
    Codice PHP:
    <?php

    require("config.php");

    /* session_start();
    if(!session_is_registered(username)){ // Se non è loggato...
    header("location:login.php"); // Redirect...
    }*/
    myheader();




    echo
    "<h1>Login<h1>";


    /*
    #########STRUTTURA#########
    TABELLA: login
    ###########
    DATI: id - username - password - ruolo
    -----------------------------
    TABELLA: ruolo
    ###########
    DATI: id - nome
    */

    if(isset($_POST['loginok'])) {

    $username = $_POST['username']; // username
    $password = $_POST['password']; // password



    $result = mysql_query("SELECT username FROM login WHERE username = '$username'"); // username -> db
    $userquery = mysql_fetch_array($result);
    $result = mysql_query("SELECT password FROM login WHERE password = '$password'"); // password -> db
    $passquery = mysql_fetch_array($result);

    if(
    $username == $userquery[0] && $password == $passquery[0]) {

    $query = "SELECT * FROM login WHERE username = '$username' and password = '$password'";

    $result = mysql_query($query);


    while (
    $row = mysql_fetch_array($result)) {
    $idruolo=$row["ruolo"];
    $result = mysql_query("SELECT nome,id FROM ruolo WHERE id = '$idruolo'"); // id ruolo -> ruolo
    $ruolo = mysql_fetch_array($result);

    $userses = $row["username"]; // Username
    $passses = $row["password"]; // Password
    $ruoloses = $ruolo["id"]; // Id Ruolo
    $idruolo2 = $row["ruolo"]; // Ruolo -> Login
    $idut = $row["id"]; // Id Utente
    $nomeruolo = $ruolo["nome"]; // Nome Ruolo

    session_register($userses);
    session_register($passses);
    session_register($ruoloses);
    session_register($idruolo2);
    session_register($idut);
    session_register($nomeruolo);

    echo
    "Ciao <i>$row[username]</i>, id e <b>$row[id]</b> la tua pass e <b>$row[password]</b> e tu 6 <b>$ruolo[nome]</b> e id del ruolo e <b>$ruolo[id]</b> e il del login e <b>$idruolo</b>"; //$row[DATO]



    } // Fine degli estratti dal db...

    /*header("location: $urlpann")*/

    } // Fine tutto giusto...
    else {
    echo
    "<b>Dati Errati!</b>";
    }
    }
    // Fine $_POST['loginok']
    else {

    echo
    "<b>Devi fare il Login</b>";
    }
    mysql_close($db);

    myfooter();
    ?>
    e add_article.php
    Codice PHP:
    <?php
    require("config.php");

    myheader();

    echo
    "<h1>Aggingi Articolo<h1>";

    if(isset(
    $_SESSION['usersess'])){



    $connetto = mysql_query("SELECT * FROM login WHERE username='".$_SESSION['usersess']."'") or die(mysql_error());

    while(
    $estrai = mysql_fetch_array($connetto)){


    $connetto2 = mysql_query("SELECT * FROM ruolo WHERE id='".$_SESSION['idruolo2']."'");


    while(
    $estrai2 = mysql_fetch_array($connetto2)) {

    if (
    $estrai2['nome'] == "Admin") {

    //Codice della pagina admin


    echo "6 Admin";
    }
    // Fine codice della pagina "Admin"

    else{
    //Accesso non autorizzato
    echo "Non 6 Admin";


    }
    // Fine "Non 6 Admin"

    } // Fine while $estrai2

    } //Fine while $estrai

    } // Fine (non ha la sessione)

    else
    {
    //$_SESSION['username'] non è settato


    echo "Devi fare il Login";


    }
    // Fine "Devi fare il Login"



    mysql_close($db);


    myfooter();


    ?>
    Credo che il problema stia nel login2.php, magari le sessioni non si settano come dovrebbero oppure nel richiamo di add_article.php è sbagliato..oppure non so.. :P
    Grazie!...Ciao Davide! ^^

  6. #36
    Guest

    Predefinito

    Ma te l'ho detto! Nel file login2.php non puoi assegnare più di una cosa a $result! Cambia la variabile e vedi che funziona!

    Fai così:


    login2.php
    Codice PHP:
    <?php

    require("config.php");

    /* session_start();
    if(!session_is_registered(username)){ // Se non è loggato...
    header("location:login.php"); // Redirect...
    }*/
    myheader();




    echo
    "<h1>Login<h1>";


    /*
    #########STRUTTURA#########
    TABELLA: login
    ###########
    DATI: id - username - password - ruolo
    -----------------------------
    TABELLA: ruolo
    ###########
    DATI: id - nome
    */

    if(isset($_POST['loginok'])) {

    $username = $_POST['username']; // username
    $password = $_POST['password']; // password



    $result1 = mysql_query("SELECT username FROM login WHERE username = '$username'"); // username -> db
    $userquery = mysql_fetch_array($result1);
    $result2 = mysql_query("SELECT password FROM login WHERE password = '$password'"); // password -> db
    $passquery = mysql_fetch_array($result2);

    if(
    $username == $userquery[0] && $password == $passquery[0]) {

    $query = "SELECT * FROM login WHERE username = '$username' and password = '$password'";

    $result3 = mysql_query($query);


    while (
    $row = mysql_fetch_array($result3)) {
    $idruolo=$row["ruolo"];
    $result4 = mysql_query("SELECT nome,id FROM ruolo WHERE id = '$idruolo'"); // id ruolo -> ruolo
    $ruolo = mysql_fetch_array($result4);

    $userses = $row["username"]; // Username
    $passses = $row["password"]; // Password
    $ruoloses = $ruolo["id"]; // Id Ruolo
    $idruolo2 = $row["ruolo"]; // Ruolo -> Login
    $idut = $row["id"]; // Id Utente
    $nomeruolo = $ruolo["nome"]; // Nome Ruolo

    session_register($userses);
    session_register($passses);
    session_register($ruoloses);
    session_register($idruolo2);
    session_register($idut);
    session_register($nomeruolo);

    echo
    "Ciao <i>$row[username]</i>, id e <b>$row[id]</b> la tua pass e <b>$row[password]</b> e tu 6 <b>$ruolo[nome]</b> e id del ruolo e <b>$ruolo[id]</b> e il del login e <b>$idruolo</b>"; //$row[DATO]



    } // Fine degli estratti dal db...

    /*header("location: $urlpann")*/

    } // Fine tutto giusto...
    else {
    echo
    "<b>Dati Errati!</b>";
    }
    }
    // Fine $_POST['loginok']
    else {

    echo
    "<b>Devi fare il Login</b>";
    }
    mysql_close($db);

    myfooter();
    ?>
    Ciao...
    Ultima modifica di heidi52 : 02-05-2008 alle ore 12.40.10

  7. #37
    Guest

    Predefinito

    Ragazzi, scusatemi... ma vi rendete conto la piega che ha preso questo post?
    Non ci si può limitare a chiedere, bisogna prima di tutto documentarsi, provare e poi (eventualmente) chiedere. Altrimenti si rischia di non imparare nulla.

    Ritornando in topic;
    Nel post precedente di heidi52, leggo:
    Codice PHP:
    $username = $_POST['username']; // username
    $password = $_POST['password']; // password
    e poi:
    Codice PHP:
    $result1 = mysql_query("SELECT username FROM login WHERE username = '$username'"); // username -> db
    .....
    $result2 = mysql_query("SELECT password FROM login WHERE password = '$password'"); // password -> db
    avete mai sentito parlare di sql injection? fate una ricerca, così capite perchè poi vi "rubano" le password...

    Ciao

  8. #38
    Guest

    Predefinito

    Io so che sono le injection, me l'ha detto uno di qui: sono "fregature" per distruggere il database o prelevare dei dati, vero Giuseppe?


    Ciao...

  9. #39
    Guest

    Predefinito

    sql injection
    Non sono "fregature"... si tratta solo di non dare per scontato che l'input dell'utente sia "buono".

    Ovviamente il messaggio precedente, non era riferito a Davide in particolare, ma a tutti gli autori di topic di questo genere.
    Cerchiamo di non andare ulteriormente in OT.

  10. #40
    Guest

    Predefinito

    Mi da sempre..."Devi fare il Login" :(
    (su add_article.php).. O.o

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •