1. Përshëndetje dhe mirësevini në forumin e Itshqip.com
    Nëse akoma nuk jeni pjesë e IT komunitetit më të madhë Shqiptarë nga fusha e Teknologjisë Informative, ju ftojmë që të bëheni pjesë e këtij komuniteti që tani duke u regjistruar këtu - procedura është shumë e thjeshtë dhe e lehtë. Gjithashtu ju mund të regjistroheni edhe përmes rrjetit social Facebook, Twitter, Google+.

Problem i Zgjidhur Script php user privilege

Tema tek 'Pyetje dhe Përgjigje' e hapur nga Lodvald, 12 Korrik 2017.

  1. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    kam nje script php per prerje faturash edhe ne te te gjith userat kan privilegje te barabarta . do doja ndihme nga dikush qe din php pasi vet nuk di fare te me ndihmoje ta rregulloj ate . du me ba qe userat perveq administratorit te mos munden me i fshi faturat veq administratori te i fshije faturat.

    Nqs dikush me ndihmon do me zgjidhte shum shum pune.
     
  2. Best Answer:
    Post #9 by urankajtazi, 14 Korrik 2017
  3. KALI-ALB

    KALI-ALB Anëtar i Njohur

    Postimet:
    918
    Pëlqimet:
    211
    Pikë nga trofetë:
    73
    Psh

    Ne database userat kan rank ose me numer ose me emer

    Scripti do te jete si me poshte :

    Request ne sql
    $request->preprae('SELECT * from mebers')
    $request = execute();
    $data-> fetch();

    dhe pastaj e ben
    If ($data['rank'] != "admin")
    { echo 'Nuk keni te drejta sepse nuk jeni admin',

    }

    else
    {
    Tani ben ca te duash vete
    }
    Kodi ne sql varet cfare extension perdor une ketu kam perdorur PDO
    Dhe kodi nuk mund te jete komplet i sakte se jam me tel.

    E di qe do te doje shume me e pas scriptin e gatshem por me mire eshte kur nuk e ke sepse te shtyn te mesosh me shume.
     
    Lodvald pëlqen postimin.
  4. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    do shikoj p oarrita me ba dicka per ndrysh do te te kontaktoj perseri po zbera dot gje :)
     
  5. KALI-ALB

    KALI-ALB Anëtar i Njohur

    Postimet:
    918
    Pëlqimet:
    211
    Pikë nga trofetë:
    73
    Nese e ke me sistem logimi me para kur nje user logohet e perdor kete kod ne sql

    PHP:
    <?php

    // Para se te perdoresh sql duhet te konjetohesh nje here ne databaze me ante te ketij kodi
    try
            {
                    
    $db = new PDO('mysql:host=HOSTINEMYSQL;dbname=EMRIIDATABAZES''USER''PASSWORDI',
                    array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
            }         catch (
    Exception $e)
                    {
                        die(
    'Error connecting to the $db the message for this error is : ' $e->getMessage());
                    }
                   
    //Mbasi ke verifikuar login dhe passwordin e userit

    //Krijon nje $_SESSION['id'] dhe me pas $_SESSION['nickname'] dhe $_SESSION qe don te perdoresh ne websiten tend

    P.sh

    if ($data['password'] == sha1($_POST['password'])
    {
        
    $_SESSION['id'] = $data['member_id'];
        
    $_SESSION['nickname'] = $data['member_nickname'];
        
    //etj....
    }

    else
       
        {
            echo 
    "Your password is incorrect";
        }
    ?>
    Ky mund te jete scripti i qendres se faturave

    Une e sugjeroj qe member rank ta kesh me numbra p.sh member_rank per admin = 2 dhe member_rank per user = 1


    PHP:
    <html>
    <head>
    <title>Qendra e faturave</title>
    Venos te dhenat e head
    </head>
    <body>
    <div align="center">
    <h1>ADMIN ZONE | QENDRA E FATURAVE</h1>
    <h3>Kjo zone eshte vetem per administratorin e faqes asnje antare tjter nuk eshte i lejuar te nderhyej ne kete faqe</h3>
    <?php
    $id 
    $_SESSION['id'];
            
    $query=$db->prepare('SELECT  member_id, member_nickname, member_rank FROM members WHERE member_id = :id');
            
    $query->bindValue(':id',$idPDO::PARAM_INT);
            
    $query->execute();
            
    $data=$query->fetch();
           
            if (
    $data['member_rank'] == 2)
               
                {
                    echo 
    '<p>Miresevini Admin zgjidhni faturat qe doni te modifikoni ose fshini</p>'
                   
                    
    echo '
                    <table>
                   
                    //Faturat ne forme tabele
                   
                    </table>
                    '
    ;
                }
           
            else
               
                {
                    echo 
    '<p>Errot : ju nuk jeni administratore dhe nuk keni akses ne kete seksion</p>':
                }


    ?>
    </div>
    </body>
    </html>
    Prape se prape ky nuk qendron nje script komplet sepse mungojne formularet per logim dhe tabelat e databaze.

    Shpresoj qe te keme ndihmuar.
     
    Lodvald pëlqen postimin.
  6. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    Degjohemi ne pm.
     
    KALI-ALB pëlqen postimin.
  7. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    PHP:
    <?php
    /*******************************************************************************
    * Simplified PHP Invoice System *
    * *
    * Version: 1.1.1 *
    * Author: James Brandon *
    *******************************************************************************/

    include('header.php');

    // Connect to the database
    $mysqli = new mysqli(DATABASE_HOSTDATABASE_USERDATABASE_PASSDATABASE_NAME);

    // output any connection error
    if ($mysqli->connect_error) {
     die(
    'Error : ('.$mysqli->connect_errno .') '$mysqli->connect_error);
    }

    session_start();
    if(
    $_POST['username'] != "" && $_POST['password'] != "") {
     
    extract($_POST);

     
    $username mysqli_real_escape_string($mysqli,$_POST['username']);
     
    $pass_encrypt mysqli_real_escape_string($mysqli,$_POST['password']);

     
    $fetch $mysqli->query("SELECT * FROM `users` WHERE username='$username' AND `password` = '$pass_encrypt'");

     
    $row mysqli_fetch_array($fetch);

     if (
    password_verify($pass_encrypt$row['passowrd']) {
     
    $_SESSION['login_username'] = $row['username'];
     
    $_SESSION['ranj'] = $row['rank'];
     echo 
    1;
     } else {
     echo 
    0;
     }

    } else {

     
    header("Location:index.php");

    }
    ?>

    <?php include('footer.php'); ?>
    Ky eshte kodi i login.php
    Nuk e krijon $_SESSION['rank']

    E kishte request ne mysqli ndersa une programoj ne sql po ne PDO dhe ky eshte problemi
     
    Last edited: 14 Korrik 2017
    Versi pëlqen postimin.
  8. KALI-ALB

    KALI-ALB Anëtar i Njohur

    Postimet:
    918
    Pëlqimet:
    211
    Pikë nga trofetë:
    73
    @urankajtazi ndonje sugjerim ?

    ;):(

    me mysqli se tin e din qe nuk merem
     
    Last edited: 14 Korrik 2017
    Lodvald pëlqen postimin.
  9. Jãşhť'Sşeriĕ

    Jãşhť'Sşeriĕ Anëtar Legjendë

    Postimet:
    1,691
    Pëlqimet:
    530
    Pikë nga trofetë:
    208
    sa gjat i paske ra. ku bukur dhe thjesht mundesh me heq funksionin delete dhe me e qit vec per admin.
     
  10. urankajtazi

    urankajtazi Anëtar me Përvoj

    Postimet:
    1,030
    Pëlqimet:
    501
    Pikë nga trofetë:
    208
    Best Answer
    Nese nuk e krijon session rank shtoja ti vet, gjithashtu krijo nje kolone te re ne databaz te tabela e perdoruesve
    Code:
    Alter table users add column rank int(1);
    
    E mbush me te dhena.

    Tash ktu ne php krijon session qysh e ke kriju tashme (nese login eshte i suksesshem).
    PHP:
    $_SESSION['rank'] = $row['rank'];
    Tek vendi ku behet printimi i fatures, ja shton perpara funksionit per printim
    PHP:
    If ($_SESSION['rank'] == 1) { // nese 1 eshte admin
        // funksioni per faturim/printim
    }

    // Ndoshta ka gabime pasi jam ne telefon.

    Un ta kom pas kriju me golang, pastaj nuk kisha mundesi me kthy edhe ne php pasi kisha disa probleme me mysql dhe nuk kisha shum kohe.

    Sent from my GT-I9060I using Tapatalk
     
    Last edited: 14 Korrik 2017
    KALI-ALB dhe Lodvald pëlqejnë postimin.
  11. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    Falenderoj ne menyre te veqante @DEVILAL edhe @KALI-ALB qe vet u ofruan per te ndihmuar :)

    Edhe me shum falenderoj @urankajtazi i cili arriti ta rregullonte , te falenderoj edhe nje her .. edhe ju te tj nqs keni nevoj per ndonje profesionis jau sygjeroj @urankajtazi

    Gjith te mirat tema konsiderohet e mbyllur.
     
    KALI-ALB dhe urankajtazi pëlqejnë postimin.
  12. KALI-ALB

    KALI-ALB Anëtar i Njohur

    Postimet:
    918
    Pëlqimet:
    211
    Pikë nga trofetë:
    73
    Zgjidhjen qe sugjerovi me siper beri?
     
  13. Lodvald

    Lodvald Anëtar Legjendë

    Postimet:
    2,209
    Pëlqimet:
    621
    Pikë nga trofetë:
    258
    me qa kam kuptuar ka krijuar rank per users edhe opsionet qe nuk duhet ti perdore ranku me i ulet i ka ba hide nuk i shikon fare ndersa ranku me i lart i shikon edhe vepron me to :)
     
    KALI-ALB pëlqen postimin.
  14. KALI-ALB

    KALI-ALB Anëtar i Njohur

    Postimet:
    918
    Pëlqimet:
    211
    Pikë nga trofetë:
    73
    Provoje kot scriptin qe ta dergova un i njeti eshte, du vetem me pa a te punon se nuk e kuptoja pse tek pc im nuk punojke
     
    Lodvald pëlqen postimin.

Shpërndaje faqen

Loading...