Ville lige hører om der er nogen der har nogen forbedringer til denne classe, som jeg har lavet til et bruger system..der mangler self, en retProfil..men ellers!!
dette er bare min måde at connecte til databasen..bare opfat det som alm. mysql_connect(), mysql_select_db() og mysql_close() functioner..
$minDatabase = new database();
$minDatabase->connect();
$minDatabase->close();
<?php
class Bruger
{
var $brugernavn;
var $password;
var $password2;
var $userID;
var $niveau;
var $ip;
var $fornavn;
var $efternavn;
var $email;
var $website;
function login($brugernavn, $password)
{
$this -> brugernavn = strtolower($brugernavn);
$this -> password = md5($password);
$minDatabase = new database();
$minDatabase->connect();
$SQLquery = mysql_query("SELECT * FROM users WHERE username = '".$this -> brugernavn."'") or die(mysql_error());
$minDatabase->close();
$userinfo = mysql_fetch_array($SQLquery);
if(mysql_num_rows($SQLquery) == 1)
{
if($userinfo['username'] == $this -> brugernavn AND $userinfo['password'] == $this -> password)
{
$this -> userID = $userinfo['userid'];
$this -> niveau = $userinfo['niveau'];
$this -> updaterIp();
return $this -> setSessions();
}
else
{
return "Brugernavnet passede ikke med det indtastede password!!";
}
}
elseif(mysql_num_rows($SQLquery) == 0)
{
return "Din bruger blev ikke fundet!";
}
else
{
return "Fejl!, der eksistere flere brugere med det angivne navn";
}
}
function setSessions()
{
$_SESSION['logget_ind'] = 1;
$_SESSION['userid'] = $this->userId;
$_SESSION['username'] = ucwords($this->username);
$_SESSION['niveau'] = $this->niveau;
return "Du er nu logget ind! Som ".ucwords($this->brugernavn).". Med bruger ID'et \\"".$this->userID."\\"";
}
function logaf()
{
unset($_SESSION['logget_ind']);
unset($_SESSION['userid']);
unset($_SESSION['username']);
unset($_SESSION['niveau']);
}
function updaterIp()
{
$this->ip = $_SERVER['REMOTE_ADDR'];
$minDatabase = new database();
$minDatabase->connect();
mysql_query("UPDATE users SET ip='".$this->ip."' WHERE userid='".$this->userID."'") or die(mysql_error());
$minDatabase->close();
}
function opretBruger($brugernavn, $password1, $password2, $fornavn, $efternavn, $email, $website)
{
$this->brugernavn = strtolower($brugernavn);
$this->password = md5($password1);
$this->password2 = md5($password2);
$this->fornavn = $fornavn;
$this->efternavn = $efternavn;
$this->email = $email;
$this->website = $website;
$this->ip = $_SERVER['REMOTE_ADDR'];
$minDatabase = new database();
$minDatabase->connect();
$SQLquery = mysql_query("SELECT * FROM users WHERE username='".$this->brugernavn."'") or die(mysql_error());
$minDatabase->close();
$antal_brugere = mysql_num_rows($SQLquery);
if($antal_brugere == 0)
{
if($this->brugernavn && $this->password && $this->password2 && $this->fornavn && $this->efternavn)
{
if($this->password == $this->password2)
{
if(ereg("[a-zA-ZæøåÆØÅ0-9_-]+(\\.[a-zA-ZæøåÆØÅ0-9_-]+)*@[a-zæøå0-9-]+(\\.[a-zæøå0-9-]+)*\\.[a-z]{2,4}", $this->email))
{
$minDatabase = new database();
$minDatabase->connect();
mysql_query("INSERT INTO users (username, password, ip, fornavn, efternavn, email, website)
VALUES ('".$this->brugernavn."','".$this->password."', '".$this->ip."', '".$this->fornavn."', '".$this->efternavn."','".$this->email."', '".$this->website."')") or die(mysql_error());
$minDatabase->close();
$this -> setSessions();
$text = "Din bruger er oprettet!";
}
else
{
$text = "Email adressen er ugyldig";
}
}
else
{
$text = "De 2 indtastede passwords var ikke ens";
}
}
else
{
$text = "Du skal udfylde alle felterne";
}
}
else
{
$text = "Brugernavnet er optaget!";
}
return $text;
}
function getOplysninger()
{
$minDatabase = new database();
$minDatabase->connect();
$SQLquery = mysql_query("SELECT * FROM users WHERE userid = '".$_SESSION['userid']."'") or die(mysql_error());
$minDatabase->close();
$userinfo = mysql_fetch_array($SQLquery);
$this->brugernavn = $userinfo['username'];
$this->password = $userinfo['password'];
$this->password2 = $userinfo['password'];
$this->fornavn = $userinfo['fornavn'];
$this->efternavn = $userinfo['efternavn'];
$this->email = $userinfo['email'];
$this->website = $userinfo['website'];
$this->userID = $userinfo['userid'];
$this->updaterIp();
}
function check(){
if(ereg("[a-zA-ZæøåÆØÅ0-9_-]+(\\.[a-zA-ZæøåÆØÅ0-9_-]+)*@[a-zæøå0-9-]+(\\.[a-zæøå0-9-]+)*\\.[a-z]{2,4}", $this->email)){
return true;
}
else
{
return "Email adresen er ugyldig";
}
if(ereg("[a-zA-ZæøåÆØÅ\\.]", $this->fornavn)){
return true;
}
else
{
return "Fornavnet må kun indeholde bogstaver";
}
if(ereg("[a-zA-ZæøåÆØÅ\\.]", $this->efternavn)){
return true;
}
else
{
return "Efternavnet må kun indeholde bogstaver";
}
}
}
?>
evt copy paste den over i en editor kan se koden er lidt grim her..(pga. de brede tabulator tegn..
måske deller jeg lidt point ud..
Hilsen
Martin Dybdal (Dybber)