Advertisement
pearos

Untitled

Jul 17th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.95 KB | None | 0 0
  1. <?php
  2.   include "createLog.php"; //includo il file con la funzione per creare log
  3.  
  4.   function verifyParameters(){
  5.     $data = array($_POST['username'], $_POST['password'],
  6.                   $_POST['fsim'], $_POST['fsif'],
  7.                   $_POST['fssm'], $_POST['fssf'],
  8.                   $_POST['csim'], $_POST['csif'],
  9.                   $_POST['cssm'], $_POST['cssf'],
  10.                   $_POST['faim'], $_POST['faif'],
  11.                   $_POST['fasm'], $_POST['fasf'],
  12.                   $_POST['caim'], $_POST['caif'],
  13.                   $_POST['casm'], $_POST['casf']);
  14.  
  15.     foreach( $data as $item)  {
  16.      if(!isset($item)){ return false;}
  17.     }
  18.     return true;
  19.   }
  20.  
  21.   function controlData($data){
  22.     foreach ($data as $item) {
  23.       if((int)$item < 0){
  24.         echo("Attenzione, uno o più campi contengono valore negativi.\nInserire solo valori positivi.\nMadonna eva");
  25.         return false;
  26.       }
  27.       if($item == ""){
  28.         echo("Attenzione, uno o più campi sono vuoti, oppure\n uno o più campi contengono lettere/simboli");
  29.         return false;
  30.       }
  31.     }
  32.     return true;
  33.   }
  34.  
  35.   function overwriteDB($db, $id, $data){
  36.     $query = $db->query("UPDATE report SET
  37.      fsim='".$data[0]."', fsif='".$data[1]."',
  38.      fssm='".$data[2]."', fssf='".$data[3]."',
  39.      csim='".$data[4]."', csif='".$data[5]."',
  40.      cssm='".$data[6]."', cssf='".$data[7]."',
  41.      faim='".$data[8]."', faif='".$data[9]."',
  42.      fasm='".$data[10]."', fasf='".$data[11]."',
  43.      caim='".$data[12]."', caif='".$data[13]."',
  44.      casm='".$data[14]."', casf='".$data[15]."'
  45.      WHERE id ='$id'");
  46.     //if (!$db->query($query)) { die($db->error); }
  47.   }
  48.  
  49.   function writeDB($db, $user_id, $data){
  50.     $date = date('Y/m/d');
  51.     $query = $db->query("INSERT INTO report (day,comando,fsim,fsif,fssm,fssf,csim,csif,cssm,cssf,faim,faif,fasm,fasf,caim,caif,casm,casf)
  52.    VALUES ('$date', '$user_id',
  53.      '".$data[0]."', '".$data[1]."',
  54.      '".$data[2]."', '".$data[3]."',
  55.      '".$data[4]."', '".$data[5]."',
  56.      '".$data[6]."', '".$data[7]."',
  57.      '".$data[8]."', '".$data[9]."',
  58.      '".$data[10]."', '".$data[11]."',
  59.      '".$data[12]."', '".$data[13]."',
  60.      '".$data[14]."', '".$data[15]."')");
  61.     //echo '<pre>'; print_r($db); echo '</pre>';
  62.     //if (!$db->query($query)) { die($db->error); }
  63.   }
  64.  
  65.   function autenticate($db, $user, $password){
  66.     //tento di eseguire l'accesso
  67.     $pass = hash('sha256', $password);
  68.     $query = $db->query("SELECT id FROM users WHERE user = '$user' AND password = '$pass' AND permessi = 'w'");
  69.     if($query->num_rows){ return true; }
  70.     return false;
  71.   }
  72.  
  73.   function createStringLog($data,$user,$operation){
  74.     $date = "time:".date('Y/m/d H:i:s');
  75.     $operation = "operation:".$operation;
  76.     $user = "user:".$user;
  77.     $stringdata = " fsim:".$data[0]." fsif:".$data[1].
  78.                   " fssm:".$data[2]." fssf:".$data[3].
  79.                   " csim:".$data[4]." csif:".$data[5].
  80.                   " cssm:".$data[6]." cssf:".$data[7].
  81.                   " faim:".$data[8]." faif:".$data[9].
  82.                   " fasm:".$data[10]." fasf:".$data[11].
  83.                   " caim:".$data[12]." caif:".$data[13].
  84.                   " casm:".$data[14]." casf:".$data[15];
  85.  
  86.     return $date." ".$user." ".$stringdata." ".$operation;
  87.   }
  88.  
  89.   if(verifyParameters()){ //controllo se tutti i parametri post esistono
  90.     $data = array($_POST['fsim'], $_POST['fsif'], //metto i parametri in un array
  91.                   $_POST['fssm'], $_POST['fssf'],
  92.                   $_POST['csim'], $_POST['csif'],
  93.                   $_POST['cssm'], $_POST['cssf'],
  94.                   $_POST['faim'], $_POST['faif'],
  95.                   $_POST['fasm'], $_POST['fasf'],
  96.                   $_POST['caim'], $_POST['caif'],
  97.                   $_POST['casm'], $_POST['casf']);
  98.  
  99.     if(controlData($data)){ //verifico se tutti i parametri sono validi
  100.       $host = "localhost";
  101.       $username = "root";
  102.       $password = "";
  103.       $dbname = "db1";
  104.       $mysqli = new mysqli($host, $username, $password, $dbname); //tento la connessione al database
  105.         if ($mysqli->connect_error) {
  106.             die('Errore di connessione (' . $mysqli->connect_errno . ') '
  107.             . $mysqli->connect_error);
  108.         } else { //se riesco a connettermi al database verifico utente e password
  109.           $user = $_POST['username'];
  110.           $pass = $_POST['password'];
  111.  
  112.           if(autenticate($mysqli, $user, $pass)){ //se la combinazione utente-password esiste (accesso effettuato correttamente)
  113.               echo "Accesso confermato.\n";
  114.  
  115.               $query = $mysqli->query("SELECT id FROM users WHERE user = '$user'");
  116.               $comandoass = $query->fetch_all(MYSQLI_BOTH)[0][0]; //prendo l'id collegato all'utente
  117.  
  118.               $date = date('Y/m/d');
  119.               $query = $mysqli->query("SELECT id FROM report WHERE day = '$date' AND comando = '$comandoass'");
  120.               if($query->num_rows) { //se esiste già una riga dove il comando ha scritto nello stesso giorno
  121.                 //echo '<pre>'; print_r($mysqli); echo '</pre>';
  122.                 echo "I dati di oggi per questo comando sono stati già inseriti, sovrascrivo i dati.";
  123.                 $id = $user_id = $query->fetch_all(MYSQLI_BOTH)[0][0];
  124.                 overwriteDB($mysqli, $id, $data); //sovrascrivo i dati
  125.                 addLog(createStringLog($data,$user,"overwrite"));
  126.  
  127.               }else{
  128.                 echo "Scrivo i dati nel database";
  129.                 $query = $mysqli->query("SELECT id FROM users WHERE user = '$user'");
  130.                 $user_id = $query->fetch_all(MYSQLI_BOTH)[0][0];
  131.                 writeDB($mysqli, $user_id, $data);
  132.                 addLog(createStringLog($data,$user,"write"));
  133.               }
  134.         }else{
  135.           echo("Accesso negato.\nControllare user e password, oppure contattare l'amministratore del sistema");
  136.         }
  137.       }
  138.     }
  139.   }
  140.   else{
  141.     echo("Errore! Passa tutti i parametri correttamente!");
  142.   }
  143. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement