Autor Zpráva
kuzmic
Profil *
Dobrý den,
chtěl bych poprosit o radu jak vyřešit problém s automatickým odhlášením. Na stránkách pana Vrány, jsem si našel kod pro automatické odhlášení po určité době nečinnosti. Vše funguje jak má, akorát pokud po vypršení určité doby mě přesměruje zpět na přihlášení, se nejde přihlásit až když zadám přihlašovací údaje a stránky vypíší že to není možné, a já akci opakuji tak se přihlásím. Nevíte kde by mohla být bota?děkuji

Stránka na přihlášení:

<body>
<?php
  session_start();
  $_SESSION['rovnase']='ne';
  
  if(isset($_POST['jmeno'])) $jmeno = $_POST['jmeno']; else $jmeno = NULL;
  if(isset($_POST['heslo'])) $heslo = $_POST['heslo']; else $heslo = NULL;
  
  $sql=mysql_query("SELECT * FROM zamestnanec WHERE jmeno='$jmeno' and prijmeni='$heslo'");
  
  while($row = mysql_fetch_array($sql))
  {
    if((($_POST['jmeno'])==$row['jmeno']) and (($_POST['heslo'])==$row['prijmeni']))
    {
            
      $_SESSION['rovnase']='ano';
      //echo "ano";
      header("location: uvod.php");
      $_SESSION['jmeno']=$row['jmeno'];
      $_SESSION['heslo']=$row['prijmeni'];      
    }
    else
    {
     $_SESSION['rovnase']='ne';
    }
  }  
  if((empty($_POST['jmeno']) or (empty($_POST['heslo']))))
  {
    echo "<div id='error'>Zadejte jméno a heslo</div>";
  }  
  elseif($_SESSION['rovnase']=='ne')
  {
    echo "<div id='error'>někde je chyba</div>";
  }
?>
<div id="login"><img src="img/login.jpg"></div>
<div id="login_tabulka">
<form action="" method="post"> 
  <table>
    <tr>
        <td>Jméno:</td><td><input type="text" name="jmeno" ></td>
    </tr>
    <tr>
        <td>Heslo:</td><td><input type="password" name="heslo" ></td>
    </tr>
  </table>
<input type="submit" value="Přihlásit">
<p>Jméno: admin</br>Heslo: test</p>
</form>
</div>
</body>



Stránka kde je umístěno automatické odhlášení:

<?php
    session_start();
    
    if($_SESSION['rovnase']=='ano')
    {
      echo "<div id='login_jmeno'><b>Informace o příhlášení</b>";
      echo "<table border=0><tr><td>Vaše uživatelské jméno je:</td>"."<td>".$_SESSION['jmeno']."</td></tr>";
      echo "</tr><td>Vaše uživatelské heslo je:</td>"."<td>".$_SESSION['heslo']."</td></tr></table></div>";

    }
    elseif($_SESSION['rovnase']=='ne')
    {
      header("location: index1.php");
    }
      
    if ($_SESSION["access_time"] < strtotime("-10 second"))
     {
         $_SESSION["rovnase"] = 'ne';
         header("location: index1.php");
         echo "<script>alert('byly jste odhlášení')</script>";
      }
      
      $_SESSION["access_time"] = time();
  
include "menu2.php";
?>
fakeit
Profil *
Nikde nevidím session_destroy().
kuzmic
Profil *
Ale nastavuji ji na $_session['rovnase']='ne', to by vadit nemělo ne?nebo je lepší používat destroy?
kuzmic
Profil *
Problém, jsem možná vyřešil, nevím teda jak, ale když nastavím čas na 50s a ne na 10s tak to normálně funguje:-/, zvláštní
kuzmic
Profil *
když nastavím strtotime("-10 second") na 50s tak to normálně jde se přihlásit, zvláštní, ono to 10s možná udává čas, ve kterým to musím stihnout se zaregistrovat, nebo teda nevím:-/
fakeit
Profil *
kuzmic:
Ale nastavuji ji na $_session['rovnase']='ne', to by vadit nemělo ne?nebo je lepší používat destroy?
Fungovat to bude tak nebo tak, ale i když uživatel nebude přihlášený, server si bude držet zbytečně data.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: