ciao a tutti,
sto impazzendo dietro ad un frammento di script per settare un cookie per un auto-login.
il form di login viene caricato dinamicamente tramite $.load() e quel form, tramite ajax richiama lo script di login.
codice:
IF checkbox è spuntato THEN crea un cookie
il punto è che non riesco a farglielo creare
in questa pagina non ci sono headers inviati, e questo script è richiamato ben dopo eventuali altri headers inviati al caricamento dell'index.php (pagina che richiama il form di login)
Codice PHP:
<?php
include('../config/db.php');
$mysqli = new mysqli("localhost","utente","password","mydb");
include('functions.php');
sec_session_start();
if(isset($_POST['un'], $_POST['pw']) && $_POST['un'] !== '' && $_POST['pw'] !== '') {
$un = $_POST['un'];
$password = $_POST['pw'];
$res = login($un, $password, $mysqli);
if(isset($_POST['autolog']) && $res === 'ok'){
$token = md5(uniqid('', true));
setcookie('t',$token,time() + (86400 * 365));
if ($stmt = $mysqli->prepare("REPLACE INTO tbl_autologUtente (username, token) VALUES (?,?)")) {
$stmt -> bind_param('ss', $un, $token);
$stmt->execute();
$mysqli -> error;
}
else die($mysqli -> error);
$mysqli->close();
echo 'ok';
}
else if ($res === 'ok') echo 'ok';
else if ($res === 'locked') echo 'locked';
else if ($res === 'wrong_pw') echo 'wrong_pw';
else if ($res === 'not_active') echo 'not_active';
else if ($res === 'banned') echo 'banned';
else if ($res === 'no_user') echo 'no_user';
} else echo 'Invalid_Request';
?>
attendo speranzoso vostre!