Avatar billede delphiuser Mester
22. september 2006 - 09:58 Der er 9 kommentarer og
1 løsning

hjælp til login

Hej igen igen

jeg er løbet lidt kold i dette med mit login system. Her får i alt hvad i skal bruge. håber i kan rette det til for mig så det virker helt...

do_login.php

<?php
session_start();
if(isset($_POST['submit'])) {

mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");

$sql = mysql_query("select * from bruger where user = '$user' AND pass = '$pass'");
if( mysql_num_rows($sql) == 1 )
{
$row = mysql_fetch_row($sql);

$_SESSION['id'] = $row['id'];
$_SESSION['user'] = $row['user'];
$_SESSION['navn'] = $row['navn'];

mysql_query("INSERT INTO online WHERE navn =". $row['navn'] ." AND id =". $row['id'] ."");

header("location:inc/index.php");
} else {
header("location:index.php");
}
}

?>

Beskrivelse af do_login.php - Min login fil skal selvfølgelig tjekke om brugernavn og password stemmer over ens med det i tabellen... Men den skal også lægge på id og navn over i en online tabel. Jeg har prøvet mig frem men den vil ikke....

Her kommer så anden del af dette... Jeg kan ikke få den til at gemme mine session så jeg kan bruge dem på en anden eller flere andre sider. hvad har jeg gjort galt der...

på min index side som du kommer ind på når du logger dig på skal den skrive dit navn altså der skal stå således. har skam husket at sætte SESSION_START(); ind på siderne

Velkommen tilbage Hans Henrik

<?php echo 'Velkommen tilbage' $_SESSION

nå men når jeg så skal logge mig af skal den jo så fjerne alle sessions og slette dig fra online tabellen. dertil har jeg lavet dette...


<?php
session_start();

mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");

$sql = mysql_query("DELETE FROM online WHERE navn ='$navn' AND id ='$id'");

unset_session['navn'];
unset_session['id'];
unset_session['user'];
unset_session['pass'];

header("location:index.php");


?>


jeg har sikkert lavet noget helt forkert men håber på en meget kvalificeret hjælp....
Avatar billede coderdk Praktikant
22. september 2006 - 10:20 #1
Skal din logud ikke se sådan ud:

<?php
session_start();

mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");

$sql = mysql_query("DELETE FROM online WHERE navn ='$_SESSION[navn]' AND id ='$_SESSION[id]'");

session_destroy();

header("location:index.php");

?>

?
Avatar billede coderdk Praktikant
22. september 2006 - 10:21 #2
mysql_query("INSERT INTO online SET navn = '". $row['navn'] ."' AND id =". $row['id']);

i do_login.php vel
Avatar billede kdjweb Nybegynder
22. september 2006 - 10:22 #3
<?php
session_start();
if(isset($_POST['submit'])) {

    mysql_connect("xxx", "xxx", "xxx");
    mysql_select_db("xxx");

    $sql = mysql_query("select * from bruger where user = '$user' AND pass = '$pass'");
    if(mysql_num_rows($sql) == 1){
        if($row =  mysql_fetch_array($sql)){
            while($row = mysql_fetch_row($sql));

            $_SESSION['id'] = $row['id'];
            $_SESSION['user'] = $row['user'];
            $_SESSION['navn'] = $row['navn'];

            mysql_query("INSERT INTO online WHERE navn =". $row['navn'] ." AND id =". $row['id'] ."");

            header("location:inc/index.php");
        }
    } else {
        header("location:index.php");
    }
}
?>

---------------------------

<?php echo "Velkommen tilbage ".$_SESSION['navn']; ?>

---------------------------
<?php
session_start();

mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");

$sql = mysql_query("DELETE FROM online WHERE navn ='$navn' AND id ='$id'");

session_destroy();

header("location:index.php");

?>
Avatar billede kdjweb Nybegynder
22. september 2006 - 10:24 #4
lige en rettelse " while($row = mysql_fetch_row($sql)); " skal rettese til while($row = mysql_fetch_row($sql)){
Avatar billede kdjweb Nybegynder
22. september 2006 - 11:47 #5
prøver igen..

<?php
session_start();
if(isset($_POST['submit'])) {

    mysql_connect("xxx", "xxx", "xxx");
    mysql_select_db("xxx");

    $sql = mysql_query("select * from bruger where user = '$user' AND pass = '$pass'");
    if(mysql_num_rows($sql) == 1){
        while($row = mysql_fetch_row($sql)){
       
            $_SESSION['id'] = $row['id'];
            $_SESSION['user'] = $row['user'];
            $_SESSION['navn'] = $row['navn'];

            mysql_query("INSERT INTO online (navn, id) VALUES ('".$row['navn']."','".$row['id']."')");

            header("location:inc/index.php");
        }
    } else {
        header("location:index.php");
    }
}
?>
Avatar billede delphiuser Mester
22. september 2006 - 12:23 #6
er det muligt at lave en check fil som man kan include på alle de sider der skal være låst så hvis man prøver at bruge en function som er lost åbner den en login side?
Avatar billede kdjweb Nybegynder
27. september 2006 - 17:10 #7
hm du kan vel indramme det hele med

if($_SESSION['id']){

// vis login krævet side

} else {

// vidresend til login siden

}
Avatar billede delphiuser Mester
28. juli 2010 - 13:53 #8
lukker
Avatar billede coderdk Praktikant
28. juli 2010 - 14:05 #9
Ok?
Avatar billede kdjweb Nybegynder
28. juli 2010 - 17:34 #10
Meget sjovt at se hvad man lavede for 4 år siden. Trist at lukke et spm sådan.
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