KenzoMe92

do_login.php

Nov 16th, 2016
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.76 KB | None | 0 0
  1. <?PHP
  2. /*#################################################
  3. Città virtuale GPL                                #
  4.                                                   #
  5. Non rimuovere questo commento, grazie.            #
  6.                                                   #
  7. Programmatore: (Traimo) Vladimir Inconis          #
  8. E-mail: traimo at weaponmaster dot org            #
  9. E-mail: traimo at laforzaoscura dot com           #
  10.                                                   #
  11. Programmatore: (Prospero) Luca                    #
  12. E-mail: prosperocolonna_lot at hotmail dot com    #
  13.                                                   #
  14. http://www.weaponmaster.org                       #
  15. http://www.laforzaoscura.com                      #
  16. http://www.steamcity.laforzaoscura.com            #
  17. */#################################################
  18. include "config.inc.php";
  19.  
  20. $USERNAME=$_POST['USERNAME'];
  21. $PASS=$_POST['PASS'];
  22.  
  23. $sqlonline = "SELECT USER_ONLINE,VER_ONLINE FROM ONLINE WHERE USER_ONLINE = '$USERNAME'";
  24. $contonline = mysqli_query($sqlonline) or die(mysqli_error());
  25. $numonline = mysqli_num_rows($contonline);
  26.  
  27. // Utente non online
  28. if ($numonline == 0)
  29.     {
  30.     /*GESTIONE DATA DI INGRESSO*/
  31.     // setto data e ora in base alla linga locale
  32.     setlocale (LC_TIME,"it_IT");
  33.     // metto data e ora in un array
  34.     $DATA1 = time();
  35.    
  36.     $date_time_array = getdate($DATA1);
  37.    
  38.     $hours = $date_time_array['hours'];
  39.     $minutes = $date_time_array['minutes'];
  40.     $seconds = $date_time_array['seconds'];
  41.     $month = $date_time_array['mon'];
  42.     $day = $date_time_array['mday'];
  43.     $year = $date_time_array['year'];
  44.    
  45.     $DATA1 = mktime($hours,$minutes,$seconds,$month,$day,$year);
  46.     //echo strftime('%H : %M - %A %d %B %Y',$DATA_PROBLEMA);
  47.     //fine formattazione data
  48.     $DATAINGWAR = strftime('%H : %M - %d/%m/%y',$DATA1);
  49.    
  50.     $sql = "SELECT USERS.ID_USER,USERS.USERNAME,USERS.PASS,USERS.CORPORAZIONE_TIPO,USERS.STATO_TIPO,USERS.FUNZIONE_TIPO,USERS.URLAVATAR,USERS.SESSO,USERS.URLSESSO,USERS.RAZZA,USERS.URLRAZZA,USERS.FORZA,USERS.INTELLIGENZA,CORPORAZIONI.CORPORAZIONE,CORPORAZIONI.CARICA,CORPORAZIONI.SIMBOLO,FUNZIONI.FUNZIONE,STATO.STATO FROM USERS
  51.     INNER JOIN CORPORAZIONI
  52.       ON USERS.CORPORAZIONE_TIPO = CORPORAZIONI.ID_CORPORAZIONE
  53.     INNER JOIN FUNZIONI
  54.       ON USERS.FUNZIONE_TIPO = FUNZIONI.ID_FUNZIONE
  55.     INNER JOIN STATO
  56.       ON USERS.STATO_TIPO = ID_STATO
  57.     WHERE USERNAME = '$USERNAME' AND PASS = '$PASS'";
  58.     $conteggio = mysqli_query($sql,$connessione)or die(mysqli_error());
  59.     $num = mysqli_num_rows($conteggio);
  60.    
  61.     //Dati di login corretti
  62.     if ($num == 1)
  63.     while($ROW = mysqli_fetch_array($conteggio))
  64.         {
  65.         //DATI GENERALI DEL PG
  66.         $ID_USER=$ROW["ID_USER"];
  67.         $USERNAME=$ROW["USERNAME"];
  68.         $PASS=$ROW["PASS"];
  69.         $URLAVATAR=$ROW["URLAVATAR"];
  70.         $SESSO=$ROW["SESSO"];
  71.         $URLSESSO=$ROW["URLSESSO"];
  72.         //DATI SULLA CORPORAZIONE
  73.         $CORPORAZIONE_TIPO=$ROW["CORPORAZIONE_TIPO"];
  74.         $CORPORAZIONE=$ROW["CORPORAZIONE"];
  75.         $CARICA=$ROW["CARICA"];
  76.         $SIMBOLO=$ROW["SIMBOLO"];
  77.         //DATI SULLO STATO
  78.         $STATO_TIPO=$ROW["STATO_TIPO"];
  79.         $STATO=$ROW["STATO"];
  80.         //DATI SULLA FUNZIONE
  81.         $FUNZIONE_TIPO=$ROW["FUNZIONE_TIPO"];
  82.         $FUNZIONE=$ROW["FUNZIONE"];
  83.         //STATISTICHE DEL PG
  84.         $FORZA=$ROW["FORZA"];
  85.         $INTELLIGENZA=$ROW["INTELLIGENZA"];
  86.         $URLRAZZA=$ROW["URLRAZZA"];
  87.        
  88.         //*************sessione*****************
  89.         session_start();
  90.         session_unset();
  91.         session_destroy();
  92.         session_start();
  93.         $_SESSION['ID_USER']=$ID_USER;
  94.         $_SESSION['USERNAME']=$USERNAME;
  95.         $_SESSION['PASS']=$PASS;
  96.         $_SESSION['URLAVATAR']=$URLAVATAR;
  97.         $_SESSION['SESSO']=$SESSO;
  98.         $_SESSION['URLSESSO']=$URLSESSO;
  99.         $_SESSION['CORPORAZIONE_TIPO']=$CORPORAZIONE_TIPO;
  100.         $_SESSION['CORPORAZIONE']=$CORPORAZIONE;
  101.         $_SESSION['CARICA']=$CARICA;
  102.         $_SESSION['SIMBOLO']=$SIMBOLO;
  103.         $_SESSION['STATO_TIPO']=$STATO_TIPO;
  104.         $_SESSION['STATO']=$STATO;
  105.         $_SESSION['FUNZIONE_TIPO']=$FUNZIONE_TIPO;
  106.         $_SESSION['FUNZIONE']=$FUNZIONE;
  107.         $_SESSION['FORZA']=$FORZA;
  108.         $_SESSION['INTELLIGENZA']=$INTELLIGENZA;
  109.         //DATI SUGLI ONLINE
  110.         $_SESSION['LOCAZIONE']='Mappa';
  111.         $_SESSION['LAST']='login.php';
  112.         //*************sessione*****************
  113.        
  114.         // Stato = Libero o Arrestato
  115.         if ($STATO_TIPO == '1' OR $STATO_TIPO == '2')
  116.             {
  117.             //AGGIORNAMENTO TABELLA USERS
  118.             $sql = "UPDATE USERS SET DATAINGRESSO='$DATAINGWAR',INGRESSOIP='$_SERVER[REMOTE_ADDR]' WHERE USERNAME='$USERNAME'";
  119.             $query = @mysqli_query ($sql, $connessione)or die(mysqli_error());
  120.             //FINE AGGIORNAMENTO TABELLA USERS
  121.            
  122.             //INSERIMENTO NEGLI ONLINE
  123.             $TIMESTAMP = time();
  124.            
  125.             $sqlupd = "INSERT INTO ONLINE (USER_ONLINE,SESSO_ONLINE,RAZZA_ONLINE,SIMB_ONLINE,LUOGO_ONLINE,STATO_ONLINE,LAST_ONLINE,VER_ONLINE) VALUES ('$_SESSION[USERNAME]','$_SESSION[URLSESSO]','$URLRAZZA','$_SESSION[SIMBOLO]','$_SESSION[LOCAZIONE]','$_SESSION[STATO]','$_SESSION[LAST]','$TIMESTAMP')";
  126.             $queryupd = @mysqli_query ($sqlupd, $connessione)or die(mysqli_error());
  127.            
  128.             if ($STATO_TIPO == '1')
  129.                 {
  130.                 header("Location: main.php");
  131.                 }
  132.             else if ($STATO_TIPO == '2')
  133.                 {
  134.                 $_SESSION['LOCAZIONE']='Prigione';
  135.                 $_SESSION['LAST']='ChatFrameSet.php?LOCAZIONE=Prigione';
  136.                 header("Location: main2.php");
  137.                 }
  138.             }
  139.             // Stato = Esiliato
  140.         else if ($STATO_TIPO == '3')
  141.             {
  142.             session_start();
  143.             session_unset();
  144.             session_destroy();
  145.             echo "<link rel='stylesheet' href='stile.css' type='text/css'>";
  146.             echo "<div align=center class=RedTit>Sei stato esiliato.</div>";
  147.             echo "<br>";
  148.             echo "<br>";
  149.             echo "<div align=center><a href='login.php' class='standard'>Torna alla pagina di login</a></div>";
  150.             }
  151.             // Stato = Manutenzione
  152.         else if ($STATO_TIPO == '4')
  153.             {
  154.             session_start();
  155.             session_unset();
  156.             session_destroy();
  157.             echo "<link rel='stylesheet' href='stile.css' type='text/css'>";
  158.             echo "<div align=center class=RedTit>Spiacente, ma l'accesso è consentito solo allo staff.<br>Tutti gli utenti verranno avvisati della riapertura tramite una newsletter.<br>Torna presto a trovarci ^___*</div>";
  159.             echo "<br>";
  160.             echo "<br>";
  161.             echo "<div align=center><a href='login.php' class='standard'>Torna alla pagina di login</a></div>";
  162.             }
  163.         }
  164.    
  165.     //Dati di login sbagliati
  166.     else if ($num == 0)
  167.         {
  168.         echo "<link rel='stylesheet' href='stile.css' type='text/css'>";
  169.         echo "<div align=center class=RedTit>Accesso non consentito.<br>I dati inseriti non sono corretti.</div>";
  170.         echo "<br>";
  171.         echo "<br>";
  172.         echo "<div align=center><a href='login.php' class='standard'>Torna alla pagina di login</a></div>";
  173.         }
  174.     }
  175.  
  176. // Utente online o sessione non scaduta
  177. else if ($numonline == 1)
  178. while($ROW2 = mysqli_fetch_array($contonline))
  179.     {
  180.     $USER_ONLINE=$ROW2["USER_ONLINE"];
  181.     $VER_ONLINE=$ROW2["VER_ONLINE"];
  182.    
  183.     $DIFFERENZA = $TIMESTAMP - $VER_ONLINE;
  184.    
  185.     // La sessione è scaduta, l'utente non è collegato ed occorre aggiornare le variabili locali e di server
  186.     if  ($DIFFERENZA > 70)
  187.         {
  188.         session_start();
  189.         session_unset();
  190.         session_destroy();
  191.        
  192.         $sql = "DELETE FROM ONLINE WHERE USER_ONLINE='$USERNAME'";
  193.         $query = mysqli_query ($sql, $connessione)or die(mysqli_error());
  194.         echo "<link rel='stylesheet' href='stile.css' type='text/css'>";
  195.         echo "<div align=center class=RedTit>Per ragioni di sicurezza sei pregato di reinserire i tuoi dati.</div>";
  196.         echo "<br>";
  197.         echo "<br>";
  198.         echo "<div align=center><a href='login.php' class='standard'>Torna alla pagina di login</a></div>";
  199.         }
  200.     // La sessione è attiva, l'utente è collegato
  201.     else if ($DIFFERENZA < 70)
  202.         {
  203.         echo "<link rel='stylesheet' href='stile.css' type='text/css'>";
  204.         echo "<div align=center class=RedTit>Attenzione: l'utente risulta online.<br>Riprova ad accedere fra 60 secondi.</div>";
  205.         echo "<br>";
  206.         echo "<br>";
  207.         echo "<div align=center><a href='login.php' class='standard'>Torna alla pagina di login</a></div>";
  208.         }
  209.     }
  210. @mysqli_close ($connessione);
  211. ?>
Advertisement
Add Comment
Please, Sign In to add comment