Avatar billede fhansen Praktikant
28. marts 2007 - 11:17 Der er 1 løsning

auto login script

Hej allesammen.

Jeg forsøger at tilføje en autologin til mit site, men det driller, den læser cookien korrekt, men efter jeg logget ind
returnere linien *if(false == check_login()){* false, dette kunne betyde at de forskellige $_sessions ikke er sat, men hvis jeg echoer dem er de sat.

Udgangspunktet til scriptet er noget jeg har fundet på nettet.


bruger.php
<?php
$dbhost = "";
$dbuser = "";
$dbpass = "";
$database = "";
include("Lockfiles/settings.php");
?>

<head>
<script type="text/javascript">
function setlogin(login){
location.href='set.php?login='+login+''};
</script>

</head>

<body>
<?
$chk = '';
if (isset($_COOKIE['logg'])) {
    $logg = $_COOKIE['logg'];
    $logg = split('
  • ',$logg) ;     
    if(true == login($logg[0],$logg[1])){
    $chk = 'checked';
}else{
    $chk = '';   
}}

if(false == check_login()){
?>

settings.php
<?php

function check_login() {
    if(isset($_SESSION["user"], $_SESSION["ip"]) && $_SESSION["ip"] == $_SERVER["REMOTE_ADDR"]) {
    return true;
    }
return false;
}

session_start();

if(isset($_POST["logud"])) {
    $_SESSION = array();
    session_destroy();
   
}
$default_text = "Forkert bruger og/eller password!!!";


if(isset($_POST["login"])) {
    if(($_POST["brugernavn"] > "" ) && ($_POST["password"] > "")) {
    login($_POST["brugernavn"],$_POST["password"]);
    }
}

function login($brugernavn,$password){
    global $dbhost;
    global $dbuser;
    global $dbpass;
    global $database;
   
        $db = @mysql_pconnect($dbhost, $dbuser, $dbpass) or die ("Kunne desværre ikke forbinde til databasen!".$dbuser);
        @mysql_select_db($database, $db) or die ("Kunne desværre ikke forbinde til valgte database!");
        $sql = 'SELECT s.Id, s.Nummer,s.Login, s.Password, s.Navn, s.Admin, b.Berth FROM sejler s
              LEFT JOIN berth b ON s.Nummer = b.Client
              WHERE Login = \''.$brugernavn.'\' AND Password = \''.$password.'\'';
        $check = mysql_query($sql) or die ("Sql fejl" );
       
        if(mysql_num_rows($check) != 0){
       
            $users = mysql_fetch_array($check);

            $_SESSION["user"] = $_POST["brugernavn"];
            $_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];
            $_SESSION["Navn"] = $users['Navn'];
            $_SESSION["No"] = $users['Nummer'];
        $_SESSION["Plads"] = $users['Berth'];
        $_SESSION["ClId"] = $users['Id'];
        $_SESSION["Admin"] = $users['Admin'];
        $date = date('d-m-Y');
        $date = split('
  • ',$date);
            $_SESSION["Date"]= mktime(0,0,0,$date[1],$date[0],$date[2]);
        return true;
        }else{
        $_SESSION["besked"] = "Ingen bruger fundet";
        return false;
           
        }
}

?>

finn
Avatar billede fhansen Praktikant
28. marts 2007 - 11:25 #1
Sorry guys.


Fandt selv fejlen efter at jeg havde oploadet mit spørgsmål, da havde jeg også kun siddet og rodet med det - 5-6 timer.

linien
$_SESSION["user"] = $_POST["brugernavn"];
skulle ændres til
$_SESSION["user"] = $brugernavn;
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