Passar um valor em PHP

votos
0

Eu não poderia encontrar alguém com o mesmo problema, então eu estou pedindo-lo aqui.

Bem, eu criei uma página de login em PHP e também uma página de Secret, que aparecerá quando você entra. Eu também quero apresentar algumas informações sobre a página (que é retirado do banco de dados), mas de alguma forma eu não pode obter informações do usuário específico. (Ele exibe as informações de todos os usuários)

Assim, a página que você pode se abaixo é a partir da página secreta. também chamado de 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>

E aqui é o código da login.php

UserId é a partir do formulário HTML, onde eu digite o login-detalhes.

    <?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();
}?>

Assim! Estou recebendo o erro: Aviso: Undefined variable: User

Publicado 20/10/2018 em 13:53
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Esta questão é muito comum, basta colocar <?php session_start() ?>no início de sua página hidden.php.

Como afirmado na ajuda php ( PHP Session_Start )

Note:

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

Isso é obrigatório porque session_start enviar os cabeçalhos (incluindo informações de cookies) para o navegador, e se você não conseguir fazer isso no início, a saída php vontade um cabeçalho diferente (sem as informações do cookie) para o navegador. Quaisquer tentativas de envio de cabeçalhos novamente são silenciados, e também se você forçar o cabeçalho de envio irá resultar em uma "Os cabeçalhos já foram enviados" erro.

Saudações

Respondeu 20/10/2018 em 14:05
fonte usuário

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