Joh*_*ohn 2 php session get fetch
我有以下登录脚本,我在那里使用会话.
<?php
session_start();
if(isset($_SESSION['logged_in'])){
$id = $_SESSION['id'];
header("Location: start.php?id=$id");
exit();
}
if(isset($_POST['submit'])){
$x1 = $_POST['x1'];
$x2 = $_POST['x2'];
...
$query = $db->query("SELECT * FROM table WHERE x1='".$x1."' AND x2='".$x2."'");
if($query->num_rows === 1){
$row = $query->fetch_object();
$id = $row->id;
$_SESSION['logged_in'] = true;
$_SESSION['id'] = $id;
header("Location: start.php?id=$id");
3more queries
exit();
Run Code Online (Sandbox Code Playgroud)
start.php将是:
<?php
echo $_GET['id'];
?>
Run Code Online (Sandbox Code Playgroud)
我以为$ _GET ['id']会存储在服务器上,以便显示$ _GET.fetch_object正在运行.我知道,因为它将在浏览器的"id = $ id"中以正确的方式显示.所以有人会友好,可以帮助我.谢谢!
小智 5
$ _GET超全局定义为URL字符串的一部分:
http://example.org/index.php?foo=bar&baz=1
Run Code Online (Sandbox Code Playgroud)
在index.php中:
echo $_GET['foo']; // bar
echo $_GET['baz']; // 1
Run Code Online (Sandbox Code Playgroud)
因此$ _GET不会存储在服务器上,而是与每个HTTP请求一起传递,就像$ _POST一样,但它会在HTTP标头中传递,而不是简单地附加到URL的末尾.