直接从表单输入在php中设置cookie


set cookie in php directly from form input

下面的代码是一个简单的实验。在这里,我试图创建一个名称输入表单,该表单将在浏览器中设置为cookie。但它似乎根本不起作用。这里的问题可能在哪里。我是php的初学者。所以,如果有人指出我在上犯的错误,那就太好了

<?php
if(isset($_POST['name']) && !empty($_POST['name'])){
$cookie_value=$_POST['name'];
setcookie('user',$cookie_value, time() + 3600, '/');
}
?>
<html>
<body>
<?php
if(isset($cookie_value)&& !empty($cookie_value)) {
    echo "user is".$cookie_value;
} else {
    echo "Cookies are not set";
}
?>
<form action=<?php echo $_SERVER['PHP_SELF'] ?> method='post'>
<input type='text' name='text'>
<input type='submit' value='submit'>
</form>
</body>
</html>

您正在调用$_POST['name'],但您的输入名称是text。可能要将变量更改为$_POST['text']

设置cookie并重定向到另一个页面(第一次重定向后cookie将可见)后,您可以使用$_COOKIE['user']访问该cookie。

我在你的代码中看不到这一点,我很确定这就是原因。

下一个问题是错误的输入名称,就像@castis指出的那样。