Avatar billede Slettet bruger
30. november 2003 - 14:26 Der er 4 kommentarer og
1 løsning

Login - php og mysql

Hej

Jeg har lavet en side med login.
Det er meningen at man skal kunne logge ind, og alt efter om man er administrator eller alm. bruger skal man kunne se forskellige oplysninger.

Lige umiddelbart ser mit script sådan her ud:
(jeg kan ikke gennemskue præcis hvad jeg mangler for at få det til at fungere)

$brugernavn_indtastet = $_POST['username'];
$kodeord_indtastet = $_POST['password'];

aabn_sql_og_vaelg_db(); (funktion der åbner min db-forbindelse)

$query = mysql_query("SELECT navn, pass FROM brugere WHERE navn='$brugernavn_indtastet' AND pass='$kodeord_indtastet'");
luk_sqlforbindelse(); (funktion der lukker min db-forbindelse)

    if ($_POST['username'] == $navn && $_POST['password'] == $pass)
      {
        $_SESSION['sesnr'] = session_id();
        $_SESSION['navn'] = $_POST['navn'];
        $_SESSION['fuldnavn'] = "Testbruger";
        $_SESSION['rettigheder'] = "admin";

Jeg vil meget gerne have at fuldnavn og rettigheder også hentes fra databasen hvori brugernavn og kodeord ligger.
Jeg har en database med 4 tabeller (navn, pass, fuldnavn, rettigheder), men jeg er total nybegynder udi mysql, og kan ikke gennemskue hvordan jeg gør.
Avatar billede schaefner Juniormester
30. november 2003 - 14:44 #1
Prøv:

<?php
$username = $_POST['username'];
$password = $_POST['password'];

aabn_sql_og_vaelg_db();
$query = mysql_query("SELECT navn,fuldnavn,rettigheder FROM brugere WHERE navn='$username' AND pass='$password'");

if (mysql_num_rows($query) == 1) {
    $row = mysql_fetch_assoc($query);
    $_SESSION['sesnr'] = session_id();
    $_SESSION['navn'] = $row['navn'];
    $_SESSION['fuldnavn'] = $row['fuldnavn'];
    $_SESSION['rettigheder'] = $row['rettigheder'];
} else {
    echo 'Ikke korrekt!';
}
luk_sqlforbindelse();
?>
Avatar billede schaefner Juniormester
30. november 2003 - 14:44 #2
og lige en session_start(); øverst
Avatar billede schaefner Juniormester
30. november 2003 - 14:48 #3
<?php
session_start();
aabn_sql_og_vaelg_db();
$query = mysql_query("SELECT navn,fuldnavn,rettigheder FROM brugere WHERE navn='".$_POST['username']."' AND pass='".$_POST['password']."'");

if (mysql_num_rows($query) == 1) {
    $row = mysql_fetch_assoc($query);
    $_SESSION['sesnr'] = session_id();
    $_SESSION['navn'] = $row['navn'];
    $_SESSION['fuldnavn'] = $row['fuldnavn'];
    $_SESSION['rettigheder'] = $row['rettigheder'];
} else {
    echo 'De indtastede oplysninger ikke korrekte!';
}
luk_sqlforbindelse();
?>

mvh. Jesper Sørensen
Avatar billede Slettet bruger
30. november 2003 - 15:22 #4
Når jeg prøver dit forslag får jeg fejl på mysql_num_rows linjen....

Fejlmeddelsen er en parse error på den linje.
Avatar billede Slettet bruger
30. november 2003 - 15:28 #5
Sorry.... fandt en tastefejl...
Hader når man stirrer sig blind, og føler man er 100% sikker på at det står som det skal....

Tak for hjælpen :o)
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

IT-JOB