Avatar billede freakazoid18 Nybegynder
08. september 2003 - 10:53 Der er 7 kommentarer og
1 løsning

Udvidelse af login script

Hep hey... Iam still a newbie :D

Jeg skal hører om nogen af jer kan svare mig på hvordan jeg laver noget med userlevel´s dvs at hvis man er level 1 så skal den include side1.php og er man level 2 så skal den include side2.php og så fremdeles :D

Jeg har følgende login system som virker upåklageligt :D'
Jeg har i mine brugere på sql dben oprettet en tabel med navn USERLVL så det skulle være lige til :P

:::KODE:::
________________________

dologin.php
________________________

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($_POST['password']);


//skift selv bruger og pass til databasen.
$db = mysql_connect("localhost", "eterno_dk", "mitpassword") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("eterno_dk", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT navn, password FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$id = mysql_query("SELECT id FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die (mysql_error());

$_SESSION['id'] = mysql_result($id,0);
$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];
$_SESSION['level'] = "admin";
session_register("level");

header("Location:side1.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>
-----------------------

_________________________

logind.php

_________________________

<?php
session_start();
?>
<?
if ($_SESSION['level'] == "admin") {
include ("side1.php");
} else {
?>
<style type="text/css">
.css {font-family:verdana; font-size:8pt; background-color:#ffffff; border-bottom:dotted 1px;border-color:#000000; border-left:dotted 1px; border-color:#000000; border-right:dotted 1px; border-color:#000000; border-top:dotted 1px; border-color:#000000;}
</style>
<form action="dologin.php" method="post">
  <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
  <input type="hidden" name="logind" value="logind">
  Username<br>
  <input type="text" name="navn">
  <br>
  Password: <br>
  <input type="password" name="password">
  <br>
  <input type="submit" name="submit" class="css" value="Log ind">
  </font>
</form>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<?php
if (isset($_GET['error']) && $_GET['error'] == "fejl") {
echo"<b>Fejl i brugernavn eller password!</b>";
}
?>
</font></html>
<?
}
?>

---------------------------
____________________________
tjeklogin.php

____________________________

<?php
session_start();
if (!isset($_SESSION['Name'], $_SESSION['sessionnr']) || $_SESSION['sessionnr'] != session_id()) {
header("Location:logind.php");
}

function logud_og_links() {
echo"<a href=\"side1.php\">bab</a><br>\n";
echo"<form action=\"logud.php\" method=\"post\">\n";
echo"<input type=\"submit\" value=\"Log ud\">\n";
echo"</form>\n";
}

function filnavn() {
$vistnavn = explode(".", basename($_SERVER['PHP_SELF']));
echo $vistnavn[0];
}
?>

:::KODE SLUT:::
Avatar billede martin.jensen Nybegynder
08. september 2003 - 10:56 #1
Det kan godt være at dit login virker ok, men overvej lige hvad der kan ske hvis en bruger angiver * som brugernavn og et eller andet tilsvarende som password.
Avatar billede freakazoid18 Nybegynder
08. september 2003 - 10:58 #2
jeg overvejer... :) hvad er prob du kan selv teste her... www.eterno.dk/mysql-login/logind.php
Avatar billede -xyz- Nybegynder
08. september 2003 - 12:12 #3
$sql = "SELECT userlvl FROM USERLVL WHERE navn='$_POST[navn]' AND password='".$dopass."'";
$res = mysql_fetch_array(mysql_query($sql));

if ($res['userlvl'] == "admin") {
$_SESSION['userlvl'] = $res['userlvl'];
}
else
{
$_SESSION['userlvl'] = "bruger";
}

if ($_SESSION['userlvl'] = "admin"){
header("location: side1.php");
die();
}
elseif
Avatar billede -xyz- Nybegynder
08. september 2003 - 12:13 #4
sorry kom lige til at trykke lidt for hurtigt

elseif ($_SESSION['userlvl'] = "bruger"){
header("location: side2.php");
die();
Avatar billede freakazoid18 Nybegynder
08. september 2003 - 14:06 #5
hvordan skal det stå i filerne... er nob jo... :D
Avatar billede freakazoid18 Nybegynder
09. september 2003 - 11:48 #6
hmm no answer ???
Avatar billede freakazoid18 Nybegynder
10. september 2003 - 12:21 #7
sry men kan sq ikk få det til at funke... nogen der kan hjælpe ?
Avatar billede freakazoid18 Nybegynder
12. september 2003 - 13:45 #8
jeg lukker :/
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