Passere en verdi i PHP

stemmer
0

Jeg kunne ikke finne noen med samme problem, så jeg spør den ut her.

Vel, jeg har opprettet en login-side i PHP og også en hemmelig side som vises når du har logget inn. Jeg ønsker også å vise informasjon på siden (som er hentet fra databasen) men noe jeg ikke kan få informasjon fra den spesifikke brukeren. (Det viser informasjon fra alle brukere)

Så siden du kan se nedenfor er fra den hemmelige side. også kalt som 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>

Og her er koden fra login.php

UserId er fra html form, der jeg inn login-informasjon.

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

Så! Jeg får feilen: Notice: Undefined variable: Bruker

Publisert på 20/10/2018 klokken 12:53
kilden bruker
På andre språk...                            


1 svar

stemmer
0

dette problemet er svært vanlig, bare sette <?php session_start() ?>i begynnelsen av hidden.php siden.

Som nevnt i php hjelp ( PHP Session_start )

Note:

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

Dette er obligatorisk fordi session_start sende meldingshodene (inkludert cookie-informasjon) til nettleseren, og hvis du ikke klarer å gjøre dette i begynnelsen, php vil produksjonen en annen header (uten cookie-informasjon) til nettleseren. Eventuelle forsøk på å sende overskrifter igjen er dempet, og også hvis du tvinge Send topp vil resultere i en "topper allerede sendt" feil.

hilsen

Svarte 20/10/2018 kl. 13:05
kilden bruker

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