Advertisement
Guest User

Untitled

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