Avatar billede freekyzone Nybegynder
20. maj 2003 - 11:40 Der er 16 kommentarer og
2 løsninger

Login system - Med kontrol af at man er logget ind

Jeg har gennemset mange af de loginsystemer der ligger her på eksperten, men ingen af dem syns at passe netop mit behov.

Jeg vil have en Side (evt login.php) hvor man indtaster brugernavn og password. (disse ligger self. i en MySQL database hvor de IKKE er krypteret...

Er det korrekt, sendes de vidre til siden de logger på (evt ok.php)

Er der forkert forbliver de på siden (login.php) hvor teksten "Du har indtastet forkert brugernavn og/eller password" kommer frem)

Har personen taster korrekt er han på siden ok.php. De øvrige sider personen nu klikker frem og tilbage på skal kun vises hvis han har tastet det rigtige password.

Det vil sige at en side man skal være logget ind for at se (evt ok2.php) skal ikke vises ved bare at taste den direkte addresse dertil. Så skal man sendes til siden login.php hvor der skal stå "Du er ikke logget ind"

I alt sin enkelthed skal jeg bruge et system der på siderne som kræver login kontrolere om man er logget ind, så man ikke bare kan skrive den direkte sti.

HELP!!!
Avatar billede tipsen Nybegynder
20. maj 2003 - 12:41 #1
Hvad har du lavet i forvejen?
Avatar billede exp Juniormester
20. maj 2003 - 12:45 #2
Vil foreslå dig at bruge sukos' loginscript - det virker!

Der er kun ét problem... siden er vist nede lige nu!

www.sukos.dk/php/login

Men dette script opfylder de krav du stiller
Avatar billede freekyzone Nybegynder
20. maj 2003 - 12:46 #3
Jeg har en alt for simpelt og usikkert MySQL login hvor den bare ser om brugernavn og kodeord er korrekt og går derefter vidre til næste side. Men man kan bare skrive stien til denne side, så vises den jo...
Avatar billede exp Juniormester
20. maj 2003 - 12:48 #4
Det jeg linker til tager højde for den slags... bruger det selv flittigt! :-)
Avatar billede repox Seniormester
20. maj 2003 - 12:57 #5
Brug sessions! En rimelig simpel og sikker måde at kontrollere på om brugeren er logget ind!

Når din bruger har udfyldt loginsiden og trykket ok, så send brugeren videre til en side der tjekker om brugeren eksisterer og om han har suppleret med de korrekte oplysninger og har han det sætter du en session...

eks.
<?php

$query = mysql_query("SELECT * FROM users WHERE username='$_POST[username]' AND password='$_POST[password]'");

if(mysql_num_rows($query) > 0) {
$_SESSION['userid'] = mysql_result($query, 0, "id");
header("Location: ok.php");
}elseif(mysql_num_rows($query) < 1) {
echo 'Brugernavn eller kodeord forkert!';
};
?>

Så på hver side du kun må se hvis du er logget ind kan du skrive:

<?php

if(isset($_SESSION['userid'])) {

//her er koden/teksten der bruges når de er logget ind

}elseif(!isset($_SESSION['userid'])) {

//her er koden/teksten der bruges når de er IKKE logget ind

};
?>
Avatar billede freekyzone Nybegynder
20. maj 2003 - 14:19 #6
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /login/login.php on line 6

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /login/login.php on line 9
Brugernavn eller kodeord forkert!

Det er hvad der kommer frem
Avatar billede jrask Nybegynder
20. maj 2003 - 14:56 #7
Du kan finde et ganske godt php login-script her :

http://www.free2code.net/tutorials/programming/php/4/phplogin.php

Den benytter sig ganske vist af krypteret password i databasen, men det burde ikke være så svært at ændre koden så den ikke gør det.. håber jeg ,-)
Avatar billede freekyzone Nybegynder
20. maj 2003 - 15:47 #8
shady  ->> kan du ikke hjælpe mig vidre???

hvorfor komme de fejl??
Avatar billede phillips Nybegynder
20. maj 2003 - 15:50 #9
De fejl kommer sandsynligvis, fordi der er en fejl i din MySQL-query.
Avatar billede freekyzone Nybegynder
20. maj 2003 - 15:54 #10
<?
require('req/top.req');

$query = mysql_query("SELECT * FROM bruger WHERE brugernavn='$_POST[username]' AND password='$_POST[password]'");

if(mysql_num_rows($query) > 0) {
$_SESSION['userid'] = mysql_result($query, 0, "id");
header("Location: sankmp.php");
}elseif(mysql_num_rows($query) < 1) {
echo 'Brugernavn eller kodeord forkert!';
};
?>


Hvor???
Avatar billede phillips Nybegynder
20. maj 2003 - 15:57 #11
Tjek om tabellen bruger og felterne brugernavn og password rent faktisk ligger i din database.
Avatar billede freekyzone Nybegynder
20. maj 2003 - 16:01 #12
bruger : brugernavn  password

jo de ligger der...
Avatar billede phillips Nybegynder
20. maj 2003 - 16:12 #13
Måske skal der være \' rundt om username og password inde i $_POST variablerne?
Avatar billede freekyzone Nybegynder
23. maj 2003 - 19:14 #14
shady -> Kikke få dit eksempel til at virke.

Gider du lave dem i nogle filer som eksempel på det virker???
Avatar billede freekyzone Nybegynder
23. maj 2003 - 19:15 #15
exp -> dit link virker stadig ikke.

Gider du give mig kildekoden, eller link til et andet sted hvor jeg kan finde det du selv bruger flittigt???
Avatar billede exp Juniormester
26. maj 2003 - 10:45 #16
det er inkluderet i denne fil:
www.script.dk/sourcecode.jsp?resourceId=1039

filerne tjeklogin.php, logind.php, logud.php, dologin.php

#
# Struktur dump for tabellen `users`
#

CREATE TABLE `users` (
  `id` tinyint(4) NOT NULL auto_increment,
  `navn` varchar(12) NOT NULL default '',
  `password` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;
Avatar billede freekyzone Nybegynder
28. maj 2003 - 18:24 #17
tror faktisk ikke at adgang1 og adgang2 bliver gemt i sessionen, for når jeg prøver at kalde den frem ved en echo står der intet!!!

adgang1 og adgang2 er 2 forskellige tal som jeg har i databasen ud for hver bruger som logger sig ind. Men de to tal kan jeg ikke kalde frem og gemme i sessionen...
Avatar billede freekyzone Nybegynder
09. juni 2003 - 22:25 #18
Begrundelsen for point er:

Jeg har selv løst problemet med MySQL og adgang1 og adgang2

exp gav mig grundfundamentet til selve siden med hans link hvor jeg fandt ud af hvordan session virkede..

Takker til jer alle
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