簡體   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