Autorius Tema: Problemos su sesijomis  (Skaityta 439 kartus)

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Problemos su sesijomis
« Įrašytas: 2012-11-01 19:05:48 pm »
Sveiki, turiu keletą problemų su sesijomis, atrodo kaip ir viskas gerai veikia, tačiau kai išjungiu ir įjungiu naršyklę ir įeinu  į svetainę, man rodo štai ką:
Citata
Notice: Undefined index: id in D:\wamp\www\hmjp\nematomi_nustatymai.php on line 6
Call Stack
#   Time   Memory   Function   Location
1   0.0010   364816   {main}( )   ..\pagrindinis.php:0
2   0.0012   369192   saitas::virsus( )   ..\pagrindinis.php:3
3   0.0392   830048   require_once( 'D:\wamp\www\hmjp\nematomi_nustatymai.php' )   ..\main.php:10
Ok einam į konfigūracijų failą, 6 eilutę:
2.if(!isset($_SESSION)) {
3. session_start();
4. $_SESSION['id'] = 0;
5. }
6. define("iMEM", ($_SESSION['id'] > 0 ? 1 : 0));
Esmė tame, kad konstanta iMEM (narys) suveikia tik tada kai vartotojo id didesnis už 0, o kai jis atsijungia sesiją "id" nustatom į nulį ir tai reiškia kad vartotojas yra svečias. TAi kame problema? Juk nustatau pradžioje jei nenustatyta sesija, sesiją "id" į 0...
« Paskutinį kartą keitė: 2012-11-02 18:00:32 pm sukūrė Interneto keleivis »
Guten Tag!

Neprisijungęs index

  • Naujokas
  • *
  • Įrašai: 90
  • Karma: +1/-0
  • PHP Moksleivis
    • Žiūrėti profilį
Ats: Problemos su sesijomis
« Atsakymas #1 Įrašytas: 2012-11-01 22:38:28 pm »
($_SESSION['id'] dėl šito rašo. Bandyk su if(isset($_SESSION['id']))
Don't teach to learn, - learn to teach.

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Problemos su sesijomis
« Atsakymas #2 Įrašytas: 2012-11-01 23:17:31 pm »
Taip, dėl to, kai pakeičiau $_SESSION['id']; tada jau neberodė tos klaidos. Ačiū.
Guten Tag!

Neprisijungęs Gintas Kovalevskis

  • Dalyvis
  • **
  • Įrašai: 418
  • Karma: +15/-0
    • Žiūrėti profilį
    • Asmeninis portfolio
Ats: [ATSAKYTA] Problemos su sesijomis
« Atsakymas #3 Įrašytas: 2012-11-01 23:38:12 pm »
define("iMEM", ($_SESSION['id'] > 0 ? 1 : 0));
Konstantos tam nenaudojamos, tokiems dalykams naudojami globalūs kintamieji, o konstanta - viena tiksli reikšmė.

Nori ir tu tokio paveiksliuko? Apsilankyk FeedMage puslapyje

Manualai.lt Forumas

Ats: [ATSAKYTA] Problemos su sesijomis
« Atsakymas #3 Įrašytas: 2012-11-01 23:38:12 pm »

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Problemos su sesijomis
« Atsakymas #4 Įrašytas: 2012-11-02 18:00:15 pm »
Vis tiek rodo klaidą — ( ! ) Notice: A session had already been started - ignoring session_start() in D:\wamp\www\hmjp\nematomi_nustatymai.php on line 3
:( Teks uždraust rodyti klaidų pranešimus...
Guten Tag!

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: Problemos su sesijomis
« Atsakymas #5 Įrašytas: 2012-11-02 18:25:19 pm »
Niekada to nedaryk. Ieškok kur klaida ;)
Šiuo atvėju du kart nurodai kažką :)

Neprisijungęs index

  • Naujokas
  • *
  • Įrašai: 90
  • Karma: +1/-0
  • PHP Moksleivis
    • Žiūrėti profilį
Ats: Problemos su sesijomis
« Atsakymas #6 Įrašytas: 2012-11-02 18:51:05 pm »
Tai reiškia, kad session_start(); panaudotas du kartus. Žiūrėk ieškok, jeigu tu kokiame nors faile pradėjas sesiją ir dar padaręs include į ši failą tai iš vieno failo ištrink session_start();
Don't teach to learn, - learn to teach.

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Problemos su sesijomis
« Atsakymas #7 Įrašytas: 2012-11-02 19:17:06 pm »
Taip, esu dviejuose failuose pradėjęs session_start(). Bet kas keisčiausia, jei kokiame faile ištrinu tą eilutę, subyra sistema, — neprijungia vartotojo :(

Bet žiūrėk, dabar kas yra, nuėjus į naršyklę parodo tą klaidą, dar kartą atnaujinus puslapį — jau neberodo tos klaidos :/

main.php
<?php
$kieno 
= (isset($_GET['kieno']) ? $_GET['kieno'] : "");
$psl = (isset($_GET['psl']) ? $_GET['psl'] : "");
$id = (isset($_GET['id']) ? $_GET['id'] : "");

class 
saitas {
function virsus() {
session_start();
require_once('meekrodb.php');
require_once('nematomi_nustatymai.php');

require_once('temp/001/header.php');
}
function apacia() {
require_once('temp/001/footer.php');
}
}
?>
Jeigu ištrinu nustatymuose,. sėkmingai prijungia žmogų, bet neatjungia paspaudus atsijungti .
atsijungti.php
<?php
require_once('meekrodb.php');
include_once(
'nematomi_nustatymai.php');
if(
iMEM) {
$_SESSION['id']= 0;
header('Location: pagrindinis.php');
} else { 
header('Location: pagrindinis.php'); }
?>
« Paskutinį kartą keitė: 2012-11-02 19:26:05 pm sukūrė Interneto keleivis »
Guten Tag!

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Problemos su sesijomis
« Atsakymas #8 Įrašytas: 2012-11-02 19:29:19 pm »
Viską išsiaškinau, į fail atsijkungti.php neįntegruoju funkcijos virsus() kurioje pradedu sesiją... Tai galva... savo pačio kode nesusigaudau :D
Guten Tag!

Manualai.lt Forumas

Ats: Problemos su sesijomis
« Atsakymas #8 Įrašytas: 2012-11-02 19:29:19 pm »