Jak pobrać dane z bazy do sesji?
Taki zapis nie przynosi efektów $_SESSION['id'] = $id; ,
chciałem sprawdzić czy taki zapis będzie działał i wpisując echo "Witaj <b>".$_SESSION['id']."</b>"; nic się nie wyświetla.
SpiritCode
4.01.2015, 19:57:03
A masz inicjalizację sesji?
a masz włączone wyświetlanie wszystkich błędów tzn tak jak tu pisze
Temat: Jak poprawnie zadac pytanie ?
Żadne błędy się nie wyświetlają.
ale ja pytam czy masz je włączone, bo połowa osób która tu na forum przychodzi nie ma, a potem nie wiedzą czemu im coś nie działa, druga sprawa kodowanie utf-8 bez bom?
http://ideone.com/431ZiK
to poproszę kod, to jest podstawa
$id = 1;
Zmienną ma pobrać z mysql.
to jest przykład a ja proszę twój kod, bo go sobie nie wyczaruje
<?php
include 'config.php';
if (isset($_POST['loguj'])) {
$login = filtruj($_POST['login']);
$haslo = filtruj($_POST['haslo']);
")) > 0)
{
$_SESSION['login'] = $login;
$_SESSION['id'] = $id;
$_SESSION['zalogowany'] = true;
}
else echo "Wpisano złe dane.";
}
if ($_SESSION['zalogowany']==true)
{
header("refresh:0;url=../klient.php");
}
if ($_SESSION['zalogowany']==false){
header("refresh:0;url=../index.php") }
?>
zabrakło session_start(); na samym początku po <?php po to był ten przykład, że mogłeś to samemu zauważyć
sazian
4.01.2015, 20:21:56
to teraz popatrz na ten kod i powiedz gdzie przypisujesz cokolwiek do $id
session_start(); jest w 'config.php';
ok

no ale tak jak zauważył
sazian przypisujesz tam coś co nie istnieje to dlatego jest puste, zrób sobie var_dump($_SESSION);
$id = mysql_query("SELECT id FROM uzytkownik"); hyyyyy tutaj??
to gdzieś w fragmencie którego nie pokazałeś, nie tak tylko
http://php.net/manual/pl/function.mysql-fetch-array.php 
zrobileś var_dump($_SESSION); ? pokaż wynik
array(3) { ["login"]=> string(3) "test" ["id"]=> int(0) ["zalogowany"]=> bool(true) }
no to sesje Ci działają tak jak maja? a żeby zapisać w $id poprawne id to musisz tak jak napisałem post wyżej, ale itak tego fragmentu $id = mysql_query("SELECT id FROM uzytkownik"); w tym kodzie nigdzie nie ma?
zrobiłem jak napisałeś i jak testuję nieważne na jakim koncie zawsze wyświetla 0.
pokaż kod

a takie pytanie wylogowujesz się i niszczysz sesje?
$id = mysql_query("SELECT id FROM uzytkownik");
while ($row = mysql_fetch_array($id, MYSQL_NUM))
i robisz tak $_SESSION['id']= $row[0]; ?
$id = mysql_query("SELECT id FROM uzytkownik WHERE login = '$login'"); i tak

i while niepotrzebne

tzn tak $row = mysql_fetch_array($id, MYSQL_NUM);
teraz to nic nie pokazuje
dobra pokaz to jeszcze raz całe

bo nie ma co zgadywać
<?php
include 'config.php';
if (isset($_POST['loguj'])) {
$login = filtruj($_POST['login']);
$haslo = filtruj($_POST['haslo']);
")) > 0)
{
$_SESSION['login'] = $login;
$_SESSION['id']= $row['id'];
$_SESSION['zalogowany'] = true;
}
else echo "Wpisano złe dane.";
}
if ($_SESSION['zalogowany']==true)
{
header("refresh:0;url=../klient.php");
}
if ($_SESSION['zalogowany']==false)
header("refresh:0;url=../index.php")
?>
nie
$id = mysql_query("SELECT id FROM uzytkownik WHERE login = '$login'"); $_SESSION['id']= $row[0];
tak
tego kodu co masz powyżej? nie możliwe na pewno masz tak samo jak podałem?
<?php
include 'config.php';
if (isset($_POST['loguj'])) {
$login = filtruj($_POST['login']);
$haslo = filtruj($_POST['haslo']);
")) > 0)
{
$id = mysql_query("SELECT id FROM uzytkownik WHERE login = '$login'");
$_SESSION['login'] = $login;
$_SESSION['id']= $row[0];
$_SESSION['zalogowany'] = true;
}
else echo "Wpisano złe dane.";
}
if ($_SESSION['zalogowany']==true)
{
header("refresh:0;url=../klient.php");
}
if ($_SESSION['zalogowany']==false)
header("refresh:0;url=../index.php")
?>
dobra dzięki

już wiem twój kod jest dobry ale ja nie skasowałem: $_SESSION['id'] = $id;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.