Как внедрить куки на моем логине используя php " - PullRequest
0 голосов
/ 18 сентября 2018

Это домашняя работа - я пытаюсь войти в систему с помощью файлов 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>

1 Ответ

0 голосов
/ 19 сентября 2018

Вы должны помнить, что сеансы и файлы cookie не одно и то же: В чем разница между сеансами и файлами cookie в PHP?

Все еще у меня?Вы должны «установить» cookie на ваш validacion.php :

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

setcookie("usuario", $username);

На вашем index.html страница просто конвертировать его в файл php, добавив php вверху HTML.Добавьте прослушиватель php, который обнаружит пользователя, вошедшего в систему. Также не забудьте изменить index.html на index.php

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

Выйдя из системы, просто "сбросьте" куки, убедившись, что они существуют.

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

Я очень рекомендую вам поиск: http://php.net/manual/en/function.setcookie.php &
http://php.net/manual/en/function.unset.php

...