Sesja na drugiej stronie

Odpowiedz Nowy wątek
2019-12-02 21:02
0

Męcze sie z tym juz jakis czas dzisiaj i albo mam pomroczność albo juz nie wiem.

//tu wczesniej jest kod nie zwiazany z tym ponizej

session_start(); // to jest na samej gorze pliku

unset($_SESSION['id']);
unset($_SESSION['username']);
unset($_SESSION['timeout']);

$_SESSION = array();
session_destroy();

if(ini_get("session.use_cookies"))
{
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 3600,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}

session_start();

$_SESSION['delete_true'] = "Konto zostało usunięte";

header('location: index.php');
exit;

Problem w tym ze nie widac w index.php tej sesji $_SESSION['delete_true'] choc jest zainicjowane session_start();
W indexie mam warrninga ze Undefined index.....Jakby session_start() w tym kodzie nie zostało wywołane.

edytowany 1x, ostatnio: marchewa, 2019-12-02 21:04

Pozostało 580 znaków

2019-12-02 21:04
1

Eeee.... Masz 2x session_start(). Musi być to tylko raz i na samej górze strony.

Sprawdzam... - marchewa 2019-12-02 21:05
Niestety dalej to samo - marchewa 2019-12-02 21:08
Podbijam stawkę i sprawdzam - Burmistrz 2019-12-02 23:22

Pozostało 580 znaków

2019-12-02 21:17
1

Zmień nazwę ciasteczka na coś innego niż nazwa sesji.

Pozostało 580 znaków

2019-12-02 21:23
0
serek napisał(a):

Zmień nazwę ciasteczka na coś innego niż nazwa sesji.

Nic nie daje zmiana. Nie daje tez nawet usuniecie tego i zostawienie tylko session_destroy()

W index.php

if(isset($_SESSION['delete_true']))
{
    print "<div class=\"alert alert-success alert-dismissible fade in\">";
    print "<a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">&times;</a>";
    print "<strong>Informacja!</strong> " . $_SESSION['delete_true'];
    print "</div>";

    unset($_SESSION['delete_true']);

}
edytowany 1x, ostatnio: marchewa, 2019-12-02 21:29

Pozostało 580 znaków

2019-12-02 23:09
0

Kurde, pomyśl... Taki problem sprawdzać linijka po linijce? Ten kod jest krótki...

Wywal session_destroy()

Pozostało 580 znaków

2019-12-03 06:32
0

No ale wlasnie chce zeby to bylo. To jest dalsza część kodu ktory usuwa usera iwszystkie jego wpisy z bazy. To mam wczesniej i nie podalem bo to sensu nie ma. Jesli usuwam usera to musze go wylogowac wiec usuwam ciastko, inne zmienne sesyjne i daje session_destroy() i po tym od razu session_start() tylko to wlasnie nie dziala. Dziwna sprawa bo jak wytne session_destroy i wstawie w warunku w index to tez nie chce dzialac. Zupelnie nie wiem o co chodzi. Chce w index wyswietlic info ze user usunął konto wiec musze powtornie zainicjowac sesje

edytowany 2x, ostatnio: marchewa, 2019-12-03 06:40

Pozostało 580 znaków

2019-12-03 08:27
0

W index.php masz session_start() ?

edytowany 1x, ostatnio: leonpro778, 2019-12-03 08:27
ej no nie jestem taka lama. Na sesjach robie od pińcet lat ale teraz yto mam czachy. zreszta napisalem to w pierwszym poscie - marchewa 2019-12-03 13:21
Ok, tego nie zauważyłem. Sorki - leonpro778 2019-12-03 13:42

Pozostało 580 znaków

2019-12-04 14:28
0

Dobra, przyjrzałem się na ten Twój kod i @serek ma rację. Zobacz:

index.php

<?php
    session_start(); // to jest na samej gorze pliku

    $_SESSION['delete_true'] = "Konto zostało usunięte";

    if(ini_get("session.use_cookies"))
    {
        $params = session_get_cookie_params();
        setcookie('loggedUser', '', time() - 3600, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
    }
    header('location: index2.php');
?>

I teraz index2.php

<?php
    session_start();

    print_r($_SESSION);

    echo '<br /><a href="index.php">back</a>';
?>
edytowany 1x, ostatnio: leonpro778, 2019-12-04 14:28

Pozostało 580 znaków

2019-12-06 07:37
0

Juz sobie poradzilem.
Przenioslem cale te usuwanie do pliku gdzie wyswietlam te sesje i ponizej tego osadzilem usuniecie ale do teraz e wiem z czym byl problem.
Na moje to po session_destroy() powinno zadzialac session_start() a tak sie nie dzialo.

Pozostało 580 znaków

2019-12-06 09:17
1

Ale rozwiązaniem Twojego problemu było nazewnictwo cookie nazwą sesji.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0