我想创建一个用数据库验证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,它必须将这两个值放在两个会话中,然后回显它们
答案 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();
。
此外,无论您在何处使用会话变量,都必须启动每个页面。