php cookies are not working


php cookies are not working

这是我的登录脚本,但问题是cookie不工作,我的意思是cookie没有在用户计算机上设置,我的代码是:

<!doctype html>
<html>
<head>
<title>Login</title>
</head>
<body>
<p><a href="register.php">Register</a> | <a href="login.php">Login</a></p>
<h3>Login Form</h3>
<form action="" method="POST">
Email: <input type="text" name="ename"><br />
Password: <input type="password" name="pass"><br /> 
<input type="submit" value="Login" name="submit"><br />
</form>
</body>
</html>

这是php代码,我的意思是从html表单中获取值并插入到数据库

<?php
include'connect.php';
if(isset($_POST["submit"])){
    if(!empty($_POST['ename']) && !empty($_POST['pass']))
    {
        $user=$_POST['ename'];
        $pass=$_POST['pass'];
        $securepass=md5($pass);
        $query=mysql_query("SELECT * FROM users WHERE user_email='".$user."' AND user_pass='".$securepass."'");
        $numrows=mysql_num_rows($query);
        if($numrows!=0)
        {
            while($row=mysql_fetch_assoc($query))
            {
                $dbemail=$row['user_email'];
                $dbpassword=$row['user_pass'];
                $dbuser=$row['user_name'];
            }
            if($user == $dbemail && $securepass == $dbpassword)
            {
                setcookie('gyanuser',$dbuser,$dbemail,$dbpassword,mktime()+84600,'/') or die("cookies can not be set");
                /* Redirect browser */
                header("Location: member.php");
            }
        }
        else 
        {
            echo "Invalid username or password!";
        }
    } else {
        echo "All fields are required!";
    }
}
?>

如果我使用会话,它工作得很好,但不能设置cookie这是我遇到的问题,当我点击提交时,它应该不能设置cookie

你必须为每个值设置三个不同的cookie,像这样

setcookie('gyanuser',$dbuser,mktime()+84600,'/') or die("cookies can not be set");
setcookie('gyanemail',$dbemail,mktime()+84600,'/') or die("cookies can not be set");
setcookie('gyanpassword',$dbpassword,mktime()+84600,'/') or die("cookies can not be set");

现在您可以使用

访问这些cookie
$_COOKIE['gyanuser']
$_COOKIE['gyanemail']
$_COOKIE['gyanpassword']

UPDATE 2:

如果你想保存所有的变量数据在一个cookie与分隔符,如,使用这个

$cookie_value = "'".$dbuser.",".$dbemail.",".$dbpassword."'";
setcookie('gyanuser',$cookie_value,mktime()+84600,'/') or die("cookies can not be set");