SkyDevMent
Erfahrenes Mitglied
Hallo,
ich bin relativ neu hier bei tutorials.de und wollte deshalb erstmal Guten Tag sagen und mich herzlich bedanken.
Vielleichz zum Anfange etwas übermich und eine Kenntniss im bereich PHP:
Also generell habe ich, so würde ich mich einschätzen ein gutes Wissen was die PHP Programierung angeht, allerdings bin ich im Bereich OOP bei PHP relativ neu un bräuchte deshalb vielleicht etwas hilfe bei einigen Problemen die in meiner Implementierung auftreten.
Mein Problem ist ich habe eine Haupt- und 2 Subclasse, in der Hauptclass rufe ich Methoden aus der Subclass nach diesem Muster auf:
className::MethodenName; das Funktioniert auch alles wunderbar, aber wenn ich mir mit
Alle Fehler anzeigen lasse bekomme ich einige Strict Standard Fehler, die für mich undurchsichtig sind.
Ich weiß zwar das diese "Fehler" nicht gravierend sind, aber ich möchte sie los weden weil ich nicht einschätzen kann ob sie mal zu einem Richtigen Problem werden können, deshalb Poste ich hier einmal meinen Code und die daraus Resultierenden Fehlermeldungen.
Ich hoffe ihr könnt mir weiter helfen.
PS: Natürlich weiß ich das mann sowohl den Usernamen als auch das Passwort nicht per GET Übergibt, da diese Datei aber nur zu Testzwecken bei mir lokal eingesetzt wird, sollte das kein Problem sein.
ich bin relativ neu hier bei tutorials.de und wollte deshalb erstmal Guten Tag sagen und mich herzlich bedanken.
Vielleichz zum Anfange etwas übermich und eine Kenntniss im bereich PHP:
Also generell habe ich, so würde ich mich einschätzen ein gutes Wissen was die PHP Programierung angeht, allerdings bin ich im Bereich OOP bei PHP relativ neu un bräuchte deshalb vielleicht etwas hilfe bei einigen Problemen die in meiner Implementierung auftreten.
Mein Problem ist ich habe eine Haupt- und 2 Subclasse, in der Hauptclass rufe ich Methoden aus der Subclass nach diesem Muster auf:
className::MethodenName; das Funktioniert auch alles wunderbar, aber wenn ich mir mit
PHP:
error_reporting(-1);
ini_set("html_errors", 1);
Ich weiß zwar das diese "Fehler" nicht gravierend sind, aber ich möchte sie los weden weil ich nicht einschätzen kann ob sie mal zu einem Richtigen Problem werden können, deshalb Poste ich hier einmal meinen Code und die daraus Resultierenden Fehlermeldungen.
Ich hoffe ihr könnt mir weiter helfen.
PHP:
error_reporting(-1);
ini_set("html_errors", 1);
class termine
{
public function __construct()
{
session_start();
database::makeConnection("cms_main_db");
if(self::verifySession())
{
self::showAllTermine();
if($_POST['ADD'])
{
self::addNewTermin();
}
}
else
{
if(login::doLogin())
{
self::setSession();
self::showAllTermine();
}
else
{
login::getUserInfos();
login::saveWrongLoginDataInDatabase();
return false;
}
}
}
private function showAllTermine()
{
$terminArray = database::mysqlBigData("Select * From Termine order by Datum ASC","ID");
$outPut = "<ul>";
date_default_timezone_set('Europe/Berlin');
$today = strtotime(date("d-m-Y",time()));
foreach($terminArray as $termin)
{
if($today < $termin['Datum'])
{
$outPut .= "<li>".$termin['Name']."</li>";
}
}
echo $outPut;
}
private function addNewTermin()
{
}
private function setSession()
{
$_SESSION['SitePass'] = true;
}
private function verifySession()
{
if($_SESSION['SitePass'] === true)
{
return true;
}
else
{
return false;
}
}
}
class database extends termine
{
/* Variablen für den Internen Gebrauch*/
const host = "*****";
const user = "****";
const pssw = "******";
public $connection;
protected function makeConnection($db)
{
$this->connection = mysql_connect(self::host,self::user,self::pssw);
mysql_select_db($db);
}
public function __destruct()
{
mysql_close($this->connection);
}
public function mysqlResultAsArray($query)
{
$tmpResult = mysql_query($query);
$tmpArray = mysql_fetch_array($tmpResult);
return $tmpArray;
}
public function mysqlBigData($query,$index)
{
$tmpResult = mysql_query($query);
$array = array();
while($row = mysql_fetch_assoc($tmpResult))
{
$array[$row[$index]] = $row;
}
return $array;
}
public function mysqlResultAsAssoc($query)
{
$tmpResult = mysql_query($query);
$tmpArray = mysql_fetch_assoc($tmpResult);
return $tmpArray;
}
public function mysqlResultAsObject($query)
{
$tmpResult = mysql_query($query);
$tmpObject = mysql_fetch_object($tmpResult);
return $tmpObject;
}
}
class login extends termine
{
/* Variablen für den Internen Gebrauch*/
private $username;
private $passwort;
private $dataBaseHash;
private $userID;
private $sucsess;
private $uncryptPW;
/*Varieblen für Speicherung*/
private $UserOsName;
private $UserOsVersion;
private $UserBrowser;
private $ScriptSelfLocation;
private $ClientIP;
public function doLogin()
{
self::getTheUserDataAndStoreIt();
self::getUserDataFromDatabase();
self::verifyTheUser();
if($this->sucsess === true)
{
return true;
}
else
{
return false;
}
}
private function verifyTheUser()
{
if($this->passwort == $this->dataBaseHash) $this->sucsess = true;
else $this->sucsess = false;
return true;
}
private function getTheUserDataAndStoreIt()
{
$this->username = $_GET['usr'];
$this->uncryptPW = $_GET['pssw'];
$this->passwort = self::cryptTheUserPasswort($_GET['pssw']);
return true;
}
private function cryptTheUserPasswort($passwort)
{
$passwort = hash('sha512',$passwort);
return $passwort;
}
private function getUserDataFromDatabase()
{
$UserData = database::mysqlResultAsObject("Select Passwort,ID From user where Name='".$this->username."'");
$this->dataBaseHash = $UserData->Passwort;
$this->userID = $UserData->ID;
return true;
}
public function getUserInfos()
{
$this->ScriptSelfLocation = $_SERVER["SCRIPT_FILENAME"];
if (!isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $this->ClientIP = $_SERVER['REMOTE_ADDR'];
else $this->ClientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
$user_infos = $_SERVER['HTTP_USER_AGENT'];
$result2 = explode("(",$user_infos);
$result3 = explode(")",$result2[1]);
$osRow = explode(";",$result3[0]);
$result4 = explode(" ",$result3[1]);
$this->UserOsName = $osRow[0];
$this->UserOsVersion = $osRow[1];
$this->UserBrowser = $result4[2];
}
public function saveWrongLoginDataInDatabase()
{
$sql = "INSERT INTO login_failed (name, passwort, ip, os, browser, location, date_time)
values('".$this->username."', '".$this->passwort."', '".$this->ClientIP."', '".$this->UserOsName." - ".$this->UserOsVersion."', '".$this->UserBrowser."','".$this->ScriptSelfLocation."', NOW())";
mysql_query($sql);
}
}
$termine = new termine();
Code:
Strict Standards: Non-static method database::makeConnection() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 10
Notice: Undefined index: SitePass in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 63
Strict Standards: Non-static method login::doLogin() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 21
Strict Standards: Non-static method login::getTheUserDataAndStoreIt() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 141
Notice: Undefined index: usr in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 164
Strict Standards: Non-static method login::cryptTheUserPasswort() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 165
Notice: Undefined index: pssw in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 165
Strict Standards: Non-static method login::getUserDataFromDatabase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 142
Strict Standards: Non-static method database::mysqlResultAsObject() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 177
Notice: Trying to get property of non-object in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 178
Notice: Trying to get property of non-object in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 179
Strict Standards: Non-static method login::verifyTheUser() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 143
Strict Standards: Non-static method login::getUserInfos() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 28
Strict Standards: Non-static method login::saveWrongLoginDataInDatabase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/sky-lab.de/podo/termine/classes.php on line 29