Jump to content
php.lv forumi

Lietas ko vēlos zināt par sesijām!


iall

Recommended Posts

Labs vakars,

bēda ir šāda - manā lapā labajā pusē ir forma - Mana lapa

 

Defaultais username: test un Password: test

 

Pieņemsim , ja lietotājs ir ielogojies ,viss ir baigi smuki ,tad viņam formas vietā kas ir labajā pusē parāda "Laipni lūgts test" ,bet ja nav ielogojies tad rāda formu.

 

Jautājums ir šāds ,kā es varētu pārbaudīt vai lietotājs ir ielogojies?

 

login.php skripts - http://paste.php.lv/6937

Edited by iall
Link to comment
Share on other sites

Man ir šādi:

 

function checkLogin(){

  // Lietotājvārds un parole ir uzstādīti
  if(isset($_SESSION['id']) && isset($_SESSION['lietotajvards']) && isset($_SESSION['parole']))
  {

  // Apstiprinam, ka dati ievadīti pareizi
  if(confirmUser($_SESSION['lietotajvards'], $_SESSION['parole']) != 0){

  // Dati ievadīti nepareizi
		unset($_SESSION['lietotajvards']);
		unset($_SESSION['parole']);
	 return false;
  }
  return true;
  }

 

un tad

 

$ielogojies= checkLogin();

 

if($ielogojies) { echo "Tu esi ielogojies"; } else { echo "Reģistrējies"; }

Link to comment
Share on other sites

Tātad ,ir saglabāts kā UTF-8 without BOM.Pašā skripta sākumā ir session_start(); ,vispirms nav nekādas html izvades un citi pribambasi.

 

Daru šādi -

		<?php
		if (!isset($_SESSION['username']) && !isset($_POST['password'])) {
		echo "<div class=navigaacija><div class=nav_nos>Profils</div>Hello, " . $_SESSION['login'] . ".<br><a href=logout.php>Iziet</a></div>";
		}
		else
		{
		// ja nav datu tad izvada formu		 		
	   echo '
	<div class="navigaacija">
		<div class="nav_nos">Login</div>
		  <form method="POST" action="login.php"> 			  
		  <img src="img/bulta.jpg"> Lietotajvards: <input type="text" name="login" size="15" /><br />  
		  <img src="img/bulta.jpg"> Parole: <input type="password" name="password" size="15" /><br />  
		  <input type="submit" value="Aiziet!" /></p></form><br>
		  <a href="index.php?lp=reg">Registreties</a> | <a href="#">Aizmirsu paroli</a> 
   </div> ';
   }
?>

 

logout.php

<?PHP
session_start();
session_destroy();
header("Location: index.php");
?>

 

P.S. - Itkā sanāk ,ka iekš logout.php es startēju un uzreiz nogalēju sesiju vaine?

 

Skatījos kā ,kas jādara no http://devzone.zend.com/article/646-PHP-10...-The-Cookie-Jar

Edited by iall
Link to comment
Share on other sites

Paldies ,bet tik tālu viss ir pareizi?Man viņš negrib to formu izvadīt nez kapēc tad kad sesija ir nogalēta. :/

 

Edit: Aizmirsu piebilst ,ka izmet headers already sent ,bet nekas ,gan tikšu ar to galā ,primārais ir lai viss smuki notiek :)

Edited by iall
Link to comment
Share on other sites

Man šis strādā:

 

<?php session_start(); ?>

<!DOCTYPE> un <HEAD>

<body>

<?php

// Sākam ielogošanos
if (isset($_POST['username'])) {

// Pārbaudam lietotajvārdu un paroli
if ($_POST['username'] == 'username' and $_POST['password'] == 'password') {
$_SESSION['authorized'] = TRUE; }}

// Izlogošanās
if (isset($_REQUEST['logout'])) {
unset($_SESSION['authorized']);}

// Ja lietotājvārds / parole ir pareizi, tad
if (isset($_SESSION['authorized'])) { ?>

ADMINISTRĀCIJA

<?php

// Ja lietotājvārds / parole nav pareizi, tad
} else { ?>

AUTORIZĀCIJA

<?php } ?>

</body>
</html>

LAI IZIETU:

<?php echo $_SERVER['PHP_SELF']; ?>?logout=1

Link to comment
Share on other sites

×
×
  • Create New...