Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.82 KB | None | 0 0
  1. <?php
  2. // We need to use sessions, so you should always start sessions using the below code.
  3. session_start();
  4. // If the useer is not logged in redirect to the login page...
  5. if (!isset($_SESSION['loggedin'])) {
  6.     header('Location: index.html');
  7.     exit;
  8. }
  9. if ($_SESSION['age']=='0') {
  10.     header('Location: setup.php');
  11.     exit;
  12. }
  13. $DATABASE_HOST = '';
  14. $DATABASE_USER = '';
  15. $DATABASE_PASS = '';
  16. $DATABASE_NAME = '';
  17. function lovehash($h1, $h2){
  18. $percent=0;
  19. for($i = 0; $i < 11; $i++){
  20. if ($h1[$i]==$h2[$i]){
  21. $percent++;
  22.  
  23. }}
  24. return 100/12*$percent;
  25. };
  26.  
  27. //DISTANZ
  28. function distance($lat1, $lon1, $lat2, $lon2, $unit="K") {
  29.   if (($lat1 == $lat2) && ($lon1 == $lon2)) {
  30.     return 0;
  31.   }
  32.   else {
  33.     $theta = $lon1 - $lon2;
  34.     $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  35.     $dist = acos($dist);
  36.     $dist = rad2deg($dist);
  37.     $miles = $dist * 60 * 1.1515;
  38.     $unit = strtoupper($unit);
  39.  
  40.     if ($unit == "K") {
  41.       return ($miles * 1.609344);
  42.     } else if ($unit == "N") {
  43.       return ($miles * 0.8684);
  44.     } else {
  45.       return $miles;
  46.     }
  47.   }
  48. }
  49.  
  50. $con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
  51. if (mysqli_connect_errno()) {
  52.     exit('Failed to connect to MySQL: ' . mysqli_connect_error());
  53. }
  54.  
  55.  
  56. //EIGENE KOORDINATEN
  57. if ($stmt = $con->prepare('SELECT E, N FROM swiss WHERE plz = ?')){
  58.     $stmt->bind_param('i', $_SESSION['location']);
  59.     $stmt->execute();
  60.     $stmt->bind_result($owne, $ownn);
  61.     $stmt->fetch();
  62.     $stmt->close();
  63. }
  64.  
  65.  
  66. $stmt = $con->prepare('SELECT gender, search FROM accounts WHERE id = ?');
  67. $stmt->bind_param('i', $_SESSION['id']);
  68. $stmt->execute();
  69. $stmt->bind_result($gender, $search);
  70. $stmt->fetch();
  71. $stmt->close();
  72.  
  73. if ($stmt = $con->prepare('SELECT * FROM accounts WHERE gender = ? AND search = ? AND NOT id = ?')) {
  74. $stmt->bind_param('iii', $search, $gender, $_SESSION['id']);
  75. $stmt->execute();
  76. $user = array();
  77. $result = $stmt->get_result();
  78. while($row = $result->fetch_assoc()) {
  79.         $user[]=$row['username'];
  80.                 $desc[]=$row['description'];
  81.                 $age[]=$row['age'];
  82.                 $loc[]=$row['location'];
  83.                 $url[]=$row['profile_pic'];
  84.                 $hash[]=$row['hash'];
  85.     }
  86.  
  87.  
  88. for($i = 0; $i < count($loc); ++$i) {
  89.     if ($stmt = $con->prepare('SELECT E, N FROM swiss WHERE plz = ?')){
  90.             $stmt->bind_param('i', $loc[$i]);
  91.             $stmt->execute();
  92.             $stmt->bind_result($ue, $un);
  93.             $stmt->fetch();
  94.             $stmt->close();
  95.     }
  96. $distance[$i]=distance($ownn, $owne, $un, $ue);
  97. }
  98. array_multisort($distance, $descr, $age, $user, $url, $hash);
  99.  
  100. $lovers="";
  101. for($i = 0; $i < count($user); ++$i) {
  102. $lovers.= '
  103. <div class="card">
  104.         <div class="card-body"><img height="100px" width="100px" src="'.$url[$i].'" />
  105.                 <h4 class="card-title" style="margin-bottom: 5px;">'.$user[$i].'</h4>
  106.                 <i>'.$desc[$i].'</i>
  107.                 <p style="margin-bottom: 0;"><i class="fa fa-user" style="color: rgb(0,181,62);padding-right: 20px;"></i>'.$age[$i].' Jahre alt</p>
  108.                 <p style="margin-bottom: 0;"><i class="fa fa-heart" style="color: rgb(249,0,0);margin-right: 16px;"></i>'.lovehash($_SESSION['hash'], $hash[$i]).'% Matching</p>
  109.                 <p style="margin-bottom: 0;"><i class="fa fa-location-arrow" style="color: rgb(0,128,255);margin-right: 19px;"></i>'.round($distance[$i]).' km</p><a class="card-link" href="#">Profil ansehen</a><a class="card-link" href="#">Nachricht senden</a></div>
  110. </div>
  111. </div>';
  112.  
  113.  
  114. }
  115.  
  116. }
  117. //, profile_pic, description, hash, age, location
  118. ?>
  119. <!DOCTYPE html>
  120. <html>
  121.  
  122. <head>
  123.     <meta charset="utf-8">
  124.     <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
  125.     <title>Uwonym Backend</title>
  126.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css">
  127.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  128.     <link rel="stylesheet" href="assets/css/Navigation-Clean.css">
  129.     <link rel="stylesheet" href="assets/css/styles.css">
  130. </head>
  131.  
  132. <body>
  133.     <nav class="navbar navbar-light navbar-expand-md shadow-sm navigation-clean">
  134.         <div class="container"><a class="navbar-brand" href="#">uwonym.</a><button data-toggle="collapse" class="navbar-toggler" data-target="#navcol-1"><span class="sr-only">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
  135.             <div class="collapse navbar-collapse"
  136.                 id="navcol-1">
  137.                 <ul class="nav navbar-nav ml-auto">
  138.                     <li class="nav-item" role="presentation"><a class="nav-link" href="home.php"><strong>Home</strong></a></li>
  139.                     <li class="nav-item" role="presentation"><a class="nav-link" href="chat.php">Chat</a></li>
  140.                     <li class="nav-item" role="presentation"><a class="nav-link" href="profile.php">Mein Profil</a></li>
  141.                     <li class="nav-item" role="presentation"><a class="nav-link text-danger border-warning" href="logout.php">Logout</a></li>
  142.                 </ul>
  143.             </div>
  144.         </div>
  145.     </nav>
  146.     <main style="padding: 20px;">
  147.         <h3>Partner finden</h3>
  148.         <div class="dropdown"><button class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false" type="button">Sortieren nach&nbsp;</button>
  149.             <div class="dropdown-menu" role="menu"><a class="dropdown-item" role="presentation" href="#">Matching</a><a class="dropdown-item" role="presentation" href="#">Entfernung</a><a class="dropdown-item" role="presentation" href="#">Alter</a></div>
  150.         </div>
  151.     </main>
  152.         <?php echo $lovers;?>
  153.  
  154.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  155.     <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.bundle.min.js"></script>
  156. </body>
  157.  
  158. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement