Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

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
Posted

Apmēram šādi?

$_SESSION['login'] = $_POST['login'] && $_SESSION['password'] = $_POST['password']

 

P.S. - Galīgi auzās ar visām sesijām ,ne bū ne bē.

Posted

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"; }

Posted

āāāh ,tāda sajūta ,ka drīz nobeigšos!Pilnīgi nekas nesanāk no tā ,kas gribas lai sanāk.

Posted (edited)

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
Posted

Jā. Tikai iesaku vēl papildus vienkārši pēc session_start() izdarīt šādi:

$_SESSION = array();

 

Būsi 100% pārliecināts, ka sesijas dati ir iznīcināti.

Posted (edited)

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
Posted

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

×
×
  • Create New...