无法使访客会话使用验证

时间:2016-06-20 08:53:38

标签: php html sql session

我想创建一个用数据库验证id和surname的页面,然后为id和surname创建两个会话。

这是我目前的代码

<form method="POST" action="">
<input type="number" placeholder="ID" name="id" required>
<input type="text" placeholder="Achternaam" name="naam" required>
<input type="submit" name="login" value="Inloggen" id="login"><br>
</form>

<?php
if(isset($_POST["id"]) && isset($_POST["naam"]) ){
    $x = $_POST["id"];
    $y = $_POST["naam"];

    $db=mysqli_connect("localhost","root","","zwartebergen");
    if (mysqli_connect_errno()) {
        die("Failed to connect to MySQL: " . mysqli_connect_error());
        }
        $a=mysqli_query($db, "SELECT id,achternaam FROM gast WHERE id=\"$x\"");
        $query = "SELECT id,achternaam FROM gast WHERE id=\"$x\" AND achternaam=\"$y\"";
        $result = mysqli_query($db,$query);

        if(mysqli_num_rows($result) > 0) {
            while ($row = mysqli_fetch_array($a)){ 
                $g=$row['0'];
                $t=$row['3'];

            if($g==$x && $t==$y){
                $_SESSION["id"] = $id;
                $_SESSION["naam"] = $naam;
            }else{
                echo "<font class='offset' color='red'>Fout ID of Achternaam!</font>";
                }
            }
        }
        else{
        echo "<font class='offset' color='red'>Deze gebruiker is niet geregistreerd!</font>";
    }
}
?>

我希望输入类型匹配数据库中的行0和3,如上面的代码中所述。 例如,数据库的ID为1000,姓氏为“Surname”

然后,如果我输入输入类型1000和Surname,它必须将这两个值放在两个会话中,然后回显它们

2 个答案:

答案 0 :(得分:0)

要存储会话数据,您必须先调用session_start功能。然后,您可以存储所需的值并在其他地方使用它们。

像这样:

session_start(); // begin the session

if($g==$x && $t==$y){
    $_SESSION['id'] = $id;
    $_SESSION['naam'] = $naam;
}

然后您可以在以后使用它们,例如:

echo $_SESSION['id'];

答案 1 :(得分:0)

您必须在页面顶部开始session_start();

此外,无论您在何处使用会话变量,都必须启动每个页面。