Avatar billede elskermad.dk Nybegynder
05. januar 2005 - 16:26 Der er 1 løsning

sker intet ved køring af login-funktion?

Hej eksperter!

Jeg har et problem med et login jeg har lavet, og jeg kan ikke lige selv gennemskue hvad fejlen er...

Problemet er at der ikke sker noget (man bliver ikke logget ind) :S

Login-funktionen ser således ud:
-----------------------------------------------------------------

<?

// session er startet, og der er åbnet forbindelse til databasen i det dokument der inkludere denne funktion (config.php)

function kunde_login($indid,$indpass) {
    global $sys; // diverse informationer
    global $phptime;  // = time()
    global $ip;
   
    $foresp = mysql_query("SELECT * FROM webshop_kunde WHERE shop = '$sys[shopid]' AND id = '$indid'") or die(mysql_error());
    while($row = mysql_fetch_array($foresp)) {
        $id         = $row["id"];
        $mail         = $row["mail"];
        $pass         = $row["pass"];
        $fornavn     = $row["fornavn"];
        $efternavn     = $row["efternavn"];
        $adresse     = $row["adresse"];
        $postnr     = $row["postnr"];
        $postby     = $row["postby"];
        $tlf         = $row["tlf"];
        $mobil         = $row["mobil"];
        $opret         = $row["opret_time"];
        $last        = $row["last_time"];
    }
   
    if (empty($indid) || empty($indpass)) {
        $fejl = "Begge felter skal udfyldes!";
       
        return $fejl;
    }
    elseif ($pass != $indpass) {
        $fejl = "Passwordet var ikke rigtigt!";
       
        return $fejl;
    }
    elseif (empty($id)) {
        $fejl = "Kundekontoen fandtes ikke!";
       
        return $fejl;
    }
    else {
        $kunde[id]            = $id;
        $kunde[mail]        = $mail;
        $kunde[pass]        = $pass;
        $kunde[fornavn]        = $fornavn;
        $kunde[efternavn]    = $efternavn;
        $kunde[adresse]        = $adresse;
        $kunde[postnr]        = $postnr;
        $kunde[postby]        = $postby;
        $kunde[tlf]            = $tlf;
        $kunde[mobil]        = $mobil;
        $kunde[opret]        = $opret;
        $kunde[last]        = $last;
       
        mysql_query("update webshop_kunde set last_ip = '$ip', last_time = '$phptime' WHERE shop = '$sys[shopid]' AND id = '$id'") or die(mysql_error());
       
        session_register(kunde);
       
        return true;
    }
}

?>

Siden der skal logge brugeren ind ser sådan her ud
-----------------------------------------------------------------

<?

include("../config.php"); // inkludere filen som starter session og connecter til databasen (denne fil som includerer funktionen kunde_login(); ovenover!

if (isset($_POST[kunde])) {       
    if (!is_numeric($_POST[kunde])) {
        $foresp = mysql_query("SELECT * FROM webshop_kunde WHERE shop = '$sys[shopid]' AND mail = '$_POST[kunde]'") or die(mysql_error());
        while($row = mysql_fetch_array($foresp)) {
            $kundeid = $row["id"];
        }
    }
    else {
        $kundeid = $_POST[kunde];
    }
   
    if($login = kunde_login($kundeid,$_POST[pass])) {
        header("location:" . $_POST[ref] . "?kunde=" . $kundeid);
       
        exit;
    }
    else {
        $fejl = $login;
    }
}

htmlstart("Kundelogin","Kundelogin");

if ($fejl) {
    echo"
    <b>Der opstod en fejl ved login:</b><br>
    $fejl<br>
    <br>
    ";
}

login_bruger_form("","350px","Login");

htmlslut();

?>

Funktionen login_bruger_form som laver login-formen...
-----------------------------------------------------------------

function login_bruger_form($ref = "/kunde/index.php",$size = "100%",$knap = "Login") {
    if (isset($_POST[ref])) $ref = $_POST[ref];
   
    echo"
    <form name='brugerlogin' method='post' action='/kunde/login.php'>
        <input type='hidden' name='ref' value='$ref'>
        Kundenr. eller mail-adresse<br>
        <input type='text' name='kunde' class='form_boks' style='width:$size'><br>
        <br>
        Password<br>
        <input type='password' name='pass' class='form_boks' style='width:$size'><br>
        <br>
        <input type='submit' name='submit' class='form_knap' value='$knap'>
    </form>
    ";
}



Håber i kan se hoved og hale i det selvom der er så mange dele, grunden til den er lavet i funktionerne, er så det er muligt at logge ind fra forskellige sider :)

På forhånd mange tak!
Avatar billede elskermad.dk Nybegynder
07. januar 2005 - 11:28 #1
fandt sgu selv ud af det efter en nats arbejde :D
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