似乎找不到问题的答案。我已将 $user 声明为全局变量,然后通过 cookie(如果存在)或表单设置它,然后我调用 start 函数。在 start 函数中,我回显了它的一部分,但我得到了 Undefined variable: user 即使我定义了它。
<?php
global $user;
function ConsoleLog($message)
{
echo '<script>console.log("' . $message. '")</script>';
}
if (isset($_COOKIE["user"])){
$user = unserialize($_COOKIE["user"]);
start();
}
else{
if (isset($_POST['submit']))
{
$user = array(
"name" => $_POST['name'],
"class" => $_POST['class'],
"school" => $_POST['school'],
);
$expire=time()+60*60*24*365;
setcookie("user",serialize($user), $expire);
start();
}
else
{
echo "Welcome new user!\n<br/>";
echo '<form method="post">
Name: <input type="text" name="name">
Class:<select name="class">
<option value="9">9</option>
</select>
School: <input type="text" name="school">
<input type="submit" name="submit">
</form>';
}
}
function start(){
echo "Your name: " . $user['name'] . "!\n<br/>";
echo "Your class: " . $user['class'] . "\n<br/>";
echo "Your school: " . $user['school'] . "\n<br/>";
?>
<hr/>
<h2>HomePage</h2>
<?php
}
?>