Проблем със Сесия

kikity_94

Registered
Здравейте.
Преди не ми се е случвало подбно нещо, но сега имам малък проблем. Когато напиша това

$username = $_SESSION['username'];

И ми дава следната грешка

Notice: Undefined index: username

И не мога да разбера защо я дава. Висчко това го правя на xampp
 
това е от xampp.

просто тр да правиш проверка дали сесията съществува за да и зададеш $username

ето така пробвай

if(isset($_SESSION['username'])) {

$username = $_SESSION['username'];

}
 
Добре а как мога от настройките на хампп да го оправя и ще има ли подобен проблем ако сайта е на платен хостинг ?

EDIT: @critrate +1 помогна ми :)
 
аз ползвам Xampp 1.7.1 от вече близо 2 години и съм много доволен и нямам проблем с това което ти имаш
 
Notice : - това са забележки и е важно да ги спазвате ! Така се учите да пишете правилно и сигорно, не са за пренебрегване грам даже !!! Забележките Ви карат да помислите къде грешите и в какво :?:
 
dakata__92 каза:
Notice : - това са забележки и е важно да ги спазвате ! Така се учите да пишете правилно и сигорно, не са за пренебрегване грам даже !!! Забележките Ви карат да помислите къде грешите и в какво :?:
Notice нямат нищо общо със забелжката, най много да ти помогнат като ти кажат, че си сбъркал името на някоя променлива.
 
Notice: Undefined index: username
А това не е ли груба грешка ! Много си помагат даже най-лесно се избягва с isSet ... Въпрос на стил на писане но доста намаляват броя на елемнтарните грешки ако свикнеш да пишеш правилно спрямо тези забележки, а вече филтрирането на данните и защитите към базата се отделна тема... Тази забележка показва, че не е сетната променлива и няма подаден параметър от сесията на променливата :) От личен опит казвам, че помагат много !
 
dakata__92 каза:
Notice: Undefined index: username
А това не е ли груба грешка ! Много си помагат даже най-лесно се избягва с isSet ... Въпрос на стил на писане но доста намаляват броя на елемнтарните грешки ако свикнеш да пишеш правилно спрямо тези забележки, а вече филтрирането на данните и защитите към базата се отделна тема... Тази забележка показва, че не е сетната променлива и няма подаден параметър от сесията на променливата :) От личен опит казвам, че помагат много !
съгласен съм с теб.най-добре е функцията за показване на грешките да е на ON за да се виждат и фикстват
 
Леле колко предложения изчетох и никой не позна :D

Просто ти казва, че все още не си задал нищо в $_SESSION['username'];

По мое лично мнение използването на isset, както е показано по-долу е лоша практика. Аз лично използвам empty,



if(!empty($_SESSION['username'])) {

$username = $_SESSION['username'];


}

защото isset проверява дали е зададена и не е подходящо да се използва за глобални променливи, като $_SESSION , $_GLOBAL с изключение на редки и специфични случаи, когато се очаква променливата да съдържа integer 0 или празни масиви ;) , но пък за масиви се препоръчва count ....
 
Тук може да по спориме малко :) И двата начина са напълно верни и обособяват еднакви неща в дадения случай ! Ако не е сетната променливата isset връща NULL ! Такаче върши същата работа като проверката с еmpty ! Друг е въпроса, че можеш да ползваш много проверки но са ненужни .
Това дали ползваш int или някакъв стринг е от значение при другите променливи в проверките след като е сетната сесията. Тук при isset ако е стринг ще върне true :wink: Едно и също е :D

http://php.net/manual/en/function.isset.php
 

Back
Горе