Hallo zusammen,
ich bin dabei ein Login zu programmieren und möchte diese loggen.
Dafür benutze ich folgende Funktionen:
PHP-Code:
function login(){
$login = '';
session_start();
include("loging.php");
include_once("functions.php");
if(isset($_POST['login'])){
require("db.php");
$username = $_POST["username"];
$passwort = md5($_POST["password"]);
$abfrage = "SELECT u_username, u_passwort FROM tb_user WHERE u_username = '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$leer = mysql_num_rows($ergebnis);
if($leer == 0){
$login = "Benutzername ist falsch.";
log_login("Login",$username,"Falscher Benutzername");
}else{
if($row->u_passwort == $passwort)
{
$_SESSION['username'] = $row->u_username;
$login = "Login erfolgreich.";
log_login("Login",$username,"Erfolgreich");
}
else
{
$login = "Kennwort ist falsch.";
log_login("Login",$username,"Falsches Passwort");
session_destroy();
}
}
}
if(isset($_POST['logout'])){
$login = "Sie wurden ausgeloggt.";
$username = hole_user();
session_destroy();
log_login("Logout",$username,"Erfolgreich");
}
return $login;
}
Hier findet der Login statt
und diese:
PHP-Code:
function log_login(string $aktion, string $user, string $status){
$date=date("d.m.Y",time());
$logdatei=fopen("logs/".$date."logfile.txt","a");
fputs($logdatei,
date("d.m.Y, H:i:s",time()) .
", " . $user .
", " . $aktion .
", " . $status .
", " .$_SERVER['REMOTE_ADDR'].
"\n"
);
fclose($logdatei);
return;
}
wo ich diese dann loggen will.
Doch es tritt folgender Fehler auf:
PHP-Code:
Catchable fatal error: Argument 1 passed to log_login() must be an instance of string, string given, called in C:xampphtdocsfunctions.php on line 48 and defined in C:xampphtdocsloging.php on line 2
Das was mich daran verwirrt ist, dass da steht der brauch einen String und es wird ein String gegeben, oder versteh ich das falsch?
Wäre nett wenn mir da jemand bei helfen könnte.
Danke schonmal.
Gruß Stephan