· 8 years ago · Aug 26, 2018, 06:28 PM
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
105if (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>