Avatar billede compac Seniormester
17. juli 2008 - 14:26 Der er 10 kommentarer og
1 løsning

Afbryd login

Jeg har fundet et login-program, som opfylder mine krav, som jeg har nævnt i et tidligere spørgsmål. (russcom.net).

Men der er et problem:

Efter man har foretaget login og foretaget sine transaktioner, kan man gå "baglæns" med browserens piletaster -uden at blive afvist eller logged off.

Her er en del af koden:

login.php:

<?php
ob_start();
//include the header.php file
require("top.php");
echo "<br><br><br><br><center>";
//Write the login form out
echo "<form method=post action=login.php?action=check><table border=1><tr><td><font size=2>Bruger:</font></td><td><input type=text name=Uname></td></tr><tr><td><font size=2>Password:</font></td><td><input type=password name=Pword></td></tr><tr><td></td><td><input type=submit value=Login></td></tr>";
//check the input
if($_GET['action'] == 'check')
{
//find the user
$result = mysql_query("SELECT * FROM loginphp WHERE Uname='{$_POST['Uname']}'") or die(mysql_error());
$row = mysql_fetch_array( $result ); //set $row to result
  if($row['Uname'] == "")
  {
      echo error();
  }
  else
  {
      //$enc = md5($_POST['Pword']);
      $enc = $_POST['Pword'];
      if($row['Pword'] == $enc)
      {
          $_SESSION['Uname'] = $_POST['Uname'];
          $_SESSION['lp'] = 'pl';
      header("Location: main.php");
          exit;
      }
      else
      {
        echo error();
      }
  }
}
if($_GET['action'] == 'registered')
{
echo "<b>Registrering er foretaget</b>";
}
function error()
{
echo "<b>Brugernavn eller password er ikke korrekt</b>";
}
?>


top.php:

<?php
session_start();
//include the config.php file
require("config.php");
echo "<div align=center style=width: 880; height: 599>";
echo "<center>";
echo "<div align=center>";
echo "<table border=0 width=770 height=3><font size=3>";
echo "<tr>";
echo "<td height=3 valign=top align=right width=760><font size=3>";
if($_SESSION['Uname'] == $ADMINUNAME)
{
  echo "<font size=2>";
echo "  <a href=register.php><img src=img/register.gif border=0>&nbsp;Register</a>";
echo " | <a href=members.php><img src=img/members.gif border=0>&nbsp;Medlemmer</a>";
}
if($_SESSION['Uname'] == $ADMINUNAME)
{
echo " |<a href=main.php> <img src=img/main.gif border=0>&nbsp;Main</a>";
}
if($_SESSION['Uname'] == $ADMINUNAME)
{
echo "<a href=admincp.php> <img src=img/admincp.gif border=0>&nbsp;Kontrolpanel</a>";
}
if($_SESSION['Uname'] == '' || $_SESSION['lp'] == '')
{
echo "<a href=login.php></a>";
}
else
{
  echo "<font size=2>";
echo "<a href=logout.php><img src=img/logout.gif border=0>&nbsp;Logout</a>";
}
echo "<br><br></font></center>";
echo "      </td>";
echo "    </tr>";
echo "  </table>";
echo "</div>";
echo "</div>";
echo "</center>";
?>


Hvad er løsningen på det?
Avatar billede jakobdo Ekspert
17. juli 2008 - 15:55 #1
Hvad vil du gerne undgå ?
En bruger kunne jo også gemme hver side han besøgte på din side.
Så det han "kører baglæns" i, er jo bare cachede data.
Avatar billede compac Seniormester
17. juli 2008 - 16:52 #2
Når man kører baglæns uden at logge af først, slettes menuen i top.php ikke. Jeg ville gerne have at menuen slettes uanset om man logger "pænt" af, eller kører baglæns.
Avatar billede jakobdo Ekspert
17. juli 2008 - 17:43 #3
Så skal du jo styre din menu med noget session.
Så når der er blevet checked ud, så sæt:
$_SESSION['checkout'] = true;

Og lav så menuen ala:

if(isset($_SESSION['check']) && $_SESSION['check'] != true){
//VIS MENU
}
Avatar billede compac Seniormester
17. juli 2008 - 20:23 #4
Problemet er at der ikke bliver tjekket ud, når jeg bruger "baglæns pilen".

Vil det ske med din kode?
Avatar billede thesurfer Nybegynder
17. juli 2008 - 20:27 #5
Husk at siden ikke skal caches.
Avatar billede compac Seniormester
17. juli 2008 - 21:13 #6
Vil fortælle mig hvad jeg helt konkret skal foretage mig?

Hvordan undgår/sletter jeg caching af siden- vis gerne et eksempel.

Samtidig skal min Session destrueres - hvor skal jeg sætte koden ind til det?
Avatar billede jakobdo Ekspert
17. juli 2008 - 21:20 #7
Altid rart at hjælpe en som bare forlanger og udstikker kommandoer! :o)
Avatar billede compac Seniormester
17. juli 2008 - 23:02 #8
Jeg vil forsøge at lave et forslag. Håber at I vil kommentere det.
Avatar billede compac Seniormester
03. november 2008 - 21:56 #9
oprydning
Avatar billede olebole Juniormester
08. november 2008 - 22:14 #10
<ole>

Husk at acceptere dit svar  ;o)

/mvh
</bole>
Avatar billede compac Seniormester
01. december 2008 - 12:26 #11
acc
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