Avatar billede freakazoid18 Nybegynder
28. maj 2003 - 08:48 Der er 11 kommentarer og
1 løsning

Login - system

Hey Jeg ska bruge et login system som henter brugernavn og password fra en SQL database... havde forestillet mig  noget i retning af

CREATE TABLE users (
  id int(10) unsigned NOT NULL auto_increment,
  brugernavn varchar(16) default NULL,
  password varchar(16) default NULL,
  email varchar(35) default NULL,
  rettighed char(1) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Og det skal så laves med seesions sådan at den forbliver logged ind!

og det skal funke sådan at hvis nu jeg har rettighed 1 skal jeg ha vist fx admin1.php og hvis jeg har rettighed 0 admin0.php fx...

Jeg håber i kan finde på noget... det skal være færdig udført og klar til brug og ikk sukos. :D
Avatar billede avminarm Juniormester
28. maj 2003 - 09:01 #1
kig lidt på dette link , med links i ;o)
Avatar billede freakazoid18 Nybegynder
28. maj 2003 - 09:02 #2
Skal lige siges det oxo ska være sådan at når man kommer ind på fx admin1.php skal den skrive welcome [brugernavn]
og der skal også være sådan at man lave et link til profile edit. dvs den skal kunne hente sit ID med sig når den logger ind...
Avatar billede dmdisco Nybegynder
28. maj 2003 - 09:02 #3
brug sukos's

http://sukos.dk/php/login/

er nede i øjeblikket
Avatar billede freakazoid18 Nybegynder
28. maj 2003 - 09:02 #4
hvilket link ?
Avatar billede freakazoid18 Nybegynder
28. maj 2003 - 09:03 #5
Jeg håber i kan finde på noget... det skal være færdig udført og klar til brug og ikk sukos. :D <-- hehe hvor er det svært
Avatar billede dmdisco Nybegynder
28. maj 2003 - 09:06 #6
hvad er der galt med sukos
Avatar billede freakazoid18 Nybegynder
28. maj 2003 - 09:07 #7
kan sq ikk få det til at fungere. ang det med rights.
Avatar billede dmdisco Nybegynder
28. maj 2003 - 09:15 #8
dologin.php
<?php
session_start();
//hvis form er submittet
if (isset($logind)) {
//password i databasen er krypteret, så det gøres også med indtastet password
    $dopass = md5($password);
//skift selv bruger og pass til databasen.
    include("config/config.php");
    $db = mysql_connect("$mysql_host", "$mysql_user", "$mysql_pw") or die ("Desværre ingen forbindelse til databasen");
    mysql_select_db("$mysql_db", $db) or die ("Kunne ikke vælge databasetabel");
    $tjek = mysql_query("SELECT navn, password, status, aktiv FROM brugere WHERE navn='$navn' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");
    if(mysql_num_rows($tjek) != 0) {
        while ($row = mysql_fetch_array($tjek)) {
            $status = $row[status];
            $aktiv = $row[aktiv];
        }
        if ($aktiv == ja) {
            $dato = date("d-m-Y H:i:s");
            mysql_query ("UPDATE brugere SET dato='$dato' WHERE navn='$navn' AND password='$dopass'") or die (mysql_error());
            $sessionnr = session_id();
            $Name = $navn;
            if ($auto_login == "ja") {
                setcookie("Name","$navn", time()+ 2592000);
                setcookie("status","$status", time()+ 2592000);
            }
            session_register("sessionnr");
            session_register("Name");
            session_register("status");
            header("Location:logind.php?m=1");
        } elseif ($aktiv == nej) {
            header("Location:logind.php?m=4");
        }
    }else{
        header("Location:logind.php?error=fejl");
    }
}else{
    header("Location:logind.php");
    exit;
}
?>

tjeklogin.php

<?php
session_start();
if ($HTTP_COOKIE_VARS['Name'] && $HTTP_COOKIE_VARS['status']) {
    $Name = $HTTP_COOKIE_VARS['Name'];
    $status = $HTTP_COOKIE_VARS['status'];
    $sessionnr = session_id();
    session_register("sessionnr");
    session_register("Name");
    session_register("status");
    setcookie("Name","$Name", time()+ 2592000);
    setcookie("status","$status", time()+ 2592000);
}
if (!isset($Name) || $sessionnr != session_id()) {
    header("Location:logind.php");
}
?>

beskyttede filer
<?php
require("tjeklogin.php");
?>

prøv dette
Avatar billede dmdisco Nybegynder
28. maj 2003 - 09:16 #9
CREATE TABLE brugere (
  id tinyint(4) NOT NULL auto_increment,
  navn varchar(12) NOT NULL,
  password tinytext NOT NULL,
  status smallint(4) DEFAULT '0' NOT NULL,
  dato text NOT NULL,
  email text NOT NULL,
  firma text NOT NULL,
  kontaktperson text NOT NULL,
  adresse text NOT NULL,
  postnr text NOT NULL,
  bynavn text NOT NULL,
  telefon text NOT NULL,
  fax text NOT NULL,
  inst_nr text NOT NULL,
  aktiv text NOT NULL,
  nyhedsbrev text NOT NULL,
  PRIMARY KEY (id),
  UNIQUE navn (navn)
);
Avatar billede dmdisco Nybegynder
28. maj 2003 - 09:19 #10
logind.php

<form action="dologin.php" method="post">
  <input type="hidden" name="logind" value="logind">
  <input type="text" name="navn">
  <input type="checkbox" name="auto_login" value="ja">
  <input type="submit" name="submit" value="logind">
</form>
Avatar billede avminarm Juniormester
28. maj 2003 - 10:42 #11
Her er sukos's login script rettet til med rettigheder og id der gemmes i en session - det er fra filen "dologin.php" - med rettelser

$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 email='$_POST[email]' AND password='$dopass'") or die (mysql_error());
$rights = mysql_query("SELECT rettighed FROM brugere WHERE email='$_POST[email]' AND password='$dopass'") or die (mysql_error());

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

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];

$_SESSION['id'] = mysql_result($id,0);
$_SESSION['rights'] = mysql_result($rights,0);


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

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

}else{

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

Så kan du selv lave noget:

if($_SESSION['rights'] ==1){
  header("location: admin1.php");
}

eller bruge det direkte i dit script, når nu en session er sat
Avatar billede freakazoid18 Nybegynder
06. juli 2003 - 12:55 #12
,
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