/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Log out til log-in system (m. cookie) ???
Fra : Jesper Holm


Dato : 27-06-03 17:07

Hej NG. Jeg er ny i PHP og MySQL så jeg håber I vil bære over med
mig, hvis der skulle forefindes "begynderbommerter"

Jeg har lavet et log-in system i PHP med følgende kode:
-----------------------------------------------------

<?
if(($bruger) && ($password)){

$dage = 2;

$frist = time() + (60 * 60 * 24 * $dage);

setcookie("bruger", $bruger, $frist);
setcookie("password", $password, $frist);

}
?>

<html>
<body>

<?

$db = mysql_connect("localhost", "DATABASENAVN", "PASSWORD");
mysql_select_db("DATABASENAVN", $db);

if (($bruger) && ($password)){

$check = mysql_query("SELECT * FROM user WHERE bruger = '$bruger'
AND password = '$password' ");
while($data = mysql_fetch_row($check)){
?>

Hej $data[1]. Hvordan går det?

<?
include "index.php";
?>

På gensyn!

<?
}

} else {
?>

<form method="get" action=<? echo $PHP_SELF; ?>>
Brugernavn:<br>
<input type="text" name=bruger><br>
Password:<br>
<input type="password" name=password><br>
<input type="submit" value="Log ind">
</form>

<?
}
?>

</body>
</html>

-----------------------------------------------------
Mit spørgsmål: Hvordan laver jeg en funktion der kan logge en
bruger ud? Som I kan se, gemmer siden en cookie med $bruger og
$password. Hvis man indtastet adressen igen, vil brugeren jo
stadigvæk være logget på.

Jeg ved, at det er en laaaang kode, men jeg håber at et klogt
hoved vil være mig behjælpelig med dette, så jeg kan blive ligeså
god som alle jer andre

[ Store forventninger ]

På forhånd TAK!

Med venlig hilsen
Jesper Holm

Se evt. siden med log-in systemet: http://hosting.1go.dk
Bruger: test
Password: test

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (27-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-06-03 18:02

Hej,

Jesper Holm wrote:
> Jeg har lavet et log-in system i PHP med følgende kode:
> -----------------------------------------------------
>
> <?
> if(($bruger) && ($password)){
>
> $dage = 2;
>
> $frist = time() + (60 * 60 * 24 * $dage);
> setcookie("bruger", $bruger, $frist);
> setcookie("password", $password, $frist);
>
> }
> ?>

Det er altid dumt at gemme password i cookies da de nemt kan fanges så
:( F.eks. hvis cookien ikke slettes... eller ligende.
Gem eventeuelt et krypteret password med salt... f.eks.
$salt = 'sadk09u32hd93udpjd093'; //tilfældige tegn i en var.
$cookie_password = md5($salt.$password);

> if (($bruger) && ($password)){

Nævne det ikke først... men regn ikke med register_globals forbliver sat
til on (forhåbentlig ikke...). dermed $_POST['bruger'] ..
$_POST['password'] hvis du bruger post i form... eller hvis det er en
get så brug $_GET... (sagde han og kunne se lidt længere nede det er
get... hvilket også er dumt... da password så bliver en del af URL'en...
brug POST...)


> <form method="get" action=<? echo $PHP_SELF; ?>>
> Brugernavn:<br>
> <input type="text" name=bruger><br>
> Password:<br>
> <input type="password" name=password><br>
> <input type="submit" value="Log ind">
> </form>


Brug method="post" i stedet for get..

> Mit spørgsmål: Hvordan laver jeg en funktion der kan logge en
> bruger ud? Som I kan se, gemmer siden en cookie med $bruger og
> $password. Hvis man indtastet adressen igen, vil brugeren jo
> stadigvæk være logget på.
>
> Jeg ved, at det er en laaaang kode, men jeg håber at et klogt
> hoved vil være mig behjælpelig med dette, så jeg kan blive ligeså
> god som alle jer andre

Det står faktisk i PHP manualen.
tjek:
http://dk2.php.net/setcookie
Example 2. setcookie() delete exampes :)

mvh
Johan


Jesper Holm (27-06-2003)
Kommentar
Fra : Jesper Holm


Dato : 27-06-03 18:22

Johan Holst Nielsen wrote in dk.edb.internet.webdesign.serverside.php:
> Hej,
>
> Jesper Holm wrote:
> > Jeg har lavet et log-in system i PHP med følgende kode:
> > -----------------------------------------------------
> >
> > <?
> > if(($bruger) && ($password)){
> >
> > $dage = 2;
> >
> > $frist = time() + (60 * 60 * 24 * $dage);
> > setcookie("bruger", $bruger, $frist);
> > setcookie("password", $password, $frist);
> >
> > }
> > ?>
>
> Det er altid dumt at gemme password i cookies da de nemt kan fanges så
> :( F.eks. hvis cookien ikke slettes... eller ligende.
> Gem eventeuelt et krypteret password med salt... f.eks.
> $salt = 'sadk09u32hd93udpjd093'; //tilfældige tegn i en var.
> $cookie_password = md5($salt.$password);
>
> > if (($bruger) && ($password)){
>
> Nævne det ikke først... men regn ikke med register_globals forbliver sat
> til on (forhåbentlig ikke...). dermed $_POST['bruger'] ..
> $_POST['password'] hvis du bruger post i form... eller hvis det er en
> get så brug $_GET... (sagde han og kunne se lidt længere nede det er
> get... hvilket også er dumt... da password så bliver en del af URL'en...
> brug POST...)
>
>
> > <form method="get" action=<? echo $PHP_SELF; ?>>
> > Brugernavn:<br>
> > <input type="text" name=bruger><br>
> > Password:<br>
> > <input type="password" name=password><br>
> > <input type="submit" value="Log ind">
> > </form>
>
>
> Brug method="post" i stedet for get..
>
> > Mit spørgsmål: Hvordan laver jeg en funktion der kan logge en
> > bruger ud? Som I kan se, gemmer siden en cookie med $bruger og
> > $password. Hvis man indtastet adressen igen, vil brugeren jo
> > stadigvæk være logget på.
>
> Det står faktisk i PHP manualen.
> tjek:
> http://dk2.php.net/setcookie
> Example 2. setcookie() delete exampes :)

Jeg forstår ikke 100% beskrivelsen i manualen. Kan du, Johan (eller andre)
prøve at skrive koden til at slette cookien UD FRA DEN COOKIE SOM JEG HAR
SAT (se længere oppe

Så ville det være en kæmpe hjælp da jeg som sagt er helt ny i "faget"

Tak for hjælpen så langt, Johan.

/ Jesper

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Johan Holst Nielsen (27-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-06-03 18:32

Jesper Holm wrote:
> Jeg forstår ikke 100% beskrivelsen i manualen. Kan du, Johan (eller andre)
> prøve at skrive koden til at slette cookien UD FRA DEN COOKIE SOM JEG HAR
> SAT (se længere oppe

setcookie("bruger", "", time()-3600);
setcookie("password", "", time()-3600);

> Så ville det være en kæmpe hjælp da jeg som sagt er helt ny i "faget"
>
> Tak for hjælpen så langt, Johan.

No problem :)

mvh
Johan


Jesper Holm (27-06-2003)
Kommentar
Fra : Jesper Holm


Dato : 27-06-03 20:12

> setcookie("bruger", "", time()-3600);
> setcookie("password", "", time()-3600);

Hvorfor står der -3600?? Hvad er det og skal det indstilles efter de
oplysninger man har defineret i sin(e) cookie(s)??

Ellers mange tak

/ Jesper

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Johan Holst Nielsen (27-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 27-06-03 20:42



Jesper Holm wrote:
>>setcookie("bruger", "", time()-3600);
>>setcookie("password", "", time()-3600);
>
>
> Hvorfor står der -3600?? Hvad er det og skal det indstilles efter de
> oplysninger man har defineret i sin(e) cookie(s)??
>
> Ellers mange tak

Well, det er når du skal slette dem. time()-3600 er udløbsdato.
Nuværende tid - 3600 sekunder svarer til "fra en time siden". Det
betyder at du overskriver dine cookies om at de skulle være slettet fra
en time siden?

Er det forståeligt?

Reelt kunne du selv vælge tallet... men 3600 er et så dejligt tal da det
betyder en time ;).

mvh
Johan


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste