会话变量错误无效。 HTTPS

时间:2016-07-28 11:33:59

标签: php session variables https

经过3天的战斗,我完成了。我在我的网站上为激活帐户制作了php代码(电子邮件reflink)。实际代码如下所示:

<?php
session_start();
ini_set('display_errors', 1);

function won($polaczenie, $error)
{
    $polaczenie->close();
    $_SESSION['error2'] = $error;
    session_write_close();
    header("Location: index.php?sesja=".session_id());
    exit();
}

function antyhakier($input,$polaczenie)
{
    $input = htmlentities($input, ENT_QUOTES, "UTF-8");
    $input = mysqli_real_escape_string($polaczenie, $input);
    return $input;
}

require_once "php/connect.php";
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
$polaczenie->set_charset("utf8");
if($polaczenie->connect_errno!=0) echo "Twój numer na dzisiejsze losowanie lotto to: ".$polaczenie->connect_errno;

if(!isset($_GET['h'])) won($polaczenie,"Nie wprowadzono tajnego kodu Leonarda.");
$hash = antyhakier($_GET['h'],$polaczenie);

$rezultat = $polaczenie->query(sprintf("SELECT id FROM uzytkownicy WHERE hash='%s'",$hash));
$ile_userow = $rezultat->num_rows;
$wiersz = mysqli_fetch_array($rezultat, MYSQL_BOTH);
$id = $wiersz['id'];
if($ile_userow==0) won($polaczenie,"Ale z Ciebie haker :*");
else
{
    $polaczenie -> query("UPDATE `uzytkownicy` SET `potwierdzony`=1 WHERE id='$id'");
    won($polaczenie,"Twój e-mail został potwierdzony. Teraz możesz się zalogować.");
}
?>

点击激活链接后,我在数据库中看到变量从0变为1,我被重定向到index.php,我有:

if(isset($_GET['sesja'])) session_id($_GET['sesja']);
session_start();

if(isset($_SESSION['error2']))
{
    echo '<script>alert("'.$_SESSION['error2'].'");</script>';
    unset($_SESSION['error2']);
}

当然,我没有看到任何错误,虽然我可以在registration.php之后看到它,我正在使用相同的&#34;赢得&#34;功能......真的请求帮助,因为我无能为力。 Greatings,我希望你能帮助我们。

0 个答案:

没有答案