如何使用 php 在我的登录时实现 cookie"
Posted
技术标签:
【中文标题】如何使用 php 在我的登录时实现 cookie"【英文标题】:How to implement cookies on my login using php" 【发布时间】:2019-02-22 16:56:41 【问题描述】:这是作业 - 我正在尝试使用 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>
【问题讨论】:
您好,我建议您查看this page 关于$_COOKIE
【参考方案1】:
您应该记住,会话和 cookie 不是一回事: What is the difference between Sessions and Cookies in PHP?
还和我在一起吗? 您必须在 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
【讨论】:
以上是关于如何使用 php 在我的登录时实现 cookie"的主要内容,如果未能解决你的问题,请参考以下文章
当我们通过 facebook 登录时如何删除 facebook cookie