Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Přihlášení do administrace

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jakub Klindera:29.11.2018 15:25

Zdravím,

Na Rapsberry Pi mi běží web server, mám funkční mysql a phpmyadmin.

Nyní se chci přihlásit do administrace.

Kód (login.php):

<?php
        include("config.php");
        session_start();
        $error = "";


                if($_SERVER["REQUEST_METHOD"] == "POST") {
                        $user = $db->real_escape_string($_POST['username']);
                        $pass = $db->real_escape_string($_POST['password']);

                        $sql = "SELECT id FROM users WHERE username = '$user' and password = '$pass'";
                        $result = $db->query($sql);
                        $row = $result->fetch_array(MYSQLI_ASSOC);
                        $count = $result->num_rows;

                        if($count == 1) {
                                $_SESSION['login_user'] = $user;
                                header("location: admin.php");
                                die;

                        }else {
                                $error = "<br>Tvůj login nebo heslo je nesprávné.";
                        }
                }

                if(isset($_SESSION['login_user'])){
                        header("location:admin.php");
                }
        ?>

        <body>
                <div id="mainpage">
            <!-- Hlavička webu s logem-->
            <div class="header">
                <div class="logo"><img src="images/logo.png" alt="logo" float="center" padding-top="5px"></div>
            </div>
            <!-- Hlavní obsah celého webu -->
            <div class="contentl">
                <h1>Přihlášení do administrace</h1>
                <hr>
                <div class="form">
                        <form method="POST" action="">
                        <p><br></p>

                         <label class="form"><input type="text" name="username" placeholder="Uživatelské jméno" required /></label>
                        <p class="form"><input type="password" name="password" placeholder="Heslo" required /></p>
                        <p><br></p>
                        <input type="submit" > </input>

                                                                                        </form>
                    </div>
            </div>

Jakmile kliknu na odeslat, tak mě to nepřesměruje na admin.php, ale ukáže se prázdná stránka login.php

Chci, abys se mi po přihlášení ukázala stránka admin.php

Kód (admin.php):

<?php
    include 'session.php';
                include 'config.php';


        $mysqli = mysqli_init();
                if (!$mysqli) {
                        die('Inicializace se nezdařila.\n');
                }
                if (!$mysqli->real_connect($database['host'], $database['user'],  $database['userpw'],$database['databasename'])) {
                        die('Chyba spojení:_ (' . mysqli_connect_errno() . ') \n'. mysqli_connect_error());
                }
                if (!$mysqli->set_charset("utf8")) {
                        printf("Chyba v načtení sady znaků: %s\n", $mysqli->error);
                        exit();
                } else {

                }

                $mysqli->close();
    ?>

Ještě tam mám session.php

<?php
        include("config.php");
        session_start();

        $user_check = $_SESSION['login_user'];

        $sql = "SELECT username FROM users WHERE username = '$user_check '" ;
        $result = $db->query($sql);
        $row = $result->fetch_array(MYSQLI_ASSOC);

        $login_session = $row['username'];

        if(!isset($_SESSION['login_user'])){

                header("location:login.php");
                die;
        }
        ?>

V phpmyadmin mám i databázi, i tabulku. config.php je nastavený dobře, odkoušel jsem to.

Děkuji

 
Odpovědět
29.11.2018 15:25
Avatar
Jakub Klindera:29.11.2018 16:50

Vyřešeno

 
Nahoru Odpovědět
29.11.2018 16:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.