Jump to content
php.lv forumi

login un sesijas


Jackal

Recommended Posts

Nu man ir login skripts viss it kaa strāda, bet es nesaprotu kā liegt pieeju lapai, ja neesi ielogojies, cik saprotu tur ir kaut kas ar sesijām? Paskaidrojiet kā tas notiek, es jau izskatiju šo forumu, bet tāpat neko nesapratu.

Link to comment
Share on other sites

Kad lietotājs ielogojas, tad ieliec $_SESSION['logged']=true;

Tad katrā lapā pārbaudi vai ir $_SESSION['logged'], ja nav, tad nav ielogojies un aizmet uz login lapu vai k-kā tā.

Link to comment
Share on other sites

Es jau teicu pie autorizācijas uzliec $_SESSION['logged']=true;

 

un pārbaudi ar

if(!isset($_SESSION['logged']))
{
 header("Location: autorizacija.php");
}

Edited by MakaTaNaw
Link to comment
Share on other sites

Kaut kas nesanāk, sheit būs skripti:

vinjš mani nelaiž lapā arī ja esmu ielogojies

<?

$kom=mysql_query("select `nickname`,`password` from users");

while($row=mysql_fetch_array($kom)){

if(isset($_POST['login'])){

$password=$row['password'];

$nickname=$row['nickname'];

if($_POST['user']==$nickname && $_POST['pass']==$password) {

$_SESSION['logged']=true;

header("location: forum.php");

}

}

}

?>

 

Šito es ielieku katra faila sākumā, kur ir vajadzīga lietotāja autorizācija

<?

if(!isset($_SESSION['logged']))

{

header("Location: login.php");

}

?>

Edited by Jackal
Link to comment
Share on other sites

nevajag (es pat teiktu nedrīxt) php pusē tā salīdzināt.

select `nickname`,`password` from users where nickname="$nickname" and `password`="$password"

 

visur kur vajag sessiju ar vajag session_start()

Link to comment
Share on other sites

No lv.php.net manuāļa - http://lv2.php.net/session_destroy

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
  setcookie(session_name(), '', time()-42000, '/');
}

// Finally, destroy the session.
session_destroy();
?>

Link to comment
Share on other sites

Viņš izdzēš sessijas datus no diska (vai db). tāpēc vēlams pēc session_destroy taisīt redirectu, jo globālais mainīgais $_SESSION saglabājas, tā kā ir ielasīts pirms session_destroy() izsaukuma. Redirecta gadījumā viņu vairs nav no kā ielasīt :) Vai arī, kā manuāļa piemērā augstāk...

Edited by john.brown
Link to comment
Share on other sites

×
×
  • Create New...