Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的cookies不能正常工作_Php_Html_Mysql_Session_Cookies - Fatal编程技术网

Php 为什么我的cookies不能正常工作

Php 为什么我的cookies不能正常工作,php,html,mysql,session,cookies,Php,Html,Mysql,Session,Cookies,我觉得好像我把所有东西都放在了正确的地方,但是我的饼干似乎没有储存起来。如果有人能发现我的错误,我将不胜感激 我可以很好地登录,但它似乎没有保存cookie,因为当我注销时,我的登录字段中没有显示任何内容 索引页- <form action="controller/authentication.php" method="post"> <div class="text-danger"><?php if(isset($message)) { ech

我觉得好像我把所有东西都放在了正确的地方,但是我的饼干似乎没有储存起来。如果有人能发现我的错误,我将不胜感激

我可以很好地登录,但它似乎没有保存cookie,因为当我注销时,我的登录字段中没有显示任何内容

索引页-

<form action="controller/authentication.php" method="post">
           <div class="text-danger"><?php if(isset($message)) { echo $message; } ?></div>
                <div class="form-group">  
                 <label for="login">Username</label>
                 <input name="member_name" type="text" value="<?php if(isset($_COOKIE["member_login"])) { echo $_COOKIE["member_login"]; } ?>" class="form-control" />
                </div>
                <div class="form-group">
                 <label for="password">Password</label>
                 <input name="member_password" type="password" value="<?php if(isset($_COOKIE["member_password"])) { echo $_COOKIE["member_password"]; } ?>" class="form-control" />
                </div>
                <div class="form-group">
                 <input type="checkbox" name="remember" <?php if(isset($_COOKIE["member_login"])) { ?> checked <?php } ?> />
                 <label for="remember-me">Remember me</label>
                </div>
                <div class="form-group">
                 <div><input type="submit" name="login" value="Login" class="btn btn-success"></span></div>
                </div>
                </form>
登录功能-

function retrieve_salt($username)
{
    global $conn;
    $sql = 'SELECT * FROM customer WHERE username = :username';
    $statement = $conn->prepare($sql);
    $statement->bindValue(':username', $username);
    $statement->execute();
    $result = $statement->fetch();
    $statement->closeCursor();
    return $result;
}

//create a function to login
function login($username, $password)
{
    global $conn;
    $sql = 'SELECT * FROM customer WHERE username = :username AND password = :password';
    $statement = $conn->prepare($sql);
    $statement->bindValue(':username', $username);
    $statement->bindValue(':password', $password);
    $statement->execute();
    $result = $statement->fetchAll();
    $statement->closeCursor();
    $count = $statement->rowCount();
    return $count;
}

编辑以添加登录函数,所以我的问题是调用其他文件夹中的文件,这些文件在setcookie语句中需要“/”

所以我改变了-

setcookie ("member_login",$name,time()+ (10 * 365 * 24 * 60 * 60));
到-

如果您无法理解为什么无法查看cookie
var\u dump($\u cookie)

这是一个很好的特点


希望这能帮助一些人走上正轨。

add
login
function code.added对
var\u dump($\u COOKIE)表示抱歉显示了什么?或者
var_dump($_COOKIE[“成员登录”])?是否启用了错误报告功能并设置为捕获和显示(php)错误?我是否会将var_dump($_COOKIE)放入其中;在我的index.php页面中?如果是这样,我得到。。。数组(5){“LastVisite”]=>string(16)“04/08/18 09:10am”[“wpfuid”]=>string(36)“eedd72cf-1bb5-4a5f-8c3e-2f3ec5f56011”[“"ga”=>string(25)“GA1.1.68287711.1524371126”[“PHPSForm-9d11b177”]=>string(36)“2564a120-bd94-48f0-8d16-8A52B4854”[“PHPSD”=>string(PHPSTOB925B4F6N6F4F6N26)”该斜杠有时需要用于它所在的域。我引用手册():“服务器上的路径,cookie将在其中可用。如果设置为“/”,cookie将在整个域中可用。如果设置为“/foo/”,cookie将仅在/foo/目录和域的所有子目录(如/foo/bar/)中可用。默认值是设置cookie的当前目录。“以及其中的更多信息和示例(续)…一个是
setcookie(“TestCookie”,“$value,time()+3600”,“/~rasmus/”,“example.com”,1);
setcookie ("member_login",$name,time()+ (10 * 365 * 24 * 60 * 60));
setcookie ("member_login",$name,time()+ (10 * 365 * 24 * 60 * 60) , '/');