这是我的登录脚本,但问题是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");