Diskusijų forumai
Diskusijų forumai     Tinklalapių kūrimas ir programavimas     PHP/MySQL     prisijungia vartotojai puslapyje



prisijungia vartotojai puslapyje

audrys0218
Bendruomenės narys

 
Sveiki,

norėčiau sužinoti kaip padaryti, kad puslapyje komentuoti naujienas galėtų tik prisijungia vartotojai? Man tik pačia idėja kaip ten viskas vyksta.
 


Atsakymai į temą

viewty
Naujokas

 
Paprasta, kai prisijungia įrašyk tai kur nors, o kai spaudžia "Rašyti", patikrink ar yra jis prisijungęs, jei prisijungęs įrašai, jei ne - meti klaidą.
Irmantas
Tinklalapio šeimininkas

 
Jeigu vartotojas yra prisijungęs - rodome jam komentavimo formą:

<?php if (isset($_SESSION['user'])): ?>
   <form method="post" action="comment.php">
      <textarea name="comment"></textarea>
      <input type="submit" value="Submit" name="submit_comment">
   </form>
<?php endif; ?>


comment.php faile taip pat tikrinam ar vartotojas prisijungęs, jeigu ne - nukeliame jį į prisijungimo formą:
   if (isset($_SESSION['user']))
   {
       //įrašome komentarą į db
   }
   else
   {
       header('Location : ....'); //perkeliame į prisijungimo formą
   }
audrys0218
Bendruomenės narys

 
O gal galėtumėte paaiškinti kas yra php sessija ir kaip ji naudojama smile, kiek internete skaičiau tai kaip supratau ji yra skirta tam, kad nereiktų siuntinėti iš vieno skripto į kita kintamojo, ar teisingai supratau ? smile
Macaque
Bendruomenės narys

 
audrys0218 rašė:
O gal galėtumėte paaiškinti kas yra php sessija ir kaip ji naudojama smile, kiek internete skaičiau tai kaip supratau ji yra skirta tam, kad nereiktų siuntinėti iš vieno skripto į kita kintamojo, ar teisingai supratau ? smile


Pvz. tu atsidarai kokią nors programą darai tam tikrus veiksmus ir programa žino, kas tu esi, nes tu esi prisijungęs prie savo "account'o", tai panašiai kaip būna ir puslapiuose - "Prisiminti slaptažodį" smile

Ir jeigu tu atsijungi - sesija yra sunaikinama.
Pask. redagavo Macaque (2010-06-27 14:10:24), redaguota kartų: 1

viewty
Naujokas

 
Šiaip paprasčiausiai gali įrašyt kai prisijungia į mysql db, vartotojo vardą + laiką, kad nebūtų visą laiką prisijungęs, o po kiek nori laiko galėtum ištrint. O poto jau paprasta, tikrini su if.
audrys0218
Bendruomenės narys

 
O kaip pavyzdžiui padaryti, kad vienas prisijungia prie puslapio ir jame rodo visa jam reikalinga informacija ir paskui kitas žmogus prisijungia prie puslapio ir kad jam rodytų jau kita informacija. Tikiuosi supratot ką norėjau pasakyti smile
Edmundas
Tinklalapio šeimininkas

 
Priklauso nuo to, pagal kokius parametrus (nuostatas) informacija turi būti rodoma. Pavyzdžiui, jeigu prisiregistravusius vartotojus skirstai į grupes, tai atitinkamai tuo remdamasis darai patikrinimus.

// Tarkime, kad paimami duomenys iš DB iš gaunamas toks masyvas.
$user = array('id' => '1', 'username' => 'user', 'password' => '123456', 'user_group' => 'users');

if($user['user_group'] == 'users')
{
    // Jeigu vartotojo narių grupė yra 'users', rodome informaciją,
    // skirtą tik įprastiems nariams.
}
elseif($user['user_group'] == 'admins')
{
    // Jeigu vartotojo narių grupė yra 'admins', žinome, jog jis 
    // ya administratorius, todėl čia atvaizduojame informaciją,
    // skirtą tik jam.
}

audrys0218
Bendruomenės narys

 
Norėčiau paklausti kas įvyktu tokiu atveju. Tarkime prisijungia vartotojas user1 ir jam sukuriama sesija, kad visuose puslapiuose būtų parašyta "Sveikas, user1!" sesija sukuriama tokia $_SESSION["user"] = "user1"; ir tarkime tuo pačiu metu prisijungia vartotojas user2 ir jam turi būti sukuriama kita sesija ar jis gali naudotis ta pačia $_SESSION["user"] ta prasme norėjau paklausti ar serveris supras, kad čia kitas vartotojas?
Irmantas
Tinklalapio šeimininkas

 
Kiekvienam vartotojui sukuriama atskira skirtinga sesija. Serveris supras, kad tai skirtingas vartotojas.