Avatar billede Slettet bruger
03. april 2011 - 23:45 Der er 5 kommentarer og
1 løsning

Logon med timer

Jeg har lavet en hjemmeside hvor medlemmer kan melde sig på en aktivitet.
Jeg kunne tænke mig at lave det sådan at man kun er logget på X minutter hvor efter man skal logge ind igen.

Hvordan gøres det?

Jeg bruger Dreamweaver cs4 og PHP Mysql
Avatar billede showsource Seniormester
05. april 2011 - 15:12 #1
Du bruger sessions i php, og ved login registrer tid og sæt en session med værdien. Og tjek ved hvert request om tid er for gammel.

<?php
session_start();
// log ind kode .....

$_SESSION["logintid"] = time();

?>


<?php
session_start();
if(($_SESSION["logintid"]+180) < time()) {
// gør hvad du vil
}
?>
Avatar billede Slettet bruger
05. april 2011 - 23:23 #2
Hvordan bruger jeg lige det du skriver?
Jeg bruger "Log in user" i Dreamweaver.
Jeg bruger samme Brugernavn + Password for alle bruger.
Jeg sender lige koden.
På forhånd tak for hjælpen.

<form action="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
      <p> </p>
      <table width="300" border="0" align="center" id="log_ in">
        <tr>
          <td width="106" class="style14">Brugernavn</td>
          <td width="184"><label>
            <input name="bruger" type="text" id="bruger" size="20" maxlength="10">
          </label></td>
        </tr>
        <tr>
          <td><span class="style14">Adgangskode</span></td>
          <td><label>
          <input name="adgang" type="password" id="adgang" size="20" maxlength="10">
          </label></td>
        </tr>
        <tr>
          <td> </td>
          <td><label>
            <input type="submit" name="button" id="button" value="Log på">
          </label></td>
        </tr>
      </table>
    </form>
Avatar billede showsource Seniormester
06. april 2011 - 11:31 #3
I den fil som du submitter til kan du sætte en session med aktuel tid.

På UNDERsider skal du så tjekke om den er sat, eller er overskredet
Avatar billede Slettet bruger
06. april 2011 - 23:10 #4
Gider du ikke lige lave et lille program stump hvordan du man gør og hvor man skriver det
jeg sender hele filen.
jeg kan sku ikke lige få det til at virke.
--------------------------------------------------
<?php require_once('Tilmeldinger/Connections/spinning.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION))
  session_start();


$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['bruger'])) {
  $loginUsername=$_POST['bruger'];
  $password=$_POST['adgang'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "Login_inde.php";
  $MM_redirectLoginFailed = "Log_in_fejl.php";
  $MM_redirecttoReferrer = true;
  mysql_select_db($database_spinning, $spinning);
 
  $LoginRS__query=sprintf("SELECT brugernavn, password FROM til_bruger WHERE brugernavn=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
 
  $LoginRS = mysql_query($LoginRS__query, $spinning) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    $loginStrGroup = "";
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;         

    if (isset($_SESSION['PrevUrl']) && true) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<HTML>

<HEAD><TITLE>Log in Tilmeldinger</TITLE>

<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK href="Tilmeldinger/CSS/layout.css" type=text/css rel=stylesheet>

<STYLE type=text/css>

<!--

#apDiv1 {


  z-index:1;

  background: #CCCCCC;

}
#apDiv2 {
    position:absolute;
    left:12px;
    top:26px;
    width:710px;
    height:296px;
    z-index:1;
    margin: 5px;
    padding: 5px;
    border: thin double #000000;
}

 
-->

</STYLE>
<link href="CSS/styles.css" rel="stylesheet" type="text/css">
<link href="CSS/layout.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
#apDiv3 {
    position:absolute;
    width:217px;
    height:30px;
    z-index:1;
    left: 602px;
    top: 642px;
}
#apDiv4 {
    position:absolute;
    width:281px;
    height:122px;
    z-index:2;
    left: 608px;
    top: 465px;
}
#apDiv5 {
    position:absolute;
    width:270px;
    height:88px;
    z-index:1;
    left: 703px;
    top: 209px;
}
.style14 {font-size: 14px}
.style15 {
    color: #FF0000;
    background-color: #E9E9E9;
}
#apDiv6 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
}
-->
</style>

</HEAD>

<BODY>
<table width="100%" border="3" align="center" cellpadding="1" cellspacing="1" class="layout">

  <tr>
    <td width="11%" class="top1"><div align="center"> Medlems login</div>
    </td>
  </tr>
 
  <tr>
    <td bgcolor="#CCCCCC" class="left"><form action="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
      <p>&nbsp;</p>
      <table width="300" border="0" align="center" id="log_ in">
        <tr>
          <td width="106" class="style14">Brugernavn</td>
          <td width="184"><label>
            <input name="bruger" type="text" id="bruger" size="20" maxlength="10">
          </label></td>
        </tr>
        <tr>
          <td><span class="style14">Adgangskode</span></td>
          <td><label>
          <input name="adgang" type="password" id="adgang" size="20" maxlength="10">
          </label></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><label>
            <input type="submit" name="button" id="button" value="Log p&aring;">
          </label></td>
        </tr>
      </table>
    </form>
   
    <p>
      <table width="600" border="1" align="center">
        <tr>
          <td bgcolor="#E9E9E9"><div align="center"><span class="left style14 style15"><em><strong>Brugernavn</strong></em><strong> og <em>Adgangskode</em> finder du p&aring; Forumsiden &quot;<em>Referater</em>&quot;<br>
            For at se <em>Referater</em> i Forummet skal man v&aelig;re logget ind p&aring; Forummet</strong></span></div></td>
        </tr>
      </table>
      </td>
  </tr>
</table>

</BODY>
Avatar billede showsource Seniormester
12. april 2011 - 13:07 #5
Hmm, har ikke rigtig været på her på det sidste....

Men ved:
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;   
// tilføjer du en session
    $_SESSION['Login_tid'] = time()+300;
// 300 er lig med 5 min. 5*60


På alle udersider kan du så tjekke værdien af $_SESSION['Login_tid']

if($_SESSION['Login_tid'] > time()) {
echo"OK";
}else{
echo"NIX";
}
Avatar billede Slettet bruger
02. juli 2011 - 23:46 #6
Tak for hjælpen
Men jeg kan ikke få det til at virke så jeg tror
jeg køber mig en bog der omhandler dette emne.
Hvordan får du lige dine point?
Og hvordan lukker jeg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester