har brug for hjælp...

Tags:    php

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' $_SESSIOM['navn'; ?>



Indlæg senest redigeret d. 22.09.2006 09:55 af Bruger #9910
5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvis den skal tjekke om brugeren har trykket submit skal du bruge if($_POST['submit'])

Har ændret den i din kode:

Fold kodeboks ind/udKode 




istedet for at unsette alle session variablerne, kan du nøjes med at destroye sessionen med session_destroy()



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....



Prøv:

Fold kodeboks ind/udKode 






du indsætter ikke data ind i online tabellen fordi du ikke fortæller hvad den skal sætte.
Din query skal se anderledes ud, noget i stil med:
Fold kodeboks ind/udKode 




t