22. august 2005 - 18:28
Der er
17 kommentarer og 1 løsning
If sætning
$query = mysql_query("select brugernavn from admins where brugernavn='$_SESSION[brugernavn]'") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { if(isset($_SESSION["brugernavn"]) && $foo[brugernavn] == $_SESSION["brugernavn"]) { echo "logget ind"; } else { echo "!!!!"; } }
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
22. august 2005 - 18:29
#1
min else virker ikke (tror det er fordi den er inde i while). hvordan kan det laves? og er der en smartere måde at gøre loginsystemet sikkert på?
22. august 2005 - 18:33
#2
Umiddelbart kan jeg ikke se, at der er noget galt i din if-sætning, men det kan gøres nemmere ved f.eks. at gøre således: $query = mysql_query("select brugernavn from admins where brugernavn='".$_SESSION['brugernavn']."'") or die(mysql_error()); if(mysql_num_rows($query) > 0) { echo "Logget ind"; } else { echo "!!!!"; } eller: $query = mysql_query("select count(*) from admins where brugernavn='".$_SESSION['brugernavn']."'") or die(mysql_error()); if(mysql_result($query, 0) > 0) { echo "Logget ind"; } else { echo "!!!!"; } Den sidste er vist mindst ressourcekrævende...
22. august 2005 - 18:37
#3
Hvad hvis jeg også vil skrive nogle felter ud?
22. august 2005 - 18:40
#4
F.eks.: $query = mysql_query("select brugernavn from admins where brugernavn='".$_SESSION['brugernavn']."'") or die(mysql_error()); if(mysql_num_rows($query) > 0) { while($row = mysql_fetch_array($query) { echo Dit brugernavn er: ".$row['brugernavn']."<br />"; } } else { echo "!!!!"; }
22. august 2005 - 18:54
#5
Er den så sikker?
22. august 2005 - 18:56
#6
Hvad mener du om den er sikker? Den er i hvert fald ligeså sikker som den if-sætning du startede med...
22. august 2005 - 19:18
#7
Ja, det ved jeg godt. Men er der yderligere ting der bør laves for at gøre den mere sikker?
22. august 2005 - 20:02
#8
Det skulle jo være at tage et password-check med i din forespørgsel, et brugernavn i sig selv kan nok gættes.
22. august 2005 - 20:09
#9
Jeg har jo selvfølgelig lavet et check af password i min loginform. Burde det også være dér?
22. august 2005 - 20:10
#10
Hvordan tjekker du det i login-formen da? Du bør jo krydstjekke det med hvad der ligger i tabellen.
22. august 2005 - 20:16
#11
Jeg får jo kun lavet min session hvis brugernavn og kodeord er korrekt skrevet ind??
22. august 2005 - 20:18
#12
Nå, ja det er klart nok. Så synes jeg sådan set det er udemærket.
22. august 2005 - 20:20
#13
Smid et svar. Hvad bruges session_id egentlig til?
22. august 2005 - 20:22
#14
Session_id kan f.eks. bruges hvis sessions skal sendes mellem sider med GET tror jeg.
Hvis du vil læse mere, så prøv
www.php.net/session_id
Slettet bruger
22. august 2005 - 20:23
#15
Det er for at adskille forskellige sessioner fra hinanden.. Du kan f.eks. adskille besøgende på din hjemmeside vha sessionsid'et, da idét er unikt. Sessionsid'et bliver ofte brugt til at genskabe sessionsdata fra f.eks. en database.
22. august 2005 - 20:33
#16
Men er session_id nødvendigt?
Slettet bruger
22. august 2005 - 20:37
#17
Overhovedet ikke..
Slettet bruger
22. august 2005 - 20:37
#18
- ikke for dig i hvert fald.
Vi tilbyder markedets bedste kurser inden for webudvikling