Avatar billede lassevind Nybegynder
15. februar 2004 - 11:43 Der er 8 kommentarer og
1 løsning

Spørgsmål til login

Jeg sidder og roder med en login-funktion der benytter sig af en MySQL-database. Har sådan set fået der til at virke men jeg mangler lige det sidste. Når jeg logger ind bliver jeg henvist til en side hvor der bare stå at jeg er logget ind. Det ville jeg gerne have ændret så man f.eks. blev sendt videre til ens forside med jeg ved ikke lige hvordan man skriver det?

<?php
session_start();
$conn = mysql_connect("XXX", "XXX", "XXX");
mysql_select_db("XXX");

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password']; //For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE  Brugernavn = '$postbruger' AND Password = '$postpass'");

        $number = mysql_num_rows($resultat);
        if($number == 1) {
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass;
        echo "Du er nu logget ind";
       
        /*DET VAR HER AT JEG HAVDE FORESTILLET MIG AT MAN VIDERESENDTE BRUGEREN TIL DEN ØNSKEDE SIDE*/

        }else
    echo"De indtastede oplysninger er ikke korrekte";
        }
?>
Avatar billede danino Nybegynder
15. februar 2004 - 11:51 #1
<?php
session_start();
$conn = mysql_connect("XXX", "XXX", "XXX");
mysql_select_db("XXX");

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password']; //For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE  Brugernavn = '$postbruger' AND Password = '$postpass'");

        $number = mysql_num_rows($resultat);
        if($number == 1) {
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass;
        echo "Du er nu logget ind";
       
        header("Location: ønsket_side.php");

        }else
    echo"De indtastede oplysninger er ikke korrekte";
        }
?>
Sådan ...
Avatar billede krydset Nybegynder
15. februar 2004 - 11:52 #2
header("location:http://www.dinside.dk");
Avatar billede schaefner Juniormester
15. februar 2004 - 11:55 #3
dananino >> Hvis du ønsker at din header() skal virke, så burde du nok lade være med at udskrive noget lige før
Avatar billede danino Nybegynder
15. februar 2004 - 11:59 #4
Hehe... der er ingen der kan stave til mit nick :)
Men du har selvfølgelig ret schaefner... Koden bliver derfor:
<?php
session_start();
$conn = mysql_connect("XXX", "XXX", "XXX");
mysql_select_db("XXX");

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password']; //For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE  Brugernavn = '$postbruger' AND Password = '$postpass'");

        $number = mysql_num_rows($resultat);
        if($number == 1) {
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass;
               
        header("Location: ønsket_side.php");

        }else
    echo"De indtastede oplysninger er ikke korrekte";
        }
?>
Avatar billede schaefner Juniormester
15. februar 2004 - 12:02 #5
jo, danino, sådan :)

<?php
session_start();
$mysql_handle = mysql_connect('*','*','*');
mysql_select_db('*',$mysql_handle);

if (isset($_POST['Submit'])) {
    $rows_found = mysql_result(mysql_query("SELECT COUNT(*) FROM brugere WHERE Brugernavn = '".$_POST['Brugernavn']."' AND Password = '".$_POST['Password']."'"),0);
    if ($rows_found == 1) {
        // $_SESSION['loget_in'] = 1; // Hvorfor sætte denne? Hvorfor ikke bare teste om de to andre sessions er sat? Eller bare en af dem
        $_SESSION['Brugernavn'] = $_POST['Brugernavn'];
        $_SESSION['Password'] = $_POST['Password'];
        header("Location: http://host.com/path/users.area.php");
    } else {
        echo 'De indtastede oplysninger er ikke korrekte';
    }
} else {
    echo 'Du skal komme fra login.php';
}
?>
Avatar billede lassevind Nybegynder
15. februar 2004 - 12:29 #6
Jeg synes nu egentlig at schaefner har fortjent pointene men jeg er lidt i tvivl om hvordan at jeg lige for tildelt dig dem!!!
Avatar billede schaefner Juniormester
15. februar 2004 - 13:09 #7
Bare giv dem til danino
Avatar billede danino Nybegynder
15. februar 2004 - 13:11 #8
Men jeg lavede jo den fejl med output før headeren... Så højst halvdelen til mig...
Avatar billede kappel Nybegynder
16. februar 2004 - 16:23 #9
-> krydset

Så et spg. hvor du hjalp med noget der minder om min tråd: http://www.eksperten.dk/spm/465539
Kan du evt. hjælpe.

Mvh Mikkel
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