Logowanie i rejestracja - Widoki.

Widoki (view) to ostatni element, który tworzymy, w folderze application\views tworzymy pliki login.php i register.php

W nich umieszczamy linki frameworka bootstrap 4 z którego korzystaliśmy już wcześniej, oraz komunikaty walidacji z kontrolera, otwieramy formularz i tworzymy odpowiednie inputy, dane z nich zostaną przekazane do kontrolera w celu walidacji.

register.php:


 <!doctype html>
<html lang="pl">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
 
    <title>Logowanie i rejestracja Codeigniter</title>
</head>
<body>
<div class="container">
    <div class="row align-items-center">
        <div class="col-md-6">
            <?php if(!$this->session->userdata('logged_in')) : ?>
                <li><a href="/login/login">LOGIN</a></li>
            <?php endif; ?>
            <?php if($this->session->userdata('logged_in')) : ?>
                <li><a href="<?php echo base_url(); ?>users/logout">WYLOGOWANIE</a></li>
            <?php endif; ?>
            <?php if($this->session->flashdata('login_failed')): ?>
                <?php echo '<p>'.$this->session->flashdata('login_failed').'</p>'; ?>
            <?php endif; ?>
            <?php if($this->session->flashdata('user_loggedin')): ?>
                <?php echo '<p>'.$this->session->flashdata('user_loggedin').'</p>'; ?>
            <?php endif; ?>
            <?php if($this->session->flashdata('user_loggedout')): ?>
                <?php echo '<p>'.$this->session->flashdata('user_loggedout').'</p>'; ?>
            <?php endif; ?>
            <?php if($this->session->flashdata('user_registered')): ?>
                <?php echo '<p>'.$this->session->flashdata('user_registered').'</p>'; ?>
            <?php endif; ?>
        </div>
    </div>
    <div class="row align-items-center pt-5">
        <div class="col-md-6 off-">
            <?php echo validation_errors(); ?>
            <?php echo form_open('users/register'); ?>
            <div class="form-group">
                <label for="name">Imię:</label>
                <input name="name" type="text" class="form-control" id="name" required>
            </div>
            <div class="form-group">
                <label for="email">E-mail:</label>
                <input name="email" type="email" class="form-control" id="email" required>
            </div>
            <div class="form-group">
                <label for="username">Login</label>
                <input type="text" class="form-control" name="username" id="username" required>
            </div>
            <div class="form-group">
                <label for="pwd">Hasło:</label>
                <input name="password" type="password" class="form-control" id="pwd" required>
            </div>
            <div class="form-group">
                <label for="pwd2">Powtórz hasło:</label>
                <input name="password2" type="password" class="form-control" id="pwd2" required>
            </div>
            <button type="submit" class="btn btn-primary">Zarejestruj</button>
            <?php echo form_close(); ?>
        </div>
    </div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
</body>
</html>

            

login.php:


<!doctype html>
<html lang="pl">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
 
    <title>Logowanie i rejestracja Codeigniter</title>
</head>
<body>
<div class="container">
    <div class="row align-items-center">
        <div class="col-md-6">
        <li><a href="/login/register">REGISTER</a></li>
        <?php if($this->session->userdata('logged_in')) : ?>
        <li><a href="<?php echo base_url(); ?>users/logout">WYLOGOWANIE</a></li>
        <?php endif; ?>
        <?php if($this->session->flashdata('login_failed')): ?>
            <?php echo '<p>'.$this->session->flashdata('login_failed').'</p>'; ?>
        <?php endif; ?>
        <?php if($this->session->flashdata('user_loggedin')): ?>
            <?php echo '<p>'.$this->session->flashdata('user_loggedin').'</p>'; ?>
        <?php endif; ?>
        <?php if($this->session->flashdata('user_loggedout')): ?>
            <?php echo '<p>'.$this->session->flashdata('user_loggedout').'</p>'; ?>
        <?php endif; ?>
        <?php if($this->session->flashdata('user_registered')): ?>
            <?php echo '<p>'.$this->session->flashdata('user_registered').'</p>'; ?>
        <?php endif; ?>
        </div>
    </div>
 
    <div class="row align-items-center pt-5">
 
        <?php if(!$this->session->userdata('logged_in')) : ?>
        <div class="col-md-6">
            <?php echo form_open('users/login'); ?>
            <div class="form-group">
                <label for="email">Login:</label>
                <input name="username" type="text" class="form-control" id="login" required>
            </div>
            <div class="form-group">
                <label for="pwd">Hasło:</label>
                <input name="password" type="password" class="form-control" id="pwd" required>
            </div>
            <button type="submit" class="btn btn-primary">Zaloguj</button>
            <?php echo form_close(); ?>
        </div>
        <?php endif; ?>
    </div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
</body>
</html>
            

(Kliknij plus poniżej, aby przejść do początku)

Logowanie i rejestracja.
Czyli jak stworzyć podstawowy system logowania i rejestracji w frameworku Codeigniter.
keyboard_arrow_down
Stworzenie bazy danych i tabeli users. add
Stworzenie kontrolera, fukcji logowania i rejestracji, oraz reguł walidacji. add
Stworzenie modelu i wymiana informacji z bazą danych. add
Stworzenie części wizualnej, czyli widoków. add