Avatar billede bahn Nybegynder
15. april 2001 - 14:18 Der er 8 kommentarer og
1 løsning

Hvordan genkender man en bruger?

Hej jeg har prøvet at genkende brugere på følgende måde:

<?
//Tæller den enkelte
    setcookie(\"user\", $REMOTE_ADDR, time () + 3600*24*14);

    $db = mysql_connect(\"localhost\", \"\", \"\");
    mysql_select_db(\"skovhave\", $db);
($result = mysql_query(\"select * from brugere where ip = \'$user\'\")) || die(mysql_error());
$tal = mysql_num_rows($result);


if ($tal == \'0\'){
$phit = 1;
$time = time()+3600*24*14; // sætter tid til 14 dage frem.
mysql_query(\"Insert into brugere (phit,ip,dato) values (\'$phit\',\'$REMOTE_ADDR\',\'$time\')\") || die(mysql_error());
}
$tid = time();

if ($tal == \'1\') {
while($row = mysql_fetch_array($result))
{
if ($tiden < $tid){$phit = $row[1]+1;}
else{$phit = $row[1];}
}
$time = time()+3600*24*14; // sætter tid til 14 dage frem.
mysql_query(\"UPDATE brugere SET phit = \'$phit\' , dato = \'$time\' WHERE ip = \'$REMOTE_ADDR\'\") || die(mysql_error());
$udlob = time()+3600;
setcookie(\"tiden\", $udlob, time () + 3600*24*14);
}
mysql_query(\"delete from brugere where dato < \'$tid\'\");
?>

men det der med $REMOTE_ADDR er ikke det rene morten kork da ip adressen (efter hvad jeg kan se!) ændre sig for hver gang man logger sig på! er det sådan at man kan genkende brugere på en anden og lidt mere stabil måde med php?
eller er det kun noget at ip adressen man kan bruge?

Bahn
Avatar billede gibson Nybegynder
15. april 2001 - 14:34 #1
Er der nogen der vil deltage i et php-projekt så se her :
http://www.eksperten.dk/spm/64611
Avatar billede gizmo-gizmo Nybegynder
15. april 2001 - 14:35 #2
hvor laver du ikke bare en simpel cookie. Du behøver slet ikke alt det der kodning.
Avatar billede gizmo-gizmo Nybegynder
15. april 2001 - 14:36 #3
hvor == hvorfor
Avatar billede lojmann Nybegynder
15. april 2001 - 14:39 #4
bahn -> En dårlig ide med at tjekke på deres IP, da det kan være den samme for flere brugere, f.eks. hvis folk går på fra jobbet, skole eller andet sted med fællels adgang...
Lav hellere et TimeStamp, som du sammenligner med...
Avatar billede gizmo-gizmo Nybegynder
15. april 2001 - 14:40 #5
når han logger sig ind:
<?
if($blablabla){
$ting=uniqid(rand());
setCookie(\"cookienavn\",\"$ting\");

mysql_query (\"UPDATE tabel SET cookie=\'$ting\' WHERE bruger=\'$brugernavn\'\");

Når du skal genkende:

$ting = $HTTP_COOKIE_VARS[\"ID\"];  //læser cookien

$query = mysql_query (\"SELECT * FROM tabel WHERE cookie=\'$ting\'\");
$antal = mysql_fetch_array($query);
Avatar billede gizmo-gizmo Nybegynder
15. april 2001 - 14:44 #6
du har en række ved brugernavn som hedder cookie, eller hvad du nu ellers vil kalde den.
$brugernavn er når brugeren logger sig ind (input type=\"text\" name=\"brugernavn\")
Avatar billede gizmo-gizmo Nybegynder
15. april 2001 - 15:45 #7
ups.
mangler vist lige

}
?>
i login. men det kan du vel selv finde ud af ;D
Avatar billede bahn Nybegynder
15. april 2001 - 19:58 #8
Jeg skal bruge det til statestik så brugeren skal ikke til at skrive noget navn det er derfor jeg gerne vil bruge ip, og det gør heller ike noget hvis folk bruger forskellige pcere men mit prøblem er at en ip jeg for ud af $REMOTE_ADDR ikke er konstant, d.v.s den ændre sig hver gang man logger på!!

forstår i?

gizmo-gizmo der er ellers et noget bedre forslag du har lavet bortset fra at jeg ikke vil bruge brugernavn!!
Avatar billede bahn Nybegynder
28. august 2001 - 19:16 #9
lukket
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