Prvo proučiti šta treba da se radi - pogledajte gde vas prethodni linkk vodi ...

Radimo sa XAMPP - PHP I MySQL, korišćenjem VS Code

  • kreirati bazu "demo"  ..... (COLLATE=utf8_unicode_ci)
  • u toj bazi kreirati tabelu users
create table users (
id int(11) unsigned not null AUTO_INCREMENT,
name varchar(75) not null,
password varchar(255) not null,
email varchar(100) not null,
PRIMARY KEY (ID),
UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;

U nastavku su, iza linkova, neki od fajlova koje smo kreirali:

  • prva verzija register.php - pre nego šro je dodat php
  • deo koji služi za povezivanje na bazu: config.php
  • deo koji služi za startovanje sesije: session.php
  • ... zatim se dodaje , ispred html koda u fajl register.php ....
    <?php
        require_once "config.php";
        require_once "session.php";

        if ($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['submit'])) {
            $fullname = $_POST['name'];
            $email = $_POST['email'];
            $password = $_POST['password'];
            $confirm_password = $_POST['confirm_password'];
            $password_hash = password_hash($password, PASSWORD_BCRYPT);

            if ($query = $db->prepare("SELECT * FROM users WHERE email = ?")) {
                $error='';
                $query->bind_param('s', $email);
                $query->execute();

                $query->store_result();

                if ($query->num_rows>0){
                    $error .= '<p class="error"> Ovaj email je ranije registrovan i ne moze ponovo </p>';
                } else {
                    // validacija passworda
                    if (strlen($password)<6) {
                        $error .= '<p class="error"> Password mora imati najmanje 6 znakova </p>';
                    }
                    // validacija confirmation passworda
                    if (empty($confirm_password)) {
                        $error .= '<p class="error"> Molim da potvrdite password </p>';
                    } else {
                        if (empty($error) && ($password != $confirm_password)) {

                            $error .= '<p class="error"> Ne poklapaju se password i onaj ponovljeni </p>';
                           

                        }
                    }

                    if (empty($error)) { // ovo se radi ako nema nikakvih gresaka
                        $insertQuery = $db->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?);");
                        $insertQuery->bind_param('sss', $fullname, $email, $password_hash);

                        $result = $insertQuery->execute();

                        if ($result) {
                            $error .= '<p class="success"> Uspela je registracija! </p>';
                        } else {
                            $error .= '<p class="error"> Nesto ne valje - registracija nije uspela </p>';
                        }
                    }

                }
            }

            $query -> close();
            $insertQuery -> close();

            $db -> close();        
          //  mysqli_close($db);
        }
    ?>
  •  ... ostatak ćemo da radimo na sledećem času ....
Last modified: Sunday, 2 November 2025, 3:53 PM