繁体   English   中英

如何使用php在我的登录名上实施cookie”

[英]How to implement cookies on my login using php"

这是家庭作业-我正在尝试使用Cookie进行登录,以便浏览器记住您以前登录的信息,但是我不知道如何将其实现到我的代码中。 要注销,如何删除Cookie再次登录?

<?php
session_start();
require_once('conexion.php');

$usuario=$_POST['usuario'];
$contrasena=$_POST['pass'];
$con=md5($contrasena);


$consulta= "SELECT * FROM usuarios WHERE usuario='$usuario' and contrasena='$con'";
$result= mysqli_query($link, $consulta);
  $contador=0;

  while($fila = mysqli_fetch_array($result))
  {
    $contador=1;
    //cambiar por cookies
    $_SESSION['id']=$fila['id'];
    $_SESSION['nombre']=$fila['usuario'];
  }

    if($contador==0)
    {
        echo '<script type="text/javascript">window.location.assign("login.html");</script>';

    }else{
            echo '<script type="text/javascript">window.location.assign("index.html");</script>';
    }

    ?>

这是我的表格:

<form action="validacion.php" method="POST">
  <div class="form-group has-feedback">
    <input type="text" class="form-control" placeholder="Usuario" name="usuario" id="username">
    <span class="glyphicon glyphicon-user form-control-feedback"></span>
  </div>
  <div class="form-group has-feedback">
    <input type="password" class="form-control" placeholder="Contraseña" name="pass" id="password">
    <span class="glyphicon glyphicon-lock form-control-feedback"></span>
  </div>
  <div class="row">
    <div class="col-xs-8">
      <div class="checkbox icheck">
        <label>
              <input type="checkbox"> Remember Me
            </label>
      </div>
    </div>
    <!-- /.col -->
    <div class="col-xs-4">
      <button type="submit" class="btn btn-primary btn-block btn-flat">enter</button>
    </div>
    <!-- /.col -->
  </div>

</form>

您应该记住,会话和cookie不是同一回事: PHP中的会话和cookie有什么区别?

还在我这儿? 您必须在validacion.php上“设置” cookie:

$username = $_POST['usuario']; //I would highly recommend that you clean the input. 

setcookie("usuario", $username);

在您的index.html页面上,只需在HTML顶部添加php,即可将其转换为php文件。 添加一个可检测到已登录用户的php侦听器。也请记住将index.html更改为index.php

<?php
  if (isset($_COOKIE["usuario"])) {
    echo "Welcome ".$_COOKIE["usuario"];
  }
?>

在您注销后,只需确保它们存在就可以“取消设置” cookie。

if (isset($_COOKIE['usuario'])) {
   unset($_COOKIE['usuario']);
}

我强烈建议您查找: http : //php.net/manual/en/function.setcookie.php&
http://php.net/manual/en/function.unset.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM