/ 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
gem login i en cookie
Fra : Xysto


Dato : 20-09-01 18:08

Hej
Jeg har lavet et loginsystem der ser sådan ud:


<?
if ($login){
$db=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx",$db);
$result = mysql_query("SELECT * from users where brugernavn =
'$login_bruger' AND password = '$login_pass'");
$row = mysql_fetch_array($result);
if($row[brugernavn] == $login_bruger && $row[password] == $login_pass){
echo "velkommen";
die;
}else{
echo "du er ikke inde";
}
}
?>

<form METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<input type=text name=login_bruger>
<input type=password name=login_pass>
<INPUT TYPE=submit name="login" VALUE="login">

</form>

Nu skal brugeren gemmes i en cookie så han ikke behøver at logge ind
igen.
Derudover skal cookien tjekkes for hver ny side, da siderne kun skal
kunne ses hvis man har logget på.

Håber at der er nogen der kan hjælpe.

Venlig Hilsen

Kim Højmark

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
John Mørck Hansen (20-09-2001)
Kommentar
Fra : John Mørck Hansen


Dato : 20-09-01 19:11

"Xysto" <Xysto.news@kandu.dk> skrev:
> Jeg har lavet et loginsystem der ser sådan ud:
>
> Nu skal brugeren gemmes i en cookie så han ikke behøver at logge ind
> igen.
> Derudover skal cookien tjekkes for hver ny side, da siderne kun skal
> kunne ses hvis man har logget på.

Siden du poster i denne php gruppe så er mit spørgsmål til dig... Hvorfor
bruger du ikke session i stedet for cookies ?

Cookies kan du ikke regne... fordi dine bruger kan have fra valgt dem !!!

(John =



Jesper Kjeldsen (21-09-2001)
Kommentar
Fra : Jesper Kjeldsen


Dato : 21-09-01 11:17

"John Mørck Hansen" <adilock@it.dk> skrev i en meddelelse
news:9odbfo$1da9$1@news.cybercity.dk...
> "Xysto" <Xysto.news@kandu.dk> skrev:
> Siden du poster i denne php gruppe så er mit spørgsmål til dig... Hvorfor
> bruger du ikke session i stedet for cookies ?
>
> Cookies kan du ikke regne... fordi dine bruger kan have fra valgt dem !!!

Hvis man nu vil have at næste gang brugerne besøger hjemmesiden så kan den
stadig huske koden - så kan man da ikke lave det med sessions, eller er jeg
hetl galt på den nu.
Sessions går da "død" så snart browserens lukkes, men det gør cookies ikke
(såfremt de ikke er fravalgt selvfølgelig

Mvh
Jesper




John Mørck Hansen (22-09-2001)
Kommentar
Fra : John Mørck Hansen


Dato : 22-09-01 11:45

"Jesper Kjeldsen" <usenet@jknet.danmark> skrev:
>
> Hvis man nu vil have at næste gang brugerne besøger hjemmesiden så kan den
> stadig huske koden - så kan man da ikke lave det med sessions, eller er
jeg
> hetl galt på den nu.
> Sessions går da "død" så snart browserens lukkes, men det gør cookies ikke
> (såfremt de ikke er fravalgt selvfølgelig

Både og... Om serveren sletter en session er en indstilling i PHP.session.
Men det kræver så også at brugeren gemmer sessionID !!!

Ang. Cookies så har du ret hvis man gerne vil have at man automatisk logger
ind ! Så kan det f.eks. gøres sådan:

$IsAuth = FALSE
if( isset($HTTP_COOKIE_VARS['UserName'] &&
!empty($HTTP_COOKIE_VARS['UserName'] )
{
$IsAuth = TRUE;
}
elseif( isset($HTTP_POST_VARS['UserName'] &&
!empty($HTTP_POST_VARS['UserName'] )
{
if( CheckForValidLogin( ... ) )
{
setcookie( 'Auth[UserName]', $HTTP_POST_VARS['UserName'] );
setcookie( 'Auth[Passwd]', $HTTP_POST_VARS['Passwd'] );
$IsAuth = TRUE;
}
}


(John =




Søren Finne (20-09-2001)
Kommentar
Fra : Søren Finne


Dato : 20-09-01 21:06

Hej Kim..

--cut--
> $result = mysql_query("SELECT * from users where brugernavn =
> '$login_bruger' AND password = '$login_pass'");
> $row = mysql_fetch_array($result);
> if($row[brugernavn] == $login_bruger && $row[password] == $login_pass){
--cut--

Er det ikke lidt dobbelt konfekt med den if sætning ?
Du har jo allerede testet om det er korrekt login med din query.. hvis det
er et korrekt login får du brugeren og passwordet i $row.. hvorefter if
sætningen selvfølgelig bliver sand.. men forsøger du med et forkert password
finder din query jo ikke noget i databasen.. hvorefter if bliver falsk..
eftersom der jo ikke står noget i $row..

Det korte med det lange.. kan du ikke nøjes med at checke om der overhovedet
er noget i $row ?

--
Mvh, Søren Finne



Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste