Advertisement
Guest User

Php login/register

a guest
Aug 26th, 2018
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.99 KB | None | 0 0
  1. <?php session_start(); ?>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7.  
  8.     <h1>Registrovat</h1>
  9.     <form method="post">
  10.         Jmeno <br>
  11.         <input type="text" name="jmeno" required autocomplete="off">
  12.         <br> Email <br>
  13.         <input type="text" name="email" required autocomplete="off">
  14.         <br> Heslo <br>
  15.         <input type="text" name="heslo" required autocomplete="off">
  16.         <br>
  17.         <input type="submit" value="OK">
  18.     </form>
  19.  
  20.     <h1> Přihlásit se </h1>
  21.     <form method="post">
  22.         Jméno<br>
  23.         <input type="text" name="jmenologin" required autocomplete="off">
  24.         <br> Heslo <br>
  25.         <input type="password" name="heslologin" required autocomplete="off">
  26.         <br>
  27.         <input type="submit" value="OK">
  28.     </form>
  29.     <?php
  30.  
  31.     ###### Uprav údaje k databázi ######
  32.    ###### Povinné označené *     ######
  33.  
  34.     $servername = "<host>"; //Host databáze *
  35.     $username = "<uzivatel>"; //Uživatel databáze *
  36.     $password = "<heslo>"; //Heslo databáze *
  37.     $dbname = "<databaze>"; //Název databáze *
  38.  
  39.     $tabulka = "WebLoginData"; //Název tabulky
  40.     $radekjmeno = "Jmeno"; //Sloupec jméno
  41.     $radekheslo = "Heslo"; //Sloupec heslo
  42.     $radekdatum = "Datum"; //Sloupec datum
  43.     $radekemail = "Email"; //Sloupec email
  44.  
  45.  
  46.     ######################################
  47.    #           Dále needituj            #
  48.    #           Pouze dole příkazy       #
  49.    #           po přihlášení            #
  50.    ######################################
  51.  
  52.     $conn = new mysqli($servername, $username, $password, $dbname);
  53.     if ($conn->connect_error) {
  54.         die("Chyba pripojeni: " . $conn->connect_error);
  55.     }
  56.     $sql = "CREATE TABLE IF NOT EXISTS ".$tabulka." (ID INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ".$radekjmeno." VARCHAR(31), ".$radekheslo." VARCHAR(255), ".$radekemail." VARCHAR(40), ".$radekdatum." VARCHAR(30))";
  57.     if (!$conn->query($sql) === TRUE) {
  58.         echo "Chyba: " . $conn->error;
  59.     }
  60.  
  61.     if (isset($_POST["jmeno"])) {
  62.         $jmeno = $_POST["jmeno"];
  63.         $heslo = $_POST["heslo"];
  64.         $email = $_POST["email"];
  65.         $datum = date("j. n. Y  G:i");
  66.  
  67.  
  68.         if (preg_match('/^[A-Za-z][A-Za-z0-9]{2,25}$/', $jmeno)) {
  69.             if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  70.                 if ($jmeno != $heslo) {
  71.                     if (strlen($heslo) >= 5) {
  72.                         $hash = password_hash("$heslo", PASSWORD_DEFAULT);
  73.                         $sql = 'SELECT '.$radekjmeno.','.$radekemail.' FROM '.$tabulka.' WHERE '.$radekjmeno.' = "'.$jmeno.'";';
  74.                         $result = $conn->query($sql);
  75.                         $row = $result->fetch_assoc();
  76.                         if ($row[$radekjmeno] == NULL || $row[$radekemail] == NULL) {
  77.                             $sql = "INSERT INTO ".$tabulka." (".$radekjmeno.", ".$radekheslo.", ".$radekdatum.", ".$radekemail.")
  78.                            VALUES ('$jmeno', '$hash', '$datum', '$email')";
  79.  
  80.                             if ($conn->query($sql) === TRUE) {
  81.                                 echo "Uspesne zaregistrovano";
  82.                                 header("Refresh: 0");
  83.                                 $conn->close();
  84.                             } else {
  85.                                 echo "Chyba sql: " . $sql . "<br>" . $conn->error;
  86.                             }
  87.                         } else {
  88.                             echo "Uživatel již existuje!";
  89.                         }
  90.                     } else {
  91.                         echo "Heslo musi mit nejmene 4 znaky!";
  92.                     }
  93.                 } else {
  94.                  echo "Nemuzes pouzit heslo jako tve jmeno!";
  95.              }
  96.          } else {
  97.             echo "Neplatný email!";
  98.         }
  99.     } else {
  100.      echo "Neplatné jméno! Jméno musí být 3 až 25 znaků dlouhé a obshovat pouze Aa-Zz a čísla uvnitř.";
  101.  }
  102.  $conn->close();
  103. }
  104.  
  105. if (isset($_POST["jmenologin"])) {
  106.     $conn = new mysqli($servername, $username, $password, $dbname);
  107.     if ($conn->connect_error) {
  108.         die("Connection failed: " . $conn->connect_error);
  109.     }
  110.     $jmenologin = $_POST["jmenologin"];
  111.     $heslologin = $_POST["heslologin"];
  112.     $sql = 'SELECT * FROM '.$tabulka.' WHERE '.$radekjmeno.' = "'.$jmenologin.'";';
  113.     $result = $conn->query($sql);
  114.     $row = $result->fetch_assoc();
  115.     if ($row[$radekjmeno] != NULL) {
  116.         echo "<br>";
  117.         if (password_verify($_POST["heslologin"] , $row[$radekheslo])) {
  118.  
  119.             ######### Prikazy pri prihlaseni #######
  120.            echo 'Spravne heslo!';
  121.             //$_SESSION["jmeno"] = $jmenologin;
  122.             //header("index.php");
  123.  
  124.  
  125.             ########################################
  126.        } else {
  127.             echo '<h3>Spatne heslo.</h3>';
  128.             unset($jmenologin, $heslologin);
  129.         }
  130.     } else {
  131.         echo "<h3>Uživatel neexistuje.</h3>";
  132.         unset($jmenologin, $heslologin);
  133.     }
  134.     $conn->close();
  135. }
  136. ?>
  137.  
  138. </body>
  139. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement