Visualizzazione dei risultati da 1 a 9 su 9

Discussione: permessi

  1. #1

    permessi

    dopo aver effettuato il login clikkando su un link in cui sono richiesti privilegi da admin, visualizzo questo msg di errore:

    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 9 in c:\programmi\easyphp1-7\www\utils.lib.php on line 22

    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 10 in c:\programmi\easyphp1-7\www\license.lib.php on line 48

    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 12 in c:\programmi\easyphp1-7\www\utils.lib.php on line 22

    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 13 in c:\programmi\easyphp1-7\www\license.lib.php on line 48
    Hai i seguenti permessi:
    NON HAI IL PERMESSO admin, e quindi NON ti é permesso eseguire questa operazione

    Quale problema può restituire questo errore?

    Grazie,

    Ciao a Tutti

  2. #2
    metti due righe di script

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    permessi

    utils.lib
    <?php

    function get_users_list(){
    $result = mysql_query("
    SELECT *
    FROM utenti
    WHERE temp='0'
    ");
    $data = array();
    while($tmp = mysql_fetch_assoc($result)){
    array_push($data, $tmp);
    };

    return $data;
    }

    function user_get_id($user){
    return mysql_result(mysql_query("
    SELECT id
    FROM utenti
    WHERE username='".$user['username']."' and password='".$user['password']."'
    "), 0, 'id');
    }
    ?>

    licens.lib
    <?php
    function license_get_list(){
    $result = mysql_query("
    SELECT *
    FROM permessi
    ");
    $data = array();
    while($tmp = mysql_fetch_assoc($result)){
    array_push($data, $tmp);
    };

    return $data;
    }

    function license_change($userid, $perms){
    mysql_query("
    UPDATE utenti
    SET permessi='".$perms."' WHERE id='".$userid."'
    ");
    }

    function license_new_id(){
    $result = mysql_query("
    SELECT (id*2) as next_id
    FROM permessi
    ORDER BY id DESC
    LIMIT 0,1
    ");
    if(mysql_num_rows($result) != 0){
    return mysql_result($result, 0, "next_id");
    }else{
    return 1;
    }
    }

    function license_add($name, $desc){
    mysql_query("
    INSERT INTO permessi
    VALUES ('".license_new_id()."','".$name."','".$desc."')
    ");
    }

    function license_user_get_perms($id){
    return intval(mysql_result(mysql_query("
    SELECT permessi
    FROM utenti
    WHERE id = '".$id."'
    "), 0 ,'permessi'));
    }

    function license_has($user, $perm){
    $permessi = license_user_get_perms(user_get_id($user));
    $perm = mysql_result(mysql_query("
    SELECT id
    FROM permessi
    WHERE nome = '".$perm."'
    "), 0 ,'id');
    return intval($permessi) & intval($perm);
    }

    function license_get($user){
    $permessi = license_user_get_perms(user_get_id($user));
    $perm_list = array();
    foreach(license_get_list() as $perm){
    if($permessi & intval($perm['id'])){
    $perm_list[] = $perm;
    }
    }
    return $perm_list;
    }
    ?>

  4. #4
    due righe... VVoVe:


    quali sono le righe che generano l'errore?

    function user_get_id($user){
    return mysql_result(mysql_query("

    e poi

    function license_new_id(){
    $result = mysql_query("
    SELECT (id*2) as next_id

    il perche' bisognerebbe capire quale musica suona l'orchestra... metti la segnalazione di errore alle query. Almeno in fase di debug.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    L'errore è su queste funzioni:

    function user_get_id($user){
    return mysql_result(mysql_query("
    SELECT id
    FROM utenti
    WHERE username='".$user['username']."' and password='".$user['password']."'
    "), 0, 'id');
    }

    function license_user_get_perms($id){
    return intval(mysql_result(mysql_query("
    SELECT permessi
    FROM utenti
    WHERE id = '".$id."'
    "), 0 ,'permessi'));
    }

    Considera che c'è solamente un permesso chiamato admin che dovrebbe servire per l'accesso ad una pagina di amministrazione.

  6. #6
    scrivi una riga in piu' ed evita di annidare le funzioni.
    codice:
    function user_get_id($user){ 
          $res = mysql_query(" 
                 SELECT id 
                 FROM utenti 
                 WHERE username = '$user[username]' 
                 and password='$user[password]' ") or die(mysql_error()); 
          return mysql_result($res, 0, 'id');
    }

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7

    permessi

    ancora non funge.....

    cmq grazie..

  8. #8

    Re: permessi

    [supersaibal]Originariamente inviato da andrea74
    ancora non funge.....

    cmq grazie.. [/supersaibal]
    ma ti segnala qualche errore mysql_query? O solo mysql_result. se solo il secondo parrebbe che non hai risultati dalla query.

    Prova a contare le righe che estrae. Oppure stampa la query....
    codice:
    function user_get_id($user){ 
    
          $query = "SELECT id 
                    FROM utenti 
                    WHERE username = '$user[username]' 
                    and password='$user[password]'" ;
    
          echo "$query  
    ";
    
          $res = mysql_query($query) or die(mysql_error()); 
    
          return mysql_result($res, 0, 'id');
    }
    Magari $user e' vuoto..

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9

    permessi

    farò questo controllo al più presto...

    thanks

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.