Пасля таго, як карыстальнік Выхад ўсё яшчэ можа атрымаць доступ да абароненай старонцы

I added a session & used this code to prevent user from accessing a page after logout but i can't do so. User can still access the previous page.Here is the code

увайсці код

<form id="form1" name="form1" method="post" action="alogin.php" onsubmit="return(validate());">
  
Username : <input type="text" name="name" id="name" />




Password : <input type="password" name="pass" id="pass" />





<input type="submit" name="submit" id="submit" value="Login" />

</form>

у кожных абароненых старонках я выкарыстаў гэты

<?php
session_start();
if (!isset($_SESSION['name'])) {
  header("location:login.html");
} else {
}
?>

у той час як logout.php ўтрымлівае

 <?php
session_start();
$_SESSION=array();
setcookie(session_name(),"",time()-3600);
session_destroy();
header("Location: login.html?id=You are successfully logged out");
?>
4
@CodingNoob Так як ваша форма звычайная HTML, вядома, застанецца ў кэш-памяці. Калі б гэта было PHP на аснове/імя файла з кодамі сесій і г.д. ўнутры яго, будзе шукаць сесіі/печыва. Калі не знойдзены, то ён тэарэтычна павінен спыніць любыя далейшыя дзеянні. Я магу адправіць што-тое, каб паказаць вам, але не ў якасці адказу, а навадны (адказ), каб паказаць вам, што я выкарыстоўваю і працуе дастаткова добра.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob самым дзіўным. (Збянтэжыць). Любая удача з іншымі адказы/прапановы?
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob самым дзіўным. (Збянтэжыць). Любая удача з іншымі адказы/прапановы?
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Гэта не мае сэнсу і з'яўляецца самым дзіўным. Адзіная рэч, якая прыходзіць на розум, што вы вызначаеце імя сеансу ў $ _ SESSION [ «імя»] называецца «імя» , пакуль вы не вызначаючы гэта ў іншым месцы.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Гэта не мае сэнсу і з'яўляецца самым дзіўным. Адзіная рэч, якая прыходзіць на розум, што вы вызначаеце імя сеансу ў $ _ SESSION [ «імя»] называецца «імя» , пакуль вы не вызначаючы гэта ў іншым месцы.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Ці ваша форма выпадкова а .php або .html файл? Гэта можа зрабіць вялізную розніцу.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Ці ваша форма выпадкова а .php або .html файл? Гэта можа зрабіць вялізную розніцу.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob, што я меў на ўвазе, ваша форма мае .html пашырэнне або .php ?
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob, што я меў на ўвазе, ваша форма мае .html пашырэнне або .php ?
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Я думаю, што гэта корань вашай праблемы.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Я думаю, што гэта корань вашай праблемы.
дададзена аўтар Funk Forty Niner, крыніца
Вам трэба дадаць session_start (); , дзе вы паказваеце «у кожнай абароненай старонцы я выкарыстаў гэта» у якасці першай лініі пры ?.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Так як ваша форма звычайная HTML, вядома, застанецца ў кэш-памяці. Калі б гэта было PHP на аснове/імя файла з кодамі сесій і г.д. ўнутры яго, будзе шукаць сесіі/печыва. Калі не знойдзены, то ён тэарэтычна павінен спыніць любыя далейшыя дзеянні. Я магу адправіць што-тое, каб паказаць вам, але не ў якасці адказу, а навадны (адказ), каб паказаць вам, што я выкарыстоўваю і працуе дастаткова добра.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob кэш можа гуляць пэўную ролю ва ўсім гэтым, аднак пачынаць з простым HTML і прыкончыць ў PHP, мне не зрабіць добры рэцэпт. ;-)
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob кэш можа гуляць пэўную ролю ва ўсім гэтым, аднак пачынаць з простым HTML і прыкончыць ў PHP, мне не зрабіць добры рэцэпт. ;-)
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob я размясціў навадны адказ ніжэй, прасцей паказаць, як адказ, то ў каментары полі.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob я размясціў навадны адказ ніжэй, прасцей паказаць, як адказ, то ў каментары полі.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Падобна на тое, вы не вызначае імя сеансу ў SetCookie (session_name (), "", час() - 3600); , можа быць. Як паказана ў калі (! Исеть ($ _ SESSION [ 'імя'])) . Паспрабуйце SetCookie (session_name (), "імя", час() - 3600); , ці нешта, што ўплывае.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Падобна на тое, вы не вызначае імя сеансу ў SetCookie (session_name (), "", час() - 3600); , можа быць. Як паказана ў калі (! Исеть ($ _ SESSION [ 'імя'])) . Паспрабуйце SetCookie (session_name (), "імя", час() - 3600); , ці нешта, што ўплывае.
дададзена аўтар Funk Forty Niner, крыніца
Паспрабуйце дадаць session_destroy (); у кожнай абароненай старонцы, паглядзець, што дае.
дададзена аўтар Funk Forty Niner, крыніца
Паспрабуйце дадаць session_destroy (); у кожнай абароненай старонцы, паглядзець, што дае.
дададзена аўтар Funk Forty Niner, крыніца
Калі карыстальнік проста націснуўшы кнопку таму, гэта магло быць праблемай кэш браўзэра?
дададзена аўтар Graham Walters, крыніца
Вы можаце размясціць код, які вы змяніліся?
дададзена аўтар Graham Walters, крыніца
Вы можаце размясціць код, які вы змяніліся?
дададзена аўтар Graham Walters, крыніца
Ці можаце вы пацьвердзіць, націснуўшы на кнопку Назад адлюстроўвае старонку, як ўвайшоўшаму выкарыстоўвалі б бачыць яго, цяпер абновіце старонку, што вы бачыце? Калі вы не перанакіраваны, ваш PHP пераблыталіся. Калі ён перанакіруе вас, ваш браўзэр кэшаванне старонкі, і вы павінны будзеце ўсталяваць загаловак заканчэння, каб прымусіць браўзэр перазагрузіць старонку.
дададзена аўтар Graham Walters, крыніца
Пасля таго, як вы абнавілі старонку? Гэта азначае, што PHP сэсіі ня быць знятая з аховы/знішчаны. Ці выпадкова вы ўнесці змены ў файл выхаду з сістэмы? <�Код> $ _ SESSION = масіў (); выглядае падазроным да мяне, паспрабуйце каментуючы яго
дададзена аўтар Graham Walters, крыніца
Пасля таго, як вы абнавілі старонку? Гэта азначае, што PHP сэсіі ня быць знятая з аховы/знішчаны. Ці выпадкова вы ўнесці змены ў файл выхаду з сістэмы? <�Код> $ _ SESSION = масіў (); выглядае падазроным да мяне, паспрабуйце каментуючы яго
дададзена аўтар Graham Walters, крыніца
Тады праблема заключаецца ў кэшы. Як @Ed Выгаіць сказана ніжэй проста пераканайцеся, што няма ніякіх далейшых iteractions.
дададзена аўтар bksi, крыніца
Тады праблема заключаецца ў кэшы. Як @Ed Выгаіць сказана ніжэй проста пераканайцеся, што няма ніякіх далейшых iteractions.
дададзена аўтар bksi, крыніца
Які тып з'яўляюцца «Абароненыя старонкі» PHP, HTML?
дададзена аўтар bksi, крыніца
session_start павінен быць усталяваны ў самым пачатку файла, таму што калі сервер перасылацца паўкокс (нейкае паведамленне пра памылку, напрыклад, BOM сімвалы і г.д.) у браўзэр, session_start могуць не прымяняцца.
дададзена аўтар bksi, крыніца
Я маю на ўвазе, што пашырэнне ў іх ёсць?
дададзена аўтар bksi, крыніца
@bksi, калі вы паглядзіце на абароненых старонках вы можаце здагадацца, гэта PHP напэўна браценік
дададзена аўтар Coding Noob, крыніца
@fred упэўнены, што я буду чакаць і канчатковы адказ кадавання усё ў парадку яго кэш?
дададзена аўтар Coding Noob, крыніца
@fred прабачце я забыўся згадаў я выкарыстаў session_start (); на кожнай старонцы. пытанне адрэдагаваны
дададзена аўтар Coding Noob, крыніца
@bksi браценік рэч працавала і redireting карыстальніка канкрэтнай старонцы (login.html), як адразу не ведаю, што адбылося ў апошні час: /
дададзена аўтар Coding Noob, крыніца
@graham там было шмат змен. даданне PHP формы, Java скрыпт я баюся, я не магу паставіць у 18 старонак тут: /
дададзена аўтар Coding Noob, крыніца
@graham там было шмат змен. даданне PHP формы, Java скрыпт я баюся, я не магу паставіць у 18 старонак тут: /
дададзена аўтар Coding Noob, крыніца
@fred ня дадаў ваша рэкамендавалася змена ніякага эфекту: /
дададзена аўтар Coding Noob, крыніца
@fred ня дадаў ваша рэкамендавалася змена ніякага эфекту: /
дададзена аўтар Coding Noob, крыніца
@fred на даданне session_destroy (); ён кажа: «Warning: session_start (): Не атрымоўваецца адправіць абмежавальнік сесіі кэш - загалоўкі ўжо даслаў (выхад пачаўся ў C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php: 327) у C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php на лініі 328 Папярэджаньне: не ўдаецца змяніць інфармацыю ў загалоўку - загалоўкі ўжо даслаў (выхад пачаўся ў C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php: 327) у C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php ў радку 332 "
дададзена аўтар Coding Noob, крыніца
@graham я магу ўбачыць старонку як зарэгістраваны карыстальнік.
дададзена аўтар Coding Noob, крыніца
@graham я магу ўбачыць старонку як зарэгістраваны карыстальнік.
дададзена аўтар Coding Noob, крыніца
@fred Нету ўсё не атрымалася :(. і ў дачыненні да «імя» я выкарыстаў гэта поле для карыстальніка, каб увайсці ў сярэднім $ _POST HTML формы, якую вы можаце ўбачыць яго ў першым кадаванні
дададзена аўтар Coding Noob, крыніца
@fred Нету ўсё не атрымалася :(. і ў дачыненні да «імя» я выкарыстаў гэта поле для карыстальніка, каб увайсці ў сярэднім $ _POST HTML формы, якую вы можаце ўбачыць яго ў першым кадаванні
дададзена аўтар Coding Noob, крыніца
@graham не зрабiў гэта, але няма: '(не працуе: /
дададзена аўтар Coding Noob, крыніца
@graham не зрабiў гэта, але няма: '(не працуе: /
дададзена аўтар Coding Noob, крыніца
нехта сказаў мне, што вы павінны напісаць session_start (); штуковіна ў верхняй частцы старонкі. я зрабіў гэта і ў цяперашні час, калі я націскаю на гэтай канкрэтнай старонкі яна проста перанакіроўвае мяне login.html: /
дададзена аўтар Coding Noob, крыніца
нехта сказаў мне, што вы павінны напісаць session_start (); штуковіна ў верхняй частцы старонкі. я зрабіў гэта і ў цяперашні час, калі я націскаю на гэтай канкрэтнай старонкі яна проста перанакіроўвае мяне login.html: /
дададзена аўтар Coding Noob, крыніца
да дазвольце мне растлумачыць, што я раблю, гэта можа дапамагчы вам Guzy зразумець праблему. карыстальнік падпісвае пры дапамозе формы HTML, які перанакіроўвае вас на адмінку -> поле імя карыстальніка вядома як «імя» я стаўлю гэтае імя сесіі і ўсе іншыя рэчы, якія вы можаце ўбачыць у маім кодзе вышэй
дададзена аўтар Coding Noob, крыніца
да дазвольце мне растлумачыць, што я раблю, гэта можа дапамагчы вам Guzy зразумець праблему. карыстальнік падпісвае пры дапамозе формы HTML, які перанакіроўвае вас на адмінку -> поле імя карыстальніка вядома як «імя» я стаўлю гэтае імя сесіі і ўсе іншыя рэчы, якія вы можаце ўбачыць у маім кодзе вышэй
дададзена аўтар Coding Noob, крыніца
@graham я не думаю, што так. Пару дзён таму такое ж кадаваньне працуе. я дадаў некалькі рэчаў, і ён перастаў працаваць. я спрабаваў выпусціць, але не змог :(
дададзена аўтар Coding Noob, крыніца
@fred форма .html абароненыя старонкі PHP і выхад з сістэмы з'яўляецца PHP занадта
дададзена аўтар Coding Noob, крыніца
@fred форма .html абароненыя старонкі PHP і выхад з сістэмы з'яўляецца PHP занадта
дададзена аўтар Coding Noob, крыніца
@bksi браценік рэч працавала і redireting карыстальніка канкрэтнай старонцы (login.html), як адразу не ведаю, што адбылося ў апошні час: /
дададзена аўтар Coding Noob, крыніца
@fred дарагі, што гэта тое, што я згадваў вышэй. форма мае пашырэнне «.html»
дададзена аўтар Coding Noob, крыніца
@fred дарагі, што гэта тое, што я згадваў вышэй. форма мае пашырэнне «.html»
дададзена аўтар Coding Noob, крыніца
@bksi .php з'яўляецца пашырэнне бро
дададзена аўтар Coding Noob, крыніца
@fred: О, як. Калі ласка, вы можаце распрацаваць яго & рашэнне таксама. я сутыкнуўся гэтае пытанне ад 3-х дзён і я заўсёды працягваць рабіць іншыя рэчы, таму што я быў не ў стане справіцца з ім
дададзена аўтар Coding Noob, крыніца
@fred: О, як. Калі ласка, вы можаце распрацаваць яго & рашэнне таксама. я сутыкнуўся гэтае пытанне ад 3-х дзён і я заўсёды працягваць рабіць іншыя рэчы, таму што я быў не ў стане справіцца з ім
дададзена аўтар Coding Noob, крыніца
@bksi .php з'яўляецца пашырэнне бро
дададзена аўтар Coding Noob, крыніца
@fred упэўнены, што я буду чакаць і канчатковы адказ кадавання усё ў парадку яго кэш?
дададзена аўтар Coding Noob, крыніца
@fred на даданне session_destroy (); ён кажа: «Warning: session_start (): Не атрымоўваецца адправіць абмежавальнік сесіі кэш - загалоўкі ўжо даслаў (выхад пачаўся ў C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php: 327) у C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php на лініі 328 Папярэджаньне: не ўдаецца змяніць інфармацыю ў загалоўку - загалоўкі ўжо даслаў (выхад пачаўся ў C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php: 327) у C: \ XAMPP \ HTDOCS \ КМВ \ viewall.php ў радку 332 "
дададзена аўтар Coding Noob, крыніца
@graham я не думаю, што так. Пару дзён таму такое ж кадаваньне працуе. я дадаў некалькі рэчаў, і ён перастаў працаваць. я спрабаваў выпусціць, але не змог :(
дададзена аўтар Coding Noob, крыніца
@fred хммм я буду працаваць на ім таксама. але будзе шукаць рашэнні бягучай сітуацыі таксама.
дададзена аўтар Coding Noob, крыніца
@fred хммм я буду працаваць на ім таксама. але будзе шукаць рашэнні бягучай сітуацыі таксама.
дададзена аўтар Coding Noob, крыніца

10 адказы

Калі пытанні карыстальнікаў «назад» у сваім браўзэры, браўзэр можа вырашыць, каб загрузіць старонку з яго кэша. карыстальнік не зможа зрабіць тое, што які ўвайшоў элемент можа зрабіць, таму што сесія была знішчана, і з'яўляецца несапраўдным.

Магчымы абыходны шлях будзе ўключаць AJAX-запыт на гэтых пачуццёвых старонак, якая правярае, калі карыстальнік ўсё яшчэ знаходзіцца ў. Калі так, то адлюстраванне адчувальных элементаў (або атрымаць іх з дапамогай AJAX), а калі няма (карыстальнік выходзіць з сістэмы) дысплей папярэджанне або накіраваць яго на лагін-старонку (праз JS).

5
дададзена
@CodingNoob Вы можаце пазначыць у пытанні, якой код дадаецца, які зрабіў яго спыніць працу?
дададзена аўтар pal4life, крыніца
дададзена аўтар bksi, крыніца
Гэта, пра налады. Вы можаце ўсталяваць загалоўкі, з мінаюць старонку, так што браўзэр можа абнавіць старонку з дапамогай запыту замест кэша.
дададзена аўтар bksi, крыніца
Старонка можа атрымаць запісу на дыск карыстальніка, а калі спіну ХІТ карыстацкага браўзэра не загрузіць старонку з вашага сайта, але з жорсткага дыска, на дадзены момант гэтая старонка была ратуемся карыстальнік увайшоў у сістэму такім чынам, каб старонкі як паказана на малюнку.
дададзена аўтар user1182183, крыніца
@bksi як. прабачце я цалкам нуб: /
дададзена аўтар Coding Noob, крыніца
я засмучаны. Вы можаце растлумачыць гэта крыху, калі ласка. Пару дзён таму рэчы былі працаваць і перанакіраванне на старонку ўваходу, як паказана ў кодзе сеансу. не ведаю, што адбылося пасля таго, як дадаць яшчэ трохі кода.
дададзена аўтар Coding Noob, крыніца
@ Pal4life шкада дарагі я не думаю, што так, што я магу дадаць некаторыя JavaScripts шмат запытаў Query і некаторы PHP кадавання таксама. але я ўпэўнены, што я не адрэдагаваны файл выхад з сістэмы і да я зрабіў некаторыя змены ў сесіі рэчах, якія я не памятаю ня я мець копію альбо: /
дададзена аўтар Coding Noob, крыніца
@flesh хмм, але я думаю, што гэта не так. можа быць я няправільна прычына рэч працавала
дададзена аўтар Coding Noob, крыніца

Калі пытанні карыстальнікаў «назад» у сваім браўзэры, браўзэр можа вырашыць, каб загрузіць старонку з яго кэша. карыстальнік не зможа зрабіць тое, што які ўвайшоў элемент можа зрабіць, таму што сесія была знішчана, і з'яўляецца несапраўдным.

Магчымы абыходны шлях будзе ўключаць AJAX-запыт на гэтых пачуццёвых старонак, якая правярае, калі карыстальнік ўсё яшчэ знаходзіцца ў. Калі так, то адлюстраванне адчувальных элементаў (або атрымаць іх з дапамогай AJAX), а калі няма (карыстальнік выходзіць з сістэмы) дысплей папярэджанне або накіраваць яго на лагін-старонку (праз JS).

5
дададзена
@CodingNoob Вы можаце пазначыць у пытанні, якой код дадаецца, які зрабіў яго спыніць працу?
дададзена аўтар pal4life, крыніца
дададзена аўтар bksi, крыніца
Гэта, пра налады. Вы можаце ўсталяваць загалоўкі, з мінаюць старонку, так што браўзэр можа абнавіць старонку з дапамогай запыту замест кэша.
дададзена аўтар bksi, крыніца
Старонка можа атрымаць запісу на дыск карыстальніка, а калі спіну ХІТ карыстацкага браўзэра не загрузіць старонку з вашага сайта, але з жорсткага дыска, на дадзены момант гэтая старонка была ратуемся карыстальнік увайшоў у сістэму такім чынам, каб старонкі як паказана на малюнку.
дададзена аўтар user1182183, крыніца
@bksi як. прабачце я цалкам нуб: /
дададзена аўтар Coding Noob, крыніца
я засмучаны. Вы можаце растлумачыць гэта крыху, калі ласка. Пару дзён таму рэчы былі працаваць і перанакіраванне на старонку ўваходу, як паказана ў кодзе сеансу. не ведаю, што адбылося пасля таго, як дадаць яшчэ трохі кода.
дададзена аўтар Coding Noob, крыніца
@flesh хмм, але я думаю, што гэта не так. можа быць я няправільна прычына рэч працавала
дададзена аўтар Coding Noob, крыніца
@ Pal4life шкада дарагі я не думаю, што так, што я магу дадаць некаторыя JavaScripts шмат запытаў Query і некаторы PHP кадавання таксама. але я ўпэўнены, што я не адрэдагаваны файл выхад з сістэмы і да я зрабіў некаторыя змены ў сесіі рэчах, якія я не памятаю ня я мець копію альбо: /
дададзена аўтар Coding Noob, крыніца

Гэта называецца кэш. Таму няма запыту да сервера.

Проста пераканайцеся, ня далейшае ўзаемадзеянне немагчыма.

2
дададзена
@CodingNoob - Містык Мэг пайшла спаць! - Так што не магу сказаць вам, чаму дадаўшы, што дадатковы код ажыццяўляецца паводзіны кэша. Можа быць, вы не карыстаецеся «POST» больш.
дададзена аўтар Ed Heal, крыніца
Пару дзён таму рэчы былі працаваць і перанакіраванне на старонку ўваходу, як паказана ў кодзе сеансу. не ведаю, што адбылося пасля таго, як дадаць яшчэ трохі кода.
дададзена аўтар Coding Noob, крыніца
o.o гэта кропка. я думаю, што я зрабіў гэта. дазвольце мне зноў шукаць праз мае старонкі
дададзена аўтар Coding Noob, крыніца
не выкарыстоўваць :( яна не працуе: /
дададзена аўтар Coding Noob, крыніца

пасля таго, як загаловак ( «Location: login.html»); Вы можаце таксама зрабіць памерці (); , каб прадухіліць які ўвайшоў у HTML ад таго, які выводзіцца таксама.

1
дададзена
Да Паспрабую сэр
дададзена аўтар Coding Noob, крыніца
няма ніякага сэнсу, сэр. я паспрабаваў яго, але ён не працуе
дададзена аўтар Coding Noob, крыніца

Я ствараю печыва пад назвай «сеанс печыва» і ўсталюеце яго значэнне дакладна, калі карыстальнік паспяхова ўваходзіць ў сістэме.

Калі карыстальнік выходзіць з сістэмы, я усталяваць «Session-печыва» у пустой.

Затым дадайце наступнае ў Javascript,

<script>
if( document.cookie.indexOf("session-cookie") < 0 ) {
 location.replace('http://[any url]/'); 
}
</script>

Яны будуць мець магчымасць націснуць кнопку назад і праглядзець кэшаваныя старонкі, але яна хутка пераарыентаваць і перазапісаць бягучую старонку ў гісторыі.

0
дададзена

Я ствараю печыва пад назвай «сеанс печыва» і ўсталюеце яго значэнне дакладна, калі карыстальнік паспяхова ўваходзіць ў сістэме.

Калі карыстальнік выходзіць з сістэмы, я усталяваць «Session-печыва» у пустой.

Затым дадайце наступнае ў Javascript,

<script>
if( document.cookie.indexOf("session-cookie") < 0 ) {
 location.replace('http://[any url]/'); 
}
</script>

Яны будуць мець магчымасць націснуць кнопку назад і праглядзець кэшаваныя старонкі, але яна хутка пераарыентаваць і перазапісаць бягучую старонку ў гісторыі.

0
дададзена

Мяркуючы па логіцы вы казалі, здаецца, пытанне з тым, як вы правяраеце на сесіі. Не працуе, калі вы робіце <�моцны> session_start (); на абараняюцца старонак зверху, а затым праверка на сесіі.

Паспрабуйце праверыць на сесіі

if(session_id() == '') {
   //session isn't started
 session_start();
}
else
{
 header("location:login.html");
}
0
дададзена
не працуе дарагі
дададзена аўтар Coding Noob, крыніца

PLEASE NOTE: This is only a "suggestive" answer.

<�Моцны> Гэта тое, што я выкарыстоўваю і працуе дастаткова добра.

У вашай форме, які павінен мець .php пашырэнне файла, выкарыстоўвайце нешта афект:

session_start();
$firstname = $_SESSION['unique_session_name'];
// yours being $name

// some code

$firstname = $_POST['firstname'];

Then, in your protected pages:

session_start();
$_SESSION["unique_session_name"] = $_POST["firstname"];

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

// some code

}
0
дададзена
@CodingNoob Вы гасцінна.
дададзена аўтар Funk Forty Niner, крыніца
@CodingNoob Ці Вы змяніць сваю форму, каб адлюстраваць Firstname замест проста назва ?
дададзена аўтар Funk Forty Niner, крыніца
Дзякуй чувак. Я дам яму паспрабаваць :)
дададзена аўтар Coding Noob, крыніца
я паспрабаваў. Інакш частка працуе, што азначае, сесія не атрымлівае ўсталяваную форму ў любым месцы. я маю рацыю? я паспрабаваў гэты " »ды я ужыў гэта ў Вайс стане наборот толькі для праверкі і, калі не працуе наогул: /
дададзена аўтар Coding Noob, крыніца
Нету Фрэд гэта проста імя
дададзена аўтар Coding Noob, крыніца

Гэта свайго роду ўдар у цемры тут, як ужо згадвалася пытанне кэша. У мяне была аналагічная праблема, не так даўно я лічу, што я вырашыў яе ўручную ня-устаноўкай зменнай сеансу я правяраў. Я не ўпэўнены, што гэта дапаможа, але гэта, здавалася, працаваў для мяне.

session_unset();
unset($_SESSION['name']);

Гэта быў выпадак проста спрабуе ўсё магчымае.

0
дададзена
чувак гэта ўсё яшчэ не працуе. Цяпер я схаджу з розуму з гэтым матэрыялам: @. я думаю, што мне трэба перапісаць увесь код. можа хто-небудзь дапамагчы мне з гэтым?
дададзена аўтар Coding Noob, крыніца

створаны файл з імем, як session.php

   <?php
                    ob_start();    
                    session_start();
                   //just call this file session.php and share it in all your file, which you want to protect with session,
    ?>

чым нам трэба ўключыць гэты файл у кожнай старонцы мы хочам абаронены як такім чынам

<?php
include 'session.php';
var_dump($_SESSION);

if(isset($_SESSION) ){
        if(!$_SESSION['name']=='admin'){
                header("Location:login.html?id=access_forbidde");
        }
}else{
header("Location:viewall.php?id=access_forbidde");
}

у астатнім вы павінны назваць кожную старонку separetly ў гэтай канкрэтнай старонцы.

& logout contains

<?php
include 'session.php';
$_SESSION=array();
setcookie(session_name(),"",time()-3600);
session_destroy();
header("Location: login.html?id=logout_successful");
?>

thanks to PHP_Noob for his help. & i made it after a week

0
дададзена