Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function verifyParameters(){
- $data = array($_POST['username'], $_POST['password'],
- $_POST['fsim'], $_POST['fsif'],
- $_POST['fssm'], $_POST['fssf'],
- $_POST['csim'], $_POST['csif'],
- $_POST['cssm'], $_POST['cssf'],
- $_POST['faim'], $_POST['faif'],
- $_POST['fasm'], $_POST['fasf'],
- $_POST['caim'], $_POST['caif'],
- $_POST['casm'], $_POST['casf']);
- foreach( $data as $item) {
- if(!isset($item)){ return false;}
- }
- return true;
- }
- function controlData($data){
- foreach ($data as $item) {
- if((int)$item < 0){
- echo("Attenzione, uno o più campi contengono valore negativi.\nInserire solo valori positivi.");
- return false;
- }
- if($item == ""){
- echo("Attenzione, uno o più campi sono vuoti, oppure\n uno o più campi contengono lettere/simboli");
- return false;
- }
- }
- return true;
- }
- function overwriteDB($db, $id, $data){
- $query = $db->query("UPDATE report SET
- fsim='".$data[0]."', fsif='".$data[1]."',
- fssm='".$data[2]."', fssf='".$data[3]."',
- csim='".$data[4]."', csif='".$data[5]."',
- cssm='".$data[6]."', cssf='".$data[7]."',
- faim='".$data[8]."', faif='".$data[9]."',
- fasm='".$data[10]."', fasf='".$data[11]."',
- caim='".$data[12]."', caif='".$data[13]."',
- casm='".$data[14]."', casf='".$data[15]."'
- WHERE id ='$id'");
- if (!$db->query($query)) {
- die($db->error);
- }
- }
- if(verifyParameters()){ //controllo se tutti i parametri post esistono
- $data = array($_POST['fsim'], $_POST['fsif'], //metto i parametri in un array
- $_POST['fssm'], $_POST['fssf'],
- $_POST['csim'], $_POST['csif'],
- $_POST['cssm'], $_POST['cssf'],
- $_POST['faim'], $_POST['faif'],
- $_POST['fasm'], $_POST['fasf'],
- $_POST['caim'], $_POST['caif'],
- $_POST['casm'], $_POST['casf']);
- if(controlData($data)){ //verifico se tutti i parametri sono validi
- $mysqli = new mysqli('localhost', 'root', '', 'db1'); //tento la connessione al database
- if ($mysqli->connect_error) {
- die('Errore di connessione (' . $mysqli->connect_errno . ') '
- . $mysqli->connect_error);
- } else { //se riesco a connettermi al database verifico utente e password
- $user = $_POST['username'];
- $pass = hash('sha256', $_POST['password']);
- $query = $mysqli->query("SELECT id FROM users WHERE user = '$user' AND password = '$pass'");
- if($query->num_rows){ //se la combinazione utente-password esiste (accesso effettuato correttamente)
- echo "Accesso confermato.\n";
- $query = $mysqli->query("SELECT id FROM users WHERE user = '$user'");
- $comandoass = $query->fetch_all(MYSQLI_BOTH)[0][0]; //prendo l'id collegato all'utente
- $date = date('Y/m/d');
- $query = $mysqli->query("SELECT id FROM report WHERE day = '$date' AND comando = '$comandoass'");
- if($query->num_rows) { //se esiste già una riga dove il comando ha scritto nello stesso giorno
- echo "I dati di oggi per questo comando sono stati già inseriti, sovrascrivo i dati.";
- $id = $user_id = $query->fetch_all(MYSQLI_BOTH)[0][0];
- overwriteDB($mysqli, $id, $data); //sovrascrivo i dati
- }else{
- echo "Scrivo i dati nel database";
- $query = $mysqli->query("SELECT id FROM users WHERE user = '$user'");
- $user_id = $query->fetch_all(MYSQLI_BOTH)[0][0];
- //con una query scrivo tutti i dati nel database
- $query = "INSERT INTO report (day,comando,fsim,fsif,fssm,fssf,csim,csif,cssm,cssf,faim,faif,fasm,fasf,caim,caif,casm,casf)
- VALUES ('$date', '$user_id',
- '".$data[0]."', '".$data[1]."',
- '".$data[2]."', '".$data[3]."',
- '".$data[4]."', '".$data[5]."',
- '".$data[6]."', '".$data[7]."',
- '".$data[8]."', '".$data[9]."',
- '".$data[10]."', '".$data[11]."',
- '".$data[12]."', '".$data[13]."',
- '".$data[14]."', '".$data[15]."')";
- if (!$mysqli->query($query)) {
- die($mysqli->error);
- }
- }
- }else{
- echo("Accesso negato.\nControllare user e password, oppure contattare l'amministratore del sistema");
- }
- }
- }
- }else{
- echo("Errore! Passa tutti i parametri correttamente!");
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement