Avatar billede raiser Nybegynder
03. oktober 2005 - 18:46 Der er 8 kommentarer

Session ?lifetime?

Hvad hedder den php function der sætter levetiden på 'én' 'gruppe' session/én session?
Jeg har lidt og kan kun finde noget ala session.cookie lifetime agtigt noget.
Hjælp mig - tak:D
Avatar billede jaw Nybegynder
03. oktober 2005 - 18:48 #1
Korrekt. Du tænker på cookie og ikke sessions. En session eksisterer indtil den bliver slettet af et script, eller til brugeren lukker sin browser.

Cookies kan du læse om her: www.php.net/setcookie
Avatar billede raiser Nybegynder
03. oktober 2005 - 20:09 #2
Jamen i min login er der noget admin med udfyld felter. Login kører på session med en session der registrere om man er logget ind. Problemet er at hvis man skriver noget langt. Og så trykker på submit knappen som så vil opretter en .txt & .htm fil med indholdet(som jeg har lavet det til at sku gøre) så kommer den bare med meddelsen: Du er ikke logget på.
Det må jo være fordi session udløber?
Avatar billede jaw Nybegynder
03. oktober 2005 - 22:10 #3
Det tror jeg nu ikke, husker du session_start() osv. på alle de sider hvor du skal bruge din session? Den bør ikke kunne udløbe af sig selv.

Du kan jo også prøve at paste lidt kode, måske jeg så nemmere kan se hvad der går galt...
Avatar billede raiser Nybegynder
04. oktober 2005 - 13:57 #4
Jah hmm mærkeligt..!!

Siden hvor mand logger ind:
<?php session_start(); ?>
<html>
<head>
<title>Raiser.dk Parc - admin</title>
<link rel="stylesheet" type="text/css" href="http://www.raiser.dk/stylesheet/style.css" />
<style type="text/css"><!--
body {
    background : #eeeeee;
    margin    : 5px;
}
--></style>
</head>

<body oncontextmenu="return false;">
<?php
if(!isset($_POST['submitL'])) {
?>
<form method="post" action="#">
  <input type="text" name="user" /><br />
  <input type="password" name="pass" /> <input type="submit" name="submitL" value="Login" />
</form>
<?php
} elseif (isset($_POST['submitL'])) {
mysql_connect("","",""); mysql_select_db("");
$query = mysql_query("select * from `parcB` where `brugernavn` = '".$_POST['user']."'") or die(mysql_error());
$taal = mysql_num_rows($query);
if($taal == '1') {
  while($r = mysql_fetch_array($query)) {
    if($r['kodeord'] == $_POST['pass']) {
        $_SESSION['login'] = 'y';
        $_SESSION['brugernavn'] = $r['brugernavn'];
        echo 'Du er logget korrekt ind som: '.$_SESSION['brugernavn'].'.<br />';
        echo '<a href="upload_code.php">Upload kode</a>';
    }
  }
} else {
    echo 'Fejl <- kode & brugernavn passede ikke sammen';
}
mysql_close();
}
?>
</body>
</html>


den admin side man får adgang til hvis man er logget ind:
<?php session_start(); ?>
<html>
<head>
<title>Raiser.dk Parc - admin</title>
<link rel="stylesheet" type="text/css" href="http://www.raiser.dk/stylesheet/style.css" />
<style type="text/css"><!--
body {
    background : #eeeeee;
    margin    : 5px;
}
--></style>
</head>

<body oncontextmenu="return false;">
<?php
if($_SESSION['login'] == 'y') {
    echo 'Du er logget korrekt ind som: '.$_SESSION['brugernavn'].'.<br />';
if(!isset($_POST['opret'])) {
?>
<span style="color:#ff0000;font-weight:bold;">Når du vil lave et " skal du i stedet skrive !! ellers vil det ikke virker rigtigt</span><br />
<form method="post" action="#">
<input type="text" name="fil_navn" value="Navn" onfocus="if(this.value=='Navn'){value=''}" onblur="if(this.value==''){value='Navn'}" /><br />
<textarea name="kode" style="width:100%;height:90%;" onfocus="if(this.value=='Kode'){value=''}" onblur="if(this.value==''){value='Kode'}">Kode</textarea>
<input type="submit" name="opret" value="Opret" />
</form>
<?php
} elseif(isset($_POST['opret'])) {
  function byt($var) {
    $var = ereg_replace("\n","<br />",$var);

    return $var;
  }

  $fil_navn = $_POST['fil_navn'];
  $kode    = $_POST['kode'];

  $maned[1] = "januar";
  $maned[2] = "februar";
  $maned[3] = "marts";
  $maned[4] = "april";
  $maned[5] = "maj";
  $maned[6] = "juni";
  $maned[7] = "juli";
  $maned[8] = "august";
  $maned[9] = "september";
  $maned[10] = "oktober";
  $maned[11] = "november";
  $maned[12] = "december";

  $dag[0] = "Søndag";
  $dag[1] = "Mandag";
  $dag[2] = "Tirsdag";
  $dag[3] = "Onsdag";
  $dag[4] = "Torsdag";
  $dag[5] = "Fredag";
  $dag[6] = "Lørdag";

  $txt_indmad  = "<oprettet_af>".$_SESSION['brugernavn']."</oprettet_af>\n<oprettet>".$dag[date(w)]." d. ".date(j).". ".$maned[date(n)]." ".date(Y)."</oprettet>\n<kode>\n".$kode."\n</kode>";
  fopen("../code/".$fil_navn.".txt", "w");
  file_put_contents("../code/".$fil_navn.".txt", $txt_indmad);

  $html_indmad = "<html>\n<head>\n<title>".$fil_navn."</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.raiser.dk/stylesheet/style.css\" />\n<style type=\"text/css\"><!--\nbody {\n    margin : 5px;\n}\n--></style>\n</head>\n\n<body>\n".byt(htmlentities($kode))."\n</body>\n</html>";
  fopen("../code/".$fil_navn.".htm", "w");
  file_put_contents("../code/".$fil_navn.".htm", $html_indmad);

  echo "<br /><br /><b>Ny kode oprettet.</b>";
  echo "<br /><a href='../code/".$fil_navn.".htm'>".$fil_navn.".htm</a>\n";
  echo "<br /><a href='../code/".$fil_navn.".txt'>".$fil_navn.".txt</a>";
}
} else {
    echo 'Du er ikke logget ind';
}
?>
</body>
</html>
Avatar billede jaw Nybegynder
04. oktober 2005 - 15:18 #5
Tjah, det kan jeg egentlig heller ikke umiddelbart se der er noget galt i.

Men altså, den linker til de 2 ny-oprettede filer og samtidig skriver "Du er ikke logget ind" ?
Avatar billede raiser Nybegynder
04. oktober 2005 - 15:46 #6
Kan ikke rigtigt se hvad du mener. Hvis jeg har forstået der ret... Siger du at den udskriver link til de 2 ny-oprettede filer, samtidig med at skrive "Du er ikke logget ind".
Men det passer jo ikke.

}
"} else {"
    echo 'Du er ikke logget ind';
}


Kan godt være jeg misforstod dig..!!
Avatar billede sebast Nybegynder
04. oktober 2005 - 20:33 #7
Avatar billede jaw Nybegynder
04. oktober 2005 - 20:34 #8
?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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