Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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
Cookies记得我发行PHP吗_Php_Cookies_Pdo - Fatal编程技术网

Cookies记得我发行PHP吗

Cookies记得我发行PHP吗,php,cookies,pdo,Php,Cookies,Pdo,我完全陷入困境。 我想创建一个记住我的饼干。以下是网上的指南,我想我需要补充: if($_POST['remember']){ setcookie('remember_me', $_POST['username'], $year); } elseif(!$_POST['remember']){ if(isset($_COOKIE['remember_me'])){ $past = time() - 100; setcookie(remember_m

我完全陷入困境。 我想创建一个记住我的饼干。以下是网上的指南,我想我需要补充:

if($_POST['remember']){
    setcookie('remember_me', $_POST['username'], $year);
}
elseif(!$_POST['remember']){
    if(isset($_COOKIE['remember_me'])){
        $past = time() - 100;
        setcookie(remember_me, gone, $past);
    }
}

$year = time() + 31536000;
setcookie('remember_me', $_POST['username'], $year);
设置if语句并创建cookie

然后将用户名的值设置为

我已经做到了:

<form action="../controller/authentication.php" method="post">
       <div class="form-group">
         <label>Username</label>
        <input class="form-control" placeholder="Username" name="username" type="text" value="<?php echo $_COOKIE['remember_me']; ?>">>

    </div>
    <div class="form-group">
      <label>Password</label>
      <input class="form-control" placeholder="Password" name="password" type="password" value="">
    </div>
    <div class="checkbox">
        <label>
          <input name="remember" id="remember" type="checkbox" value="1">Remember Me
        </label> <br>
        <small id="signup" class="form-text text-muted">Don't have an account yet? <a href='signup.php'>Sign Up</a>.</small>
      </div>
             <button type="submit" class="btn btn-primary">Login</button>
     </form>

任何帮助或提示都将不胜感激。

如果它说
注意:未定义索引:username
,那么这是初始化的问题

在您的第一个文件中,首先将$_COOKIE[]设置为空字符串,因为它尚未初始化,因此将其放入html视图肯定会给您带来错误

$_COOKIE['remember_me'] = "";
在代码的第一部分,我想知道为什么要这样写,因为我相信如果在if中声明一个空的year变量,它会抛出一个错误,相反,你应该这样做

if($_POST['remember']){
  $year = time() + 31536000;
  setcookie('remember_me', $_POST['username'], $year);
}
elseif(!$_POST['remember']){
    if(isset($_COOKIE['remember_me'])){
        $past = time() - 100;
        setcookie(remember_me, gone, $past);
    }
}

你缺少的引号
setcookie(记住我,过去了,$pass),我没有再看下去了…谢谢你,我已经改变了,但我觉得问题似乎就在我的登录页面的某个地方,因为它说“未定义索引:记住我”作为用户名,我可以看到一个很小的亮点,只是没有100%得到指南你的用户名来自帖子。对POST数组进行var_转储,让我们看一看。嗯,不确定我是否这样做了,因为我以前从未这样做过,但是它说NULL,这似乎很正常,因为我没有尝试登录。你需要在登录页面上键入用户名和密码,然后在PHP文件中,你应该有一个
var_转储($\u POST)在打开php标记之后。如果它给空值,正如我所怀疑的,您的值不会从一个页面传递到另一个页面;帮了我很多忙,谢谢你。还有一个问题。。。上面写着setcookie(记住我,过去了,$pass);我是否需要在它们周围加上“,”过去的是从哪里来的?@JackWarren如果它们是$cookieName或$username之类的变量名,你就不必在它们周围加上单引号。你还问我去哪里了…哈哈,我也不知道,是你的代码,是你贴的东西。您需要做的是将变量赋值给它们,就像$pass一样。
if($_POST['remember']){
  $year = time() + 31536000;
  setcookie('remember_me', $_POST['username'], $year);
}
elseif(!$_POST['remember']){
    if(isset($_COOKIE['remember_me'])){
        $past = time() - 100;
        setcookie(remember_me, gone, $past);
    }
}