Autorius Tema: Sesijos ir funkcija  (Skaityti 195 kartai)

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Sesijos ir funkcija
« : 2011-02-02 18:07:19 »
Sveiki,
Žodžiu yra funkcija pvz loginpanel(); ir yra sesija $_SESSION['login'], man reikia patikrinti ar tokia sesija egzistuoja, jei ne rodyti tą panelę, tad darau taip:
<?php
function sidebarlogin() {
if(! $_SESSION['login']) { 
print 
'
<div class="box">
             <h2>Prisijungti</h2>
                <form action="login.php" method="post">
                <table>
                <tr> <td> Vartotojo vardas: </td> <td> Slaptažodis: </td> </tr>
                <tr><td><input type="text" name="username" maxlength="20" size="20" /></td>
                <td><input type="password" name="password" maxlength="20" size="20" /></td></tr></table>
                <input type="submit" name="login" value="Prisijungti" class="submit" />
                <a href="register.php"> Neturite vartotojo vardo? </a>
                </form>
            </div>
            '
;
}
            }
            
?>

Bet man vistiek rodo tą panelę, o kitame kode įdėjus sesiją į funkcijos vidų, viskas vyksta kaip ir turėtų, tad kame čia klaida?

Ta kita funkcija:
<?php
function topright() {
print 
'<div class="topright">';
if(! 
$_SESSION['login']) { 
print 
"<h2> Sveiki atvykę: </h2>";
print 
"<p>".nl2br(welcome)."</p>";
}elseif( 
$_SESSION['login'] == 10 ) {
print 
" Ir sitai parodo ";
}
print 
' </div>';
            }
            
?>

Ir joje viskas veikia, bei pasikeičia kaip ir turi. Taigi kur čia padariau klaidą? Nes, kad ir keičiu sąlygą, man jos vistiek nepanaikina.

vitalikaz

  • Beveik HEROJUS
  • Žinutės: 322
  • Karma: +23/-0

  • Aktyvumas per 30d.
    18.82%
Re: Sesijos ir funkcija
« Atsakyti #1 : 2011-02-02 18:47:05 »
Ten kur randasi sitos funkcijos, abejose vietose priest jas yra session_start() ?

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Re: Sesijos ir funkcija
« Atsakyti #2 : 2011-02-02 21:12:10 »
Jos yra includintos, tai maniau, kad nereikia, nes visuose failuose pačioje pradžioje yra :)

Edit, ne nepadeda tavo variantas, kad ir kur įdėčiau tą session_start(); :)
« Paskutinis taisymas: 2011-02-02 21:16:39 nuo KNx »

ganjabest

  • HEROJUS
  • Žinutės: 695
  • Karma: +30/-0
  • Povilas Stankevičius

  • Aktyvumas per 30d.
    100%
Re: Sesijos ir funkcija
« Atsakyti #3 : 2011-02-02 21:46:18 »
Siaip nezinau ar gerai tie tarpai tarp ! ir $_SESSION[] ..tingiu tikrint , bet tikriausia negerai :D o ta prasme jeigu ta antra funkcija ikeli i ta pati faila ir iskvieti toje pacioje vietoje viskas gerai buna ? ar skirtinguose failuose tos funkcijos ?

Beje antroj funkcijoj kaip suprantu sveiki atvyke rodo kaip neprisijunges buni  ? Nes manau tikrai tas tarpas kaltas :D
« Paskutinis taisymas: 2011-02-02 22:04:03 nuo ganjabest »
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

g1ntas

  • Apsistojęs forume narys
  • Žinutės: 69
  • Karma: +0/-0

  • Aktyvumas per 30d.
    16.47%
Re: Sesijos ir funkcija
« Atsakyti #4 : 2011-02-03 06:59:27 »
function sidebarlogin() {
if(!isset($_SESSION['login'])) {
echo '
<div class="box">
            <h2>Prisijungti</h2>
                <form action="login.php" method="post">
                <table>
                <tr> <td> Vartotojo vardas: </td> <td> Slaptažodis: </td> </tr>
                <tr><td><input type="text" name="username" maxlength="20" size="20" /></td>
                <td><input type="password" name="password" maxlength="20" size="20" /></td></tr></table>
                <input type="submit" name="login" value="Prisijungti" class="submit" />
                <a href="register.php"> Neturite vartotojo vardo? </a>
                </form>
            </div>
            ';
}
            }
            ?>

Pabandyk dabar, gal veiks ;)
« Paskutinis taisymas: 2011-02-03 07:06:22 nuo g1ntas »
Įgūdžiai be vaizduotės yra amatas, o vaizduotė be įgūdžių - modernus menas.

Tom Stoppard

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Re: Sesijos ir funkcija
« Atsakyti #5 : 2011-02-03 07:30:18 »
Ganjabest, bent ten kur welcome tai veikia ir su tarpu :)
Teisingai supratai :)
O dėl tų funkcijų, čia priedo failas, t.y. componentas ir jame tėra tik tos eilutės, taip pat kaip ir tame kur welcome :) Tai kažkaip nesuprantu, kas čia vyksta :)

g1ntas, neveikia, bet aš čia ir nesuprantu, nes bet kokia užklausa čia neįvykstą :)

vitalikaz

  • Beveik HEROJUS
  • Žinutės: 322
  • Karma: +23/-0

  • Aktyvumas per 30d.
    18.82%
Re: Sesijos ir funkcija
« Atsakyti #6 : 2011-02-03 10:43:08 »
duok daugiau kodo :)

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Re: Sesijos ir funkcija
« Atsakyti #7 : 2011-02-03 14:46:49 »
Kokį man tau kodą duoti? Jei čia ir taip jis visas yra :) Daugiau čia šituose failuose nieko nėra ;)

vitalikaz

  • Beveik HEROJUS
  • Žinutės: 322
  • Karma: +23/-0

  • Aktyvumas per 30d.
    18.82%
Re: Sesijos ir funkcija
« Atsakyti #8 : 2011-02-03 18:12:26 »
Tai parodyk kaip jas naudoji, ar ką. Pvz jei tas tavo failas su funkcija vadinasi `funkc.php`, ir padarai kita faila, koki `index.php` su tokiu turiniu:
<?php
session_start
();
$_SESSION['login'] = true;
require_once(
"funkc.php");
sidebarlogin();
?>

Tai viskas turetu suveikti, t.y. nerodyti tos paneles. Ar taip nevyksta?

ganjabest

  • HEROJUS
  • Žinutės: 695
  • Karma: +30/-0
  • Povilas Stankevičius

  • Aktyvumas per 30d.
    100%
Re: Sesijos ir funkcija
« Atsakyti #9 : 2011-02-03 18:18:09 »

g1ntas, neveikia, bet aš čia ir nesuprantu, nes bet kokia užklausa čia neįvykstą :)


pabandyk pasitikrint taip:
<?php

function sidebarlogin() {
$login 1;
   if(
$login == 0) {
echo 
'
<div class="box">
               <h2>Prisijungti</h2>
                <form action="login.php" method="post">
                <table>
                <tr> <td> Vartotojo vardas: </td> <td> Slaptažodis: </td> </tr>
                <tr><td><input type="text" name="username" maxlength="20" size="20" /></td>
                <td><input type="password" name="password" maxlength="20" size="20" /></td></tr></table>
                <input type="submit" name="login" value="Prisijungti" class="submit" />
                <a href="register.php"> Neturite vartotojo vardo? </a>
                </form>
            </div>
            '
;
   }
            }

?>


paziurek ka rodys ir po to pakeisk ta vienete i nuli ir tada paziurek ka rodys. simtu procentu nenurodes sessions_start :D
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Re: Sesijos ir funkcija
« Atsakyti #10 : 2011-02-03 18:47:09 »
Kaip naudoju ką?

Ganjabest, neveikia ;)

Va tame esmė ir yra :)

ganjabest

  • HEROJUS
  • Žinutės: 695
  • Karma: +30/-0
  • Povilas Stankevičius

  • Aktyvumas per 30d.
    100%
Re: Sesijos ir funkcija
« Atsakyti #11 : 2011-02-03 18:52:07 »
Kaip naudoju ką?

Ganjabest, neveikia ;)

Va tame esmė ir yra :)


kas neveikia ? su mano variantu neveikia  :o ka darei papasakok ? tai gal tu visai funkcijos neiskvieti ? nes neimanomas variantas kad neveikia su mano. Katik patikrinau viskas gerai su mano pavyzdziu. jau tu cia kazka zioplineji ne ten :D O tu skaitei bent ka paskutinej eilutej po kodu parasiau ?
« Paskutinis taisymas: 2011-02-03 18:53:54 nuo ganjabest »
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

KNx

  • Kietas forumietis
  • Žinutės: 156
  • Karma: +1/-3

  • Aktyvumas per 30d.
    14.12%
Re: Sesijos ir funkcija
« Atsakyti #12 : 2011-02-03 18:55:45 »
Kokio žioplumo klaidą padariau.... Pasirodo neišsisaugojo funkcijos iškvietimas ir pastoviai atvaizduodavo tą formą, o funkcijos net nenaudojo.... Žiauru...

Ačiū, kas padėjot, bet tikrai nemaniau, kad nebus išsisaugoję (failas su žvaigždute vis degė :D )

Jei galima ištrinkit temą, nes ji beprasmė :)

ps. Pasirodė, kad visai neiškviečiu :D

EDIT: Radau dėl ko taip nutiko, kadangi platų dizainą pakeičiau į siauresnį, tai neperkėliau kai kurių funkcijų :)
« Paskutinis taisymas: 2011-02-03 19:02:56 nuo KNx »