Avatar billede saxtus Nybegynder
20. september 2003 - 19:48 Der er 6 kommentarer og
1 løsning

login / godkendelse af profil

Jeg er i gang med at lave et login script hvor man skal være godkendt for at kunne logge ind, og er man ikke godkendt skal man indtaste en aktiveringskode. Når den rigtige kode så er indtastet skal man kunne logge ind normalt.
jeg har prøvet med det her, men jeg får fejl

<?
  include("dbconnect.php");
session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {
$password2=(md5($password));
$tjek = mysql_query("SELECT * FROM kunde WHERE brugernavn='$brugernavn' AND password1='$password2'") or die ("Kunne ikke vælge felter i database-tabellen");
while ($row2 = mysql_fetch_array($tjek))
   
    if(mysql_num_rows($tjek) != 0) {
    if($row2["godkendt"]= 0) {?>
            <form action="godkend.php" method="post">
            <input type="hidden" name="logind" value="logind">
            <p><b>Indtast:</b></p>
            aktiveringskode: <br>
            <input type="text" name="godkendt"><br>
            <input type="submit" name="submit" value="Log ind">
            </form><? }
    else {
    $result = mysql_query("SELECT * FROM `kunde` WHERE brugernavn='$brugernavn'") or die (mysql_error());
    while ($row = mysql_fetch_array($result))
    {
    $_SESSION['sessionnr'] = session_id();
    $_SESSION['kundenr'] = $row["kundenr"];
    }
    mysql_free_result($result);

    header("Location:logintest.php");
    exit;
    }

    else {

    header("Location:bruger.php?error=fejl");
    exit;
    }

   
    }
else{

header("Location:bruger.php");
exit;
}

?>

Håber at der er en eller flere der kan hjælpe mig.
Avatar billede benzon Praktikant
20. september 2003 - 20:35 #1
}else{
        header("Location:bruger.php?error=fejl");
        exit;
    }

for mig ser det ud til det er der du har fejlen umidlbart der ud over ser det ud til du mangler noget i while ($row2 = mysql_fetch_array($tjek))

tror det skulle være

while ($row2 = mysql_fetch_array($tjek)) {
Avatar billede benzon Praktikant
20. september 2003 - 20:44 #2
<?php
if (isset($_POST['brugernavn']) && isset($_POST['password'])) {
    include("dbconnect.php");
    $brugernavn = $_POST['brugernavn'];
    $password = $_POST['password'];
    $res = mysql_query("select * from contestusr where brugernavn = '$brugernavn' and password = '$password'") or die(mysql_error());
    $row = mysql_fetch_array($res);
    if ($brugernavn && $password && $row['brugernavn'] == $brugernavn && $row['password'] == $password) {
        if($row[activation] == 0) {
            header("Location: index.php?side=activation");
        }else{
            session_start();
            $_SESSION["brugernavn"] = $_POST["brugernavn"];
            $_SESSION["password"] = $_POST["password"];
            $_SESSION["brugerid"] = $row[id];
            $sessionname = session_name();
            $sessionid = session_id();
            header("Location: index.php?side=contestmenu");
            exit;
        }
    }else{
        header("Location: index.php?side=error");
        exit;
    }
}else{
    header("Location: index.php?side=error");
    exit;
}
?>
Avatar billede benzon Praktikant
20. september 2003 - 20:45 #3
det der skulle virke er dog ikke det script du er kommet med men et jeg selv har lavet og er i brugt dagligt, har lige addet den activation du har snakket om i dit eget kan godt skrive den om for dig pt er den ikke skrevet om til det du bruger.
Avatar billede benzon Praktikant
20. september 2003 - 20:46 #4
<?php
if (isset($_POST['brugernavn']) && isset($_POST['password'])) {
    include("dbconnect.php");
    $brugernavn = $_POST['brugernavn'];
    $password = $_POST['password'];
    $password = md5($password);
    $res = mysql_query("select * from contestusr where brugernavn = '$brugernavn' and password = '$password'") or die(mysql_error());
    $row = mysql_fetch_array($res);
    if ($brugernavn && $password && $row['brugernavn'] == $brugernavn && $row['password'] == $password) {
        if($row[activation] == 0) {
            header("Location: index.php?side=activation");
        }else{
            session_start();
            $_SESSION["brugernavn"] = $_POST["brugernavn"];
            $_SESSION["password"] = $_POST["password"];
            $_SESSION["brugerid"] = $row[id];
            $sessionname = session_name();
            $sessionid = session_id();
            header("Location: index.php?side=contestmenu");
            exit;
        }
    }else{
        header("Location: index.php?side=error");
        exit;
    }
}else{
    header("Location: index.php?side=error");
    exit;
}
?>
Avatar billede benzon Praktikant
20. september 2003 - 20:48 #5
der er den ige med md5 krypteret password min fejl glemte det lige i første omgang

skal lige sige har ikke testet det med de modifikationer og ups så lige en mindre "fejl"

<?php
if (isset($_POST['brugernavn']) && isset($_POST['password'])) {
    include("dbconnect.php");
    $brugernavn = $_POST['brugernavn'];
    $password = $_POST['password'];
    $password = md5($password);
    $res = mysql_query("select * from contestusr where brugernavn = '$brugernavn' and password = '$password'") or die(mysql_error());
    $row = mysql_fetch_array($res);
    if ($brugernavn && $password && $row['brugernavn'] == $brugernavn && $row['password'] == $password) {
        if($row[activation] == '0') {
            header("Location: index.php?side=activation");
        }else{
            session_start();
            $_SESSION["brugernavn"] = $_POST["brugernavn"];
            $_SESSION["password"] = $_POST["password"];
            $_SESSION["brugerid"] = $row[id];
            $sessionname = session_name();
            $sessionid = session_id();
            header("Location: index.php?side=contestmenu");
            exit;
        }
    }else{
        header("Location: index.php?side=error");
        exit;
    }
}else{
    header("Location: index.php?side=error");
    exit;
}
?>
Avatar billede saxtus Nybegynder
20. september 2003 - 21:43 #6
Nu har jeg vist nok fået det til at virke med en del omskrivning:

<?
if (isset($_POST['logind'])) {
    include("dbconnect.php");
    $password2 = md5($password);
    $res = mysql_query("SELECT * FROM kunde WHERE brugernavn='$brugernavn' AND password1='$password2'") or die(mysql_error());
    $row = mysql_fetch_array($res);
    if (mysql_num_rows($res) != 0) {
        if($row[godkendt] == '0') {
            header("Location:godkend.php");
        }else{
            session_start();
            $result = mysql_query("SELECT * FROM `kunde` WHERE brugernavn='$brugernavn'") or die (mysql_error());
            while ($row = mysql_fetch_array($result))
            {
            $_SESSION['sessionnr'] = session_id();
            $_SESSION['kundenr'] = $row["kundenr"];
            }
            mysql_free_result($result);
            header("Location:logintest.php");
            exit;
        }
    }else{
        header("Location:bruger.php?error=fejl");
        exit;
    }
}else{
    header("Location:bruger.php");
    exit;
}
?>
Avatar billede saxtus Nybegynder
22. september 2003 - 19:47 #7
det virker
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