Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki visi iskilo problema su php. Kai paleidi prisijungimo koda(login.php) jei teisingas slaptikas ir user ji nukreipia i namai.php faila kur yra tikrinamas ar nepasibaige sesijos laikas jeigu pasibaige yra nukreipiamas vel i login.php faila. Man nesigauna padaryti kad kai pasibaige sesijos laikas tai turi buti nukreipiamas i login.php. Prasau padeti tai isspresti

 

namai.php

<?php
   session_start();

   if (!isset($_SESSION['vartotojas'])) {
       header("Location:login.php"); 
   }
   else {
       $now = time(); 

       if ($now > $_SESSION['expire']) {
           session_destroy();
	  header("Location:login.php"); 
       }
       else { //Starting this else one [else1]
?>
           <!-- From here all HTML coding can be done -->
           <html>
		  <head>
		  <script>
		     function laikas()
                {
				 var D = new Date();
                    var h = D.getHours();
                     var i = D.getMinutes();



                   h = (h > 9) ? h : "0"+h;
                  i = (i > 9) ? i : "0"+i;

            document.getElementById('Laikas').innerHTML =h+":"+i;

	   setTimeout('laikas()', 1000);

			 }
		  </script>
		   <body onload="laikas()">
                <p> Sveiki atvyke <?php echo $_SESSION['vartotojas'];?></p>
                <p> Ar norite atsijungti <?php echo "<a href='LogOut.php'> Log out</a>";?><p>
			 <p id="Laikas"></p>
		   <body>
             </head>
           </html>
          <?php
       }
   }
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

sitaip:

 

$_SESSION['vartotojas'] = $user;

$_SESSION['Laikas'] = time();

 

$_SESSION['expire'] = $_SESSION['Laikas'] + (1*60);

 

visi kodas kur sesijai issaugomas sesijos laikas:

<?php
$error=''; //Variable to Store error message;
session_start();

if(isset($_POST['submit'])){
if(empty($_POST['user']) || empty($_POST['pass'])){
$error = "Vartotojo vardas arba slaptažodis neteisingas";
}
else
{
//Define $user and $pass
$prisi = 0;
$user=$_POST['user'];
$pass=md5($_POST['pass']);
//Establishing Connection with server by passing server_name, user_id and pass as a patameter
$conn = mysqli_connect("localhost", "root", "");
//Selecting Database
$db = mysqli_select_db($conn, "test");
//sql query to fetch information of registerd user and finds user match.
$query = mysqli_query($conn, "SELECT * FROM vartotojai WHERE username='$user' AND password='$pass'");

$rows = mysqli_num_rows($query);
if($rows == 1){

 $_SESSION['vartotojas'] = $user;
 $_SESSION['Laikas'] = time(); // Taking now logged in time.
           // Ending a session in 30 minutes from the starting time.
 $_SESSION['expire'] = $_SESSION['Laikas'] + (1*60); 

header("Location: namai.php"); // Redirecting to other pag

}
else
{
$error = "Vartotojo vardas arba slaptažodis neteisingas";
}
mysqli_close($conn); // Closing connection
}
}
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

sitaip:

 

$_SESSION['vartotojas'] = $user;

$_SESSION['Laikas'] = time();

 

$_SESSION['expire'] = $_SESSION['Laikas'] + (1*60);

Nesamonė. Mažesnė nesamonė būtu:

 

$_SESSION['expire'] = time() + $kiek_minuciu_galioja_sesija * 60

 

ir kam skliausteliuose rašai daugymos veiksmą jis ir taip vykdomas pirmas.

 

Ir neparašei kas pas tave yra šiuo metu sesijoje expire, tu tikrini ar dabartinis laikas yra didesnis nei $_SESSION['expire'], klausimas kas yra šiuo metu pas tave $_SESSION['expire'], iškart po session_start(); parašyk:

 

var_dump($_SESSION['expire']); die();

 

ir parašyk ką gavai.

Redagavo Prodev
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...