Avatar billede greenie Nybegynder
09. december 2013 - 18:06 Der er 1 kommentar

Log ud

Jeg har installeret dette script på vores klub side

http://tutorialzine.com/2009/10/cool-login-system-php-jquery/

Men af en eller anden årsag så bliver man logget ud så snart man klikker på et af de link der er i toppen (af dem man kan se når man er logget ind) - det er pænt irriterende. Jeg har lagt scriptet ind igen uden mine pilfingre, men problemet består.

Det eneste jeg har ændret er demo.php er inkluderet i toppen af min side og så er den oversat til dansk.

Jeg kunne nemt forestille mig at det er et browser problem, men uden at være sikker, jeg har ikke dette problem på andre sider.

<?php

define('INCLUDE_CHECK',true);

require 'connect.php';
require 'functions.php';
// Those two files can be included only if INCLUDE_CHECK is defined


session_name('tzLogin');
// Starting the session

session_set_cookie_params(2*7*24*60*60);
// Making the cookie live for 2 weeks

session_start();

if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])
{
    // If you are logged in, but you don't have the tzRemember cookie (browser restart)
    // and you have not checked the rememberMe checkbox:

    $_SESSION = array();
    session_destroy();
   
    // Destroy the session
}


if(isset($_GET['logoff']))
{
    $_SESSION = array();
    session_destroy();
   
    header("Location: index.php");
    exit;
}

if($_POST['submit']=='Login')
{
    // Checking whether the Login form has been submitted
   
    $err = array();
    // Will hold our errors
   
   
    if(!$_POST['username'] || !$_POST['password'])
        $err[] = 'Du mangler noget..';
   
    if(!count($err))
    {
        $_POST['username'] = mysql_real_escape_string($_POST['username']);
        $_POST['password'] = mysql_real_escape_string($_POST['password']);
        $_POST['rememberMe'] = (int)$_POST['rememberMe'];
       
        // Escaping all input data

        $row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'"));

        if($row['usr'])
        {
            // If everything is OK login
           
            $_SESSION['usr']=$row['usr'];
            $_SESSION['id'] = $row['id'];
            $_SESSION['rememberMe'] = $_POST['rememberMe'];
           
            // Store some data in the session
           
            setcookie('tzRemember',$_POST['rememberMe']);
        }
        else $err[]='Forkert brugernavn og/eller kode!';
    }
   
    if($err)
    $_SESSION['msg']['login-err'] = implode('<br />',$err);
    // Save the error messages in the session

    header("Location: index.php");
    exit;
}
else if($_POST['submit']=='Register')
{
    // If the Register form has been submitted
   
    $err = array();
   
    if(strlen($_POST['username'])<4 || strlen($_POST['username'])>32)
    {
        $err[]='Dit brugernavn skal være mellem 4 og 32 tegn!';
    }
   
    if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
    {
        $err[]='Dit brugernavn indeholder ugyldige tegn!';
    }
   
    if(!checkEmail($_POST['email']))
    {
        $err[]='Din E-mail er ugyldig!';
    }
   
    if(!count($err))
    {
        // If there are no errors
       
        $pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
        // Generate a random password
       
        $_POST['email'] = mysql_real_escape_string($_POST['email']);
        $_POST['username'] = mysql_real_escape_string($_POST['username']);
        // Escape the input data
       
       
        mysql_query("    INSERT INTO tz_members(usr,pass,email,regIP,dt)
                        VALUES(
                       
                            '".$_POST['username']."',
                            '".md5($pass)."',
                            '".$_POST['email']."',
                            '".$_SERVER['REMOTE_ADDR']."',
                            NOW()
                           
                        )");
       
        if(mysql_affected_rows($link)==1)
        {
            send_mail(    'homohenning@klubkjm.dk',
                        $_POST['email'],
                        'Registrerings System - Dit nye kodeord',
                        'Dit kodeord er: '.$pass);

            $_SESSION['msg']['reg-success']='Vi har sendt en E-mail med dit nye kodeord!';
        }
        else $err[]='Brugernavnet er optaget!';
    }

    if(count($err))
    {
        $_SESSION['msg']['reg-err'] = implode('<br />',$err);
    }   
   
    header("Location: index.php");
    exit;
}

$script = '';

if($_SESSION['msg'])
{
    // The script below shows the sliding panel on page load
   
    $script = '
    <script type="text/javascript">
   
        $(function(){
       
            $("div#panel").show();
            $("#toggle a").toggle();
        });
   
    </script>';
   
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title><? echo $page_title; ?></title>
<link rel="stylesheet" type="text/css" href="/css/style.css">
<link rel="stylesheet" type="text/css" href="/css/slideout.css">
<link rel="shortcut icon" href="http://klubkjm.dk/favicon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="/highslide/highslide.js"></script>
<link rel="stylesheet" type="text/css" href="/highslide/highslide.css" />
<script type="text/javascript">
    // override Highslide settings here
    // instead of editing the highslide.js file
    hs.graphicsDir = '/highslide/graphics/';
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   
    <link rel="stylesheet" type="text/css" href="css/demo.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="login_panel/css/slide.css" media="screen" />
   
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
   
    <!-- PNG FIX for IE6 -->
    <!-- http://24ways.org/2007/supersleight-transparent-png-in-ie6 -->
    <!--[if lte IE 6]>
        <script type="text/javascript" src="login_panel/js/pngfix/supersleight-min.js"></script>
    <![endif]-->
   
    <script src="login_panel/js/slide.js" type="text/javascript"></script>
   
    <?php echo $script; ?>
</head>

<body>

<!-- Panel -->
<div id="toppanel">
    <div id="panel">
        <div class="content clearfix">
            <div class="left">
                <h1>Medlemsfordele</h1>
                <h2>For medlemmer af Klub KJM</h2>       
                <p class="grey">Som medlem af Klub KJM har du på disse sider adgang til en masse informationer, værktøjer og links. Hvis du synes der mangler noget, så kontakt mig, så kigger jeg på det.</p>
            </div>
           
            <?php
            if(!$_SESSION['id']):
            ?>
           
            <div class="left">
                <!-- Login Form -->
                <form class="clearfix" action="" method="post">
                    <h1>Medlems logind</h1>
                   
                    <?php
                        if($_SESSION['msg']['login-err'])
                        {
                            echo '<div class="err">'.$_SESSION['msg']['login-err'].'</div>';
                            unset($_SESSION['msg']['login-err']);
                        }
                    ?>
                   
                    <label class="grey" for="username">Brugernavn:</label>
                    <input class="field" type="text" name="username" id="username" value="" size="23" />
                    <label class="grey" for="password">Kodeord:</label>
                    <input class="field" type="password" name="password" id="password" size="23" />
                    <label><input name="rememberMe" id="rememberMe" type="checkbox" checked="checked" value="1" />  Husk mig</label>
                    <div class="clear"></div>
                    <input type="submit" name="submit" value="Login" class="bt_login" />
                </form>
            </div>
            <div class="left right">           
            </div>
           
            <?php
           
            else:
           
            ?>
           
            <div class="left">
           
            <h1>Medlems panel</h1>
           
            <a href="lovene.php">Vedtægter</a> |
            <a href="excel.php">Timestyring i Excel</a>
            <p>- eller -</p>
            <a href="?logoff">Log ud</a>
           
            </div>
           
            <div class="left right">
            </div>
           
            <?php
            endif;
            ?>
        </div>
    </div> <!-- /login -->   

    <!-- The tab on top -->   
    <div class="tab">
        <ul class="login">
            <li class="left"> </li>
            <li>Hej <?php echo $_SESSION['usr'] ? $_SESSION['usr'] : 'Gæst';?>!</li>
            <li class="sep">|</li>
            <li id="toggle">
                <a id="open" class="open" href="#"><?php echo $_SESSION['id']?'Vis panel':'Log ind';?></a>
                <a id="close" style="display: none;" class="close" href="#">Skjul panel</a>           
            </li>
            <li class="right"> </li>
        </ul>
    </div> <!-- / top -->
   
</div> <!--panel -->
Avatar billede michael_stim Ekspert
09. december 2013 - 19:37 #1
Nu har jeg ikke kigget alt din kode igennem, men kan se at du har session_start(); et stykke nede. Prøv at flytte den længst op i dokumentet (det skal gøres på alle dine sider).
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