login.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. require('include/glob.php');
  3. require('include/muoribene.php');
  4. function hspech($str) {
  5. return(htmlspecialchars($str,ENT_QUOTES|ENT_HTML5,'UTF-8'));
  6. }
  7. $btl='<a href="index.php">Back to login</a>';
  8. $errs='';
  9. if (!array_key_exists('email',$_POST) || trim($_POST['email'])=='')
  10. $errs.='You didn’t specify your email.<br>'.N;
  11. if (!array_key_exists('password',$_POST) || trim($_POST['password'])=='')
  12. $errs.='You didn’t specify your password.<br>'.N;
  13. if ($errs!='') muoribene($errs.$btl,false);
  14. require('include/myconn.php');
  15. $res=mysqli_query($link,'SELECT * FROM Admins WHERE Email=\''.mysqli_real_escape_string($link,$_POST['email']).'\'')
  16. or muoribene(__LINE__.': '.mysqli_error($link).'<br>'.$btl,true);
  17. mysqli_close($link);
  18. if (mysqli_num_rows($res)>1)
  19. muoribene('There’s more than one account with Email=«'.hspech($_POST['email']).'»!<br>'.$btl,false);
  20. $row=mysqli_fetch_assoc($res);
  21. if (mysqli_num_rows($res)<1 || !password_verify($_POST['password'],$row['Password']))
  22. muoribene('Unknown email or wrong password.<br>'.$btl,false);
  23. if ($row['Enabled']==0)
  24. muoribene('Your account is not enabled.<br>'.$btl,false);
  25. session_name('mustard');
  26. session_start();
  27. $_SESSION['AdmID']=$row['ID'];
  28. if ($row['Level']=='guest')
  29. header('Location: guestinsts.php');
  30. else
  31. header('Location: instances.php');
  32. ?>