PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
OOP hilfe bei Loginscript mit klassen (PHP)
Beitrag
<blockquote data-quote="shadownight" data-source="post: 2109279" data-attributes="member: 493413"><p>Hallo,</p><p>Ich bins mal wieder.Ich habe mich mal daran versucht ein Loginscript mit Klassen zu schreiben nun habe ich ein problem an der Stelle wo ich die Datenbank abfrage und das Ergebniss in einer Array speicher.</p><p></p><p>Entweder zeigt er mir auf dem bildschirm garnixs an oder "Call to undefined method mysqli::fetch_array() in "</p><p></p><p>Hier mal die Codeauschnitte</p><p>Die main </p><p>[PHP]</p><p>$dboptions = array(</p><p> 'host' => 'localhost',</p><p> 'user' => 'root',</p><p> 'pass' => '',</p><p> 'db' => 'dbname');</p><p> </p><p>error_reporting(E_ALL ^ E_NOTICE);</p><p></p><p>require 'includes/classes/connect.class.php';</p><p>require 'includes/classes/login.class.php';</p><p></p><p>session_start();</p><p></p><p> db::init($dboptions);</p><p> $response = array();</p><p> $action = $_GET['action'];</p><p> </p><p> switch($action)</p><p> {</p><p> case 'login':</p><p> $response = LogIn::login($_POS['name'], $_POST['password']);</p><p> break;</p><p> </p><p> case 'logout':</p><p> break;</p><p> case 'register':</p><p> break;</p><p> default: 'Diese aktion exestiert nicht';</p><p> }</p><p>[/PHP]Datenbank bzw connect Klasse:</p><p>[PHP]</p><p> private static $instance;</p><p> public $MySQLi;</p><p> </p><p> public function __construct(array $dboptions)</p><p> {</p><p> $this->MySQLi = @ new mysqli($dboptions['host'],</p><p> $dboptions['user'],</p><p> $dboptions['pass'],</p><p> $dboptions['db']);</p><p> </p><p> if(mysqli_connect_errno())</p><p> {</p><p> throw new Exception("Database err");</p><p> }</p><p> $this->MySQLi->set_charset("utf8");</p><p> }</p><p> </p><p> public static function init(array $dboptions){</p><p> if(self::$instance instanceof self){</p><p> return false;</p><p> }</p><p> </p><p> self::$instance = new self($dboptions);</p><p> }</p><p> </p><p> public static function getMySQLiObject(){</p><p> return self::$instance->MySQLi;</p><p> }</p><p> </p><p> public static function query($q){</p><p> return self::$instance->MySQLi->query($q);</p><p> }</p><p> </p><p> public static function esc($str){</p><p> return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str));</p><p> }</p><p> public static function getMySQLiArray($res)</p><p> {</p><p> return self::$instance->MySQLi->fetch_array();</p><p> }</p><p>[/PHP]Und die Login Klasse</p><p>[PHP]</p><p> public function __construct()</p><p> { </p><p> } </p><p> public static function login($name, $password)//Übergeben des Passwortes und des Usernamens</p><p> {</p><p> if(empty($name) and empty($password))</p><p> {</p><p> echo '<div id="error">Bitte f&uuml;llen sie alle Felder aus<br /></p><p> <a href="index.php">Zurück zur Startseite</a></div>';</p><p> </p><p> return false;</p><p> }</p><p> else</p><p> {</p><p> $sql = "SELECT username, password FROM user_profile WHERE username='".db::esc($name)."' LIMIT 1";</p><p> $res = db::query($sql);</p><p> $row = db::getMySQLiArray($res);</p><p> </p><p> </p><p> if($row['username'] == $name and $row['password'] == md5($password))</p><p> {</p><p> $user = new LogIn();</p><p> $_SESSION['user'] = $name;</p><p> echo '<div class="weiterleitung">Login erfolgreich!Sollte die Weiterleitung nicht funktionieren, klicke bitte den folgen den link<br /><a href="index.php">Start-Seite</a></div>';</p><p> header("Location: ../../index.php");</p><p> </p><p> </p><p> }</p><p> }</p><p> }</p><p> [/PHP]</p><p></p><p>Hoffe ihr könnt mir helfen.</p><p>Danke schonmal im vorraus für die Hilfe.</p></blockquote><p></p>
[QUOTE="shadownight, post: 2109279, member: 493413"] Hallo, Ich bins mal wieder.Ich habe mich mal daran versucht ein Loginscript mit Klassen zu schreiben nun habe ich ein problem an der Stelle wo ich die Datenbank abfrage und das Ergebniss in einer Array speicher. Entweder zeigt er mir auf dem bildschirm garnixs an oder "Call to undefined method mysqli::fetch_array() in " Hier mal die Codeauschnitte Die main [PHP] $dboptions = array( 'host' => 'localhost', 'user' => 'root', 'pass' => '', 'db' => 'dbname'); error_reporting(E_ALL ^ E_NOTICE); require 'includes/classes/connect.class.php'; require 'includes/classes/login.class.php'; session_start(); db::init($dboptions); $response = array(); $action = $_GET['action']; switch($action) { case 'login': $response = LogIn::login($_POS['name'], $_POST['password']); break; case 'logout': break; case 'register': break; default: 'Diese aktion exestiert nicht'; } [/PHP]Datenbank bzw connect Klasse: [PHP] private static $instance; public $MySQLi; public function __construct(array $dboptions) { $this->MySQLi = @ new mysqli($dboptions['host'], $dboptions['user'], $dboptions['pass'], $dboptions['db']); if(mysqli_connect_errno()) { throw new Exception("Database err"); } $this->MySQLi->set_charset("utf8"); } public static function init(array $dboptions){ if(self::$instance instanceof self){ return false; } self::$instance = new self($dboptions); } public static function getMySQLiObject(){ return self::$instance->MySQLi; } public static function query($q){ return self::$instance->MySQLi->query($q); } public static function esc($str){ return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str)); } public static function getMySQLiArray($res) { return self::$instance->MySQLi->fetch_array(); } [/PHP]Und die Login Klasse [PHP] public function __construct() { } public static function login($name, $password)//Übergeben des Passwortes und des Usernamens { if(empty($name) and empty($password)) { echo '<div id="error">Bitte füllen sie alle Felder aus<br /> <a href="index.php">Zurück zur Startseite</a></div>'; return false; } else { $sql = "SELECT username, password FROM user_profile WHERE username='".db::esc($name)."' LIMIT 1"; $res = db::query($sql); $row = db::getMySQLiArray($res); if($row['username'] == $name and $row['password'] == md5($password)) { $user = new LogIn(); $_SESSION['user'] = $name; echo '<div class="weiterleitung">Login erfolgreich!Sollte die Weiterleitung nicht funktionieren, klicke bitte den folgen den link<br /><a href="index.php">Start-Seite</a></div>'; header("Location: ../../index.php"); } } } [/PHP] Hoffe ihr könnt mir helfen. Danke schonmal im vorraus für die Hilfe. [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 5, ▼ = 2 und ■ = 7, was ist ▲ × ▼ + ■?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
OOP hilfe bei Loginscript mit klassen (PHP)
Oben