Avatar billede webstuff Nybegynder
22. november 2005 - 23:28 Der er 14 kommentarer og
2 løsninger

Session login

Aloha Champions

Er der en der vil forklare mig hvordan man laver et simpelt session login til en enkelt bruger??

Så man stadig er logget ind når man går ind på en anden side..
Avatar billede jakobdo Ekspert
23. november 2005 - 08:01 #1
Du kunne starte med at lave en form som f.eks. indeholder:
<form action="login.php" method="post">
<input type="text" name="user">
<input type="text" name="pass">
<input type="submit" value="LOGIN">
</form>

På siden: login.php
laver du så:
<?php
session_start();
//Laver et tjek om $_POST["user"] og $_POST["pass"] er korrekt.
//Er det det, så sætter du:
$_SESSION["login"] = true;
?>

På alle sider herefter kan du så teste om en bruger er logged ind ved:
<?php
session_start();
if($_SESSION["login"] == true)
echo "Brugeren er logget ind";
else
echo "Brugeren er ikke logget ind";
?>
Avatar billede den-evil Nybegynder
23. november 2005 - 08:30 #2
dog ville det nok være en god ide at det er et lidt mere sikkert login...
Smid fx. addslashes på for at forhindre en bruger i at lave SQL injection attacks.

$user = addslashes($_POST['user']);
$pass = addslashes($_POST['pass']);
Avatar billede webstuff Nybegynder
23. november 2005 - 08:41 #3
okay.. tak skal i have..
har ikke mulighed for at afprøve det endnu..
Avatar billede jakobdo Ekspert
23. november 2005 - 08:42 #4
mysql_real_escape_string() er bedre end addslashes()
Avatar billede webstuff Nybegynder
23. november 2005 - 08:44 #5
hvad er forskellen..?
Avatar billede jakobdo Ekspert
23. november 2005 - 08:49 #6
mysql_real_escape_string() calls MySQL's library function mysql_escape_string, which prepends backslashes to the following characters: NULL, \x00, \n, \r, \, ', " and \x1a.

Addslashes()
Returns a string with backslashes before characters that need to be quoted in database queries etc. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).

Disse skal du kun bruge hvis du tjekker user/pass i en database.
Snakker vi login til en bruger, kunne du hardcode det ind.
user = "mig"
pass = "secret"
Avatar billede webstuff Nybegynder
23. november 2005 - 08:55 #7
det er vel ikke noget jeg behøver eftersom at jeg ikke bruger en database til at lagre brugernavnet og koderodet?
men hvis jeg udvider systemet, så skal det vel sættes på??
Avatar billede webstuff Nybegynder
23. november 2005 - 09:02 #8
Login.html

<html>
<body>
<form action="login.php" method="post">
<b>Brugernavn:</b><br>
<input type="text" name="user"><br>
<b>Kodeord:</b><br>
<input type="text" name="pass"><br>
<input type="submit" value="Login">
</form>
</body>
</html>

####################################################

login.php

<?php
session_start();
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == 'hejsa' && $pass == 'hej'){
$_SESSION["login"] = true;
header("location: secret_page.php");
} else {
echo "Forkert Brugernavn eller Kodeord";
?>

########################################################################

secret_page.php

<?php
session_start();
if($_SESSION["login"] == true)
echo "Her er alt det hemmelige";
else
echo "Forkert Brugernavn eller Kodeord";
?>

###########################################################################

Er det rigtigt nok??
Avatar billede webstuff Nybegynder
23. november 2005 - 09:07 #9
Den siger fejl i login.php linje 10
Avatar billede webstuff Nybegynder
23. november 2005 - 09:10 #10
min brændert.. havde glemt at afslutte if'en..

hvad siger i til
35 til jakobdo
15 til den-evil
Avatar billede den-evil Nybegynder
23. november 2005 - 09:15 #11
Synes det er op til dig eller jakobdo.
Avatar billede webstuff Nybegynder
23. november 2005 - 09:21 #12
okay :-D
så skal vi bare lige have ham til at smide et svar og sige hvad han synes,, :-D
Avatar billede jakobdo Ekspert
23. november 2005 - 09:24 #13
Svar! (og del som du har lyst til) :o)
Avatar billede webstuff Nybegynder
23. november 2005 - 09:26 #14
tak for hjælpen drenge :-)
Avatar billede jakobdo Ekspert
23. november 2005 - 09:41 #15
Takker for point!
Avatar billede den-evil Nybegynder
23. november 2005 - 09:44 #16
Takker også for point! :)
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