inserire dati multi livello

luigithen

Utente Attivo
31 Mar 2020
66
3
8
ciao a tutti voi, fino ad ora il mio progetto prosegue benissimo grazie a voi alle vostre risposte, oggi ho un'altra domanda da fare

quello che vorrei fare è questo, vi faccio un esempio

gli accessi li fornisco io quindi non ci sarà nessuna registrazione ma solo il login quindi fornisco l'accesso a Luigi con id 1 e Luigi inserire i suoi articoli, poi fornisco l'accesso a Luca con id 2 e Luca inserisce i suoi di articoli e così via come faccio (chiedo un esempio pratico se possibile) a recuperare in base all'utente gli articoli inseriti e far visualizzare gli stessi ?

questi sono i dati che utilizzo

Database
PHP:
<?php
   define('DB_SERVER', 'localhost');
   define('DB_USERNAME', 'username');
   define('DB_PASSWORD', 'password');
   define('DB_DATABASE', 'database');
   $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
Login
PHP:
<?php
   include("login/config.php");
   session_start();

   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username and password sent from form

      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']);

      $sql = "SELECT id_login FROM login WHERE username = '$myusername' and password = '$mypassword'";
      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      $active = $row['active'];

      $count = mysqli_num_rows($result);

      // If result matched $myusername and $mypassword, table row must be 1 row

      if($count == 1) {
         //session_register("myusername");
         $_SESSION['login_user'] = $myusername;

         header("location: index.php");
      }else {
         $error = "Your Login Name or Password is invalid";
      }
   }
?>
Session
PHP:
<?php
   include('login/config.php');
   session_start();

   $user_check = $_SESSION['login_user'];

   $ses_sql = mysqli_query($db,"select username from login where username = '$user_check' ");

   $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);

   $login_session = $row['username'];

   if(!isset($_SESSION['login_user'])){
      header("location:login.php");
      die();
   }
?>
Pagina Profilo
PHP:
<?php
   include('session.php');
?>
<html>

   <head>
      <title>Welcome </title>
   </head>

   <body>
      <h1>Welcome <?php echo $login_session; ?></h1>
      <h2><a href = "logout.php">Sign Out</a></h2>
   </body>

</html>
poi io come Super Amministratore devo vedere tutto

garzie
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
Servirebbe una gestione di ruoli...

Tabella articoli:
id,user_id,title,slug etc...

Quando l'utente inserisce l'articolo dovrai salvarti (in via più breve) ID utente che ha generato l'articolo così effettuerai una query semplicemente filtrando per user_id....


Per quanto riguarda te (admin) basta fare un whereIn su tutti gli id utenti che contribuiscono alla creazione degli articoli!
 
  • Like
Reactions: luigithen

luigithen

Utente Attivo
31 Mar 2020
66
3
8
macus come sempre grazie per il tuo intervento, quindi se ho capito bene

nella tabella articoli per esempio (detto in parole povere) mi basterebbe salvare id_user e poi richiamarlo con una query filtrando sempre per id_user

grazie
 

luigithen

Utente Attivo
31 Mar 2020
66
3
8
ciao, scusami se ne approfitto ma sicuramente mi sfugge qualcosanon riesco a richiamare i dati in base all'id_login

se provo a visualizzare i dati completi non visualizzo nulla, premetto che la connessione al database funziona senza alcun problema questo è il codice che stò utilizzando
PHP:
<?php
require_once("login/admin.php");
$db_handle = new DBController();
$result = $db_handle->runQuery("SELECT * FROM admin WHERE id_login='" . $_GET["id_login"] . "'");
?>
admin è la tabella dove ci sono tutte le informazioni nome, cognome, telefono ecc ecc

PHP:
    1    id_admin chiave primaria
    2    id_login    int(11) 
    3    azienda    varchar(255)
    4    piva    varchar(17)
    5    indirizzo    varchar(255)
    6    cap    int(6)
    7    citta    varchar(255)
    8    provincia    varchar(255)
    9    nome    varchar(255)
    10    cognome    varchar(255)
    11    email    varchar(255)
    12    telefono    varchar(100)
    13    cellulare    varchar(100)
    14    referente    varchar(255)
    15    telref    varchar(100)
dimenticavo, questa è la session

PHP:
<?php
   include('login/config.php');
   session_start();

   $user_check = $_SESSION['login_user'];

   $ses_sql = mysqli_query($db,"select username from login where username = '$user_check' ");

   $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);

   $login_session = $row['username'];

   if(!isset($_SESSION['login_user'])){
      header("location:login.php");
      die();
   }
?>
 
Ultima modifica:

luigithen

Utente Attivo
31 Mar 2020
66
3
8
Ma get id lo recuperi da login ???
lo recupero dalla tabella admin

PHP:
 1    id_admin chiave primaria
    2    id_login    int(11)
    3    azienda    varchar(255)
    4    piva    varchar(17)
    5    indirizzo    varchar(255)
    6    cap    int(6)
    7    citta    varchar(255)
    8    provincia    varchar(255)
    9    nome    varchar(255)
    10    cognome    varchar(255)
    11    email    varchar(255)
    12    telefono    varchar(100)
    13    cellulare    varchar(100)
    14    referente    varchar(255)
    15    telref    varchar(100)