Передайте значение в PHP

голоса
0

Я не мог найти кого-нибудь с той же проблемой, поэтому я прошу его здесь.

Ну, я создал логин-страницу в PHP, а также страницы «секретно», которая будет отображаться при входе. Я также хочу показать некоторую информацию о странице (которая берется из базы данных), но почему-то я не могу получить информацию от конкретного пользователя. (Он отображает информацию от всех пользователей)

Таким образом, страница, которую вы можете себе ниже на странице «секретно». также называют «hidden.php»

<table align=center style=color: black; position: relative; top: 200px; width: 800px; line-height: 70px; border: 1px solid black;>
            <tr>
                <th colspan=5><h2 style=text-align: center;>Dogwalk historik</h2></th>
            </tr>
            <tr>
                <th>Hund</th>
                <th>Vem</th>
                <th>Vad</th>
                <th>Datum</th>
                <th>Tid</th>
            </tr>
            <?php

                $serverName = den1.mysql2.gear.host;
                $username = HIDDEN;
                $password =  HIDDEN;
                $db = HIDDEN;

                include 'login.php';

                //Create connection
                $conn = mysqli_connect($serverName, $username, $password, $db);

                $sql = SELECT Hund, Vem, Vad, Datum, Tid from tbl_rastad WHERE Username='.$User.';
                $result = $conn-> query($sql);

                if($result-> num_rows > 0){
                    while($row = $result-> fetch_assoc()){
                        echo <tr><td>. $row[Hund] .</td><td>. $row[Vem] .</td><td>. $row[Vad] .</td><td>. $row[Datum] .</td><td>. $row[Tid] .</td></tr>;
                    }
                    echo </table>;
                }
                else{
                    echo 0 result;
                }
                $conn-> close();
            ?>
        </table>

А вот код от «login.php»

«Идентификатор пользователя» от формы HTML, где я ввести логин-данные.

    <?php
session_start();

$serverName = den1.mysql2.gear.host;
$username = HIDDEN;
$password =  HIDDEN;
$db = HIDDEN;

//Create connection
$conn = mysqli_connect($serverName, $username, $password, $db);

if(isset($_POST['userId']))

$User=$_POST['userId'];
$Pass=$_POST['passId'];

$sql = SELECT * from tbl_register WHERE Username= '.$User.' AND Password = '.$Pass.' limit 1;
$result = mysqli_query($conn, $sql);

if(mysqli_num_rows($result) == 1){  
    $_SESSION['User'] = $User;
    header(location:hidden.php);
    exit();
}
else{
    echo <label style='color:red;'>Användarnamnet eller lösenordet är fel!</label>;
    echo <br>;
    exit();
}?>

Так! Я получаю сообщение об ошибке: Примечание: Undefined переменной: Пользователь

Задан 20/10/2018 в 12:53
источник пользователем
На других языках...                            


1 ответов

голоса
0

этот вопрос очень часто, просто поставить <?php session_start() ?>в начале страницы hidden.php.

Как указано в PHP помощи ( PHP session_start )

Note:

To use cookie-based sessions, session_start() must be called before outputing anything to the browser.

Это является обязательным, так как session_start отправить заголовки (включая информацию куков) в браузер, и если вы не в состоянии сделать это в самом начале, PHP будет выводить другой заголовок (без информации печенья) к браузеру. Любые попытки отправить заголовки снова приглушены, а также, если вы заставляете заголовок посыла приведет к «уже послал заголовки» ошибка.

С уважением

Ответил 20/10/2018 в 13:05
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more