Hey udviklere ;P
Nu er jeg på den igen!
Har fået alle mine script til at virke (opret og logind)
Nu mangler jeg så bare at kunne logge ud også.
Håber der er nogle der kan hjælpe mig.
Det jeg har fundet frem til ser sårn ud:
logud.php:
<?
//all rights reserved for Metal-aben.dk - Copyright ©Metal-aben.dk
session_start();
include "database.php";
include "bruger.php";
?>
<html>
<body>
<?
$bruger = new bruger();
if( $bruger->logget_ind() ){
log_ud();
} else {
echo "Du er ikke logget ind!<br>\\n";
echo "Klik <a href=logind.php>her</a> for at logge ind.<br>\\n";
}
if(!$foresp) echo mysql_error();
?>
</body>
</html>
bruger.php:
<?
//all rights reserved for Metal-aben.dk - Copyright ©Metal-aben.dk
class bruger{
var $brugernavn, $kodeord;
/* Bruger():
Opretter et nyt objekt af typen Bruger. Hvis brugeren allerede er logget ind, sørger Bruger() for, at objektet viser det.
*/
function bruger(){
if(isset($_SESSION["brugernavn"]) &&
isset($_SESSION["kodeord"]))
$this->log_ind($_SESSION["brugernavn"], $_SESSION["kodeord"]);
}
/*log_ind($brugernavn, $kodeord)
Slår op i databasen og ser efter, om der findes en bruger med det brugernavn og det kodeord. Hvis der er det, husker objektet på, at brugeren er logget ind. Retunere sand, hvis brugeren kan logge ind, falsk hvis brugernavnet, eller kodeordet ikke findes.
*/
function log_ind($brugernavn, $kodeord){
$bruger_slash = addslashes($brugernavn);
$kode_slash = addslashes($kodeord);
$foresp = mysql_query("SELECT * FROM bruger WHERE
brugernavn = '".$bruger_slash."'
AND kodeord = '".$kode_slash."'");
if(mysql_num_rows($foresp) == 1){
$this->brugernavn = $brugernavn;
$this->kodeord = $kodeord;
$_SESSION["brugernavn"] = $this->brugernavn;
$_SESSION["kodeord"] = $this->kodeord;
return true;
} else {
$this->log_ud();
return false;
}
}
/*log_ud()
Logger brugeren ud af systemet. Returnerer sand, hvis brugeren var logget ind, falsk hvis brugeren ikke var logget ind.
*/
function log_ud(){
if($this->logget_ind()){
unset($this->brugernavn);
unset($_SESSION["brugernavn"]);
unset($this->kodeord);
unset($_SESSION["kodeord"]);
return true;
} else
return false;
}
/*logget_ind()
Returnere sand, hvis brugeren er logget ind, falsk hvis ikke.
*/
function logget_ind(){
if(isset($this->brugernavn) && isset($this->kodeord))
return true;
else
return false;
}
/*opret($brugernavn, $kodeord)
Opretter en bruger med brugernavnet $brugernavn og kodeordet $kodeord. Returnerer sand, hvis brugeren blev oprettet korrekt, falsk hvis brugernavnen et optaget.
*/
function opret($brugernavn, $kodeord){
$bruger_slash = addslashes($brugernavn);
$kode_slash = addslashes($kodeord);
$foresp = mysql_query("SELECT * FROM ".
"bruger WHERE brugernavn = ".
"'".$bruger_slash."'");
if(mysql_num_rows($foresp) != 0)
return false;
else{
mysql_query("INSERT INTO bruger (".
"brugernavn, kodeord) ".
"VALUES ('".$bruger_slash."', ".
"'".$kode_slash."')");
return true;
}
}
/*fjern($brugernavn)
Sletter brugeren med brugernavnet $brugernavn fra systemet. Returnere sand, hvis brugeren fandtes, falsk hvis ingen bruger findes med det brugernavn.
*/
function fjern($brugernavn){
$bruger_slash = addslashes($brugernavn);
$foresp = mysql_query("SELECT * FROM bruger ".
"WHERE brugernavn = '".$bruger_slash."'");
if(mysql_num_rows($foresp) != 1)
return false;
else{
mysql_query("DELETE FROM bruger ".
"WHERE brugernavn = '".$bruger_slash."'");
return true;
}
}
/*hent_brugernavn()
Returnerer brugernavnet på brugeren, der er logget ind. Hvis brugeren ikke er logget ind, returneres en tom tekststreng.
*/
function hent_brugernavn(){
if($this->logget_ind())
return $this->brugernavn;
else
return "";
}
/*hent_kodeord()
Returnerer kodeordet på brugeren , der er logget ind. Hvis brugeren ikke er logget ind, returneres en tom tekststreng.
*/
function hent_kodeord(){
if($this->logget_ind())
return $this->kodeord;
else
return "";
}
/*ret_kodeord($kodeord)
Skifter kodeord på brugeren, der er logget ind. Hvis der ike er logget en bruger ind, returneres falsk. Hvis en bruger er logget ind, returneres sand.
*/
function ret_kodeord($kodeord){
if($this->logget_ind()){
$bruger_slash = addslashes($this->brugernavn);
$kode_slash = addslashes($kodeord);
mysql_query("UPDATE bruger ".
"SET kodeord = '".$kode_slash."' ".
"WHERE brugernavn = '" . $bruger_slash . "'");
$this->kodeord = $kodeord;
$_SESSION["kodeord"] = $kodeord;
return true;
}else
return false;
}
}
?>
Hvis i kan finde ud af hvad der er galt med det eller i kan finde på et bedre forslag, så vil jeg blive meget glad =D