|
|
PHP Source code |
1 |
echo "Besteht, userID:". User::getUserID();
|
|
|
PHP Source code |
1 2 3 |
public static function getUserID() {
return MySQL::getUser("userID");
}
|
|
|
PHP Source code |
1 2 3 4 5 |
public static function getUser($what) {
$queryID = self::sendQuery("SELECT ". $what ." FROM rdb_users WHERE userID = '". User::userID() ."' LIMIT 1");
$row = self::fetchArray($queryID);
return $row[$what];
}
|
|
|
PHP Source code |
1 2 3 4 |
public static function sendQuery($query) {
if(self::getConnectionStatus(self::$connect))
return mysql_query($query);
}
|
|
|
PHP Source code |
1 2 3 |
public static function fetchArray($query) {
return mysql_fetch_array($query);
}
|
|
|
Source code |
1 |
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Projekte\CMS\class.MySQL.php on line 45 |
|
|
Source code |
1 |
SELECT userID FROM rdb_users WHERE userID = '1' LIMIT 1 |
Stilseite (Aktuelle Version: 1.1.0)This post has been edited 1 times, last edit by "vpetritz" (Jul 28th 2012, 2:34pm)
Stilseite (Aktuelle Version: 1.1.0)|
|
PHP Source code |
1 2 3 4 5 |
public static function getUser($what) {
$queryID = self::sendQuery("SELECT ". $what ." FROM rdb_users WHERE userID = '". User::userID() ."' LIMIT 1");
$row = self::fetchArray($queryID);
return $row[$what];
}
|
Wieso hat deiner "MySQL"-Klasse Kenntnisse von den Usern? Das hat dort überhaupt nichts zu suchen, sondern eher in eine potentiellen User-Klasse!
Stilseite (Aktuelle Version: 1.1.0)
Quoted
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Projekte\CMS\class.MySQL.php on line 42
Besteht, userID:
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php
require_once("class.RDB.php");
/**
* @author Vincent Petritz
*/
setcookie("userID", "1", time()+3600);
if(MySQL::createConnection()) {
echo "Besteht, userID:". User::getUserID();
}
else {
echo "Besteht nicht.";
}
?>
|
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 |
public static function getUserID() {
return self::getUser("userID");
}
public static function getUser($what) {
$queryID = MySQL::sendQuery("SELECT ". $what ." FROM rdb_users WHERE userID = '". self::userID() ."' LIMIT 1;");
$row = MySQL::fetchObject($queryID);
return $row[$what];
}
|
Stilseite (Aktuelle Version: 1.1.0)Der Code war ein Zitat von oben, ich meinte das so:@CoKeSiDe: da geht einiges "in die Büx"![]()
bei Abfragen wie getUser('userID, username') wird es kein $row['userID, username'] als Ergebnis geben..
wenn die Abfrage kein Ergebnis liefert (der user existiert nicht), ist $row=== FALSE und kein Array..
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 |
public static function getUser($what) {
switch ($what) {
case 'username':
case 'email':
// .....
break;
default:
return false; }
$queryID = MySQL::sendQuery("SELECT ". $what ." FROM rdb_users WHERE userID = '". self::userID() ."' LIMIT 1;");
$row = MySQL::fetchObject($queryID);
return $row[$what];
}
|
Nicht umsonst gibt es ja Frameworks, die einem all die ganze Hintergrundarbeit abnehmen und ein wenig wie die JVM (Java Virtual Machine) funktionieren
Soweit habe ich eigtl. schon wenige Erfahrung mit PHP, zwar nicht viel und auch keineswegs Objektorientiert (bis auf das PlugIn was ich dank NurPech's Hilfe irgendwie zusammenbekommen habe) aber dennoch ausreichend um eigene Klassen bzw. Objekte bauen zu können. Bislang habe ich auch schon manches gemacht: ErrorHandler, Mehrsprachigkeit (Importierung fehlt noch) sowie halt schon die Userklasse soweit ausgebaut, wie ich sie bislang brauchte, die MySQL-Klasse demnach auch und noch ein paar andere Sachen. Wo ich gerade festhänge ist das "XML parsen".Du willst die JVM mit einem Framework vergleichen? Beim JDK könnte ich das ja noch als "weit hergeholt" gelten lassen, aber der JVM ist es schlichtweg falsch.Nicht umsonst gibt es ja Frameworks, die einem all die ganze Hintergrundarbeit abnehmen und ein wenig wie die JVM (Java Virtual Machine) funktionieren
Außerdem ist es imho besser und einfacher zu lernen, wenn man ohne Framework anfängt. So versteht man die zusammenhänge besser, als sich auf die für einen zunächst unverständliche Magie des Frameworks verlassen zu müssen. kennt man sich mit den Grundlagen aus, so kann man anfangen, Frameworks zu benutzen und zu verstehen.
Einem Kind bringst du lesen auch zunächst mit einfachen leselernbüchern mit Bildern ( = programmieren ohne Framework) bei, und gibst ihnen nicht gleich Tolstoi ( = programmieren mit Framework) zu lesen.
|
|
PHP Source code |
1 |
RDB::getDB()->sendQuery("...");
|
|
|
PHP Source code |
1 |
RDB::getLang()->getValue('rdb.errorhandles.enotice');
|
Ich habe auch lange überlegt ob nicht doch lieber zum WCF zu gehen, doch da ich mir bis auf das Tutorial von NurPech (http://easy-scripting.net/board16-progra…erung-mit-php5/) sonst noch gar nichts bzgl. OOP "Lernstoff" vor Augen geführt habe, dachte ich, vll. lernst du das so am besten, und langsam, wenn auch wirklich langsam wird es ja.
Also ich würde dir raten, wenn du dein Wissen testen möchtest, erst einmal auf etwas vorhandenem aufzubauen. Baue doch ein Blogsystem auf dem WCF auf. Da hast du schon die User- und Datenbankverwaltung und kannst dich mehr auf den eigentlich interessanten Teil konzentrieren. Wenn es gut wird, dann könnte das dann sogar eine Alternative zum kostenpflichtigen Community Blog von WoltLab sein.
Aber erst einmal für dich entwickeln, ob es veröffentlichbar ist, entscheidest du dann wenn es fertig ist. Ein komplett neues System aus dem Nichts aufzubauen kostet unnötig viele Nerven. Nicht umsonst gibt es ja Frameworks, die einem all die ganze Hintergrundarbeit abnehmen und ein wenig wie die JVM (Java Virtual Machine) funktionieren, indem man sich nicht mehr um die einzelnen Systeme kümmern muss (Datenbanksysteme), sondern das bequem an die Frameworkklassen delegieren kann. So verringert sich auch die Abhängigkeit an bestimmte Systeme. Wenn du mal von MySQL auf ein anderes System wechselst, musst du bei einer Frameworkentwicklung deinen Code nicht anpassen. Bei einer kompletten Neuentwicklung, die direkte Abhängigkeit vom Datenbanksystem hat, schon.
Stilseite (Aktuelle Version: 1.1.0)Du willst die JVM mit einem Framework vergleichen? Beim JDK könnte ich das ja noch als "weit hergeholt" gelten lassen, aber der JVM ist es schlichtweg falsch. (1)
Außerdem ist es imho besser und einfacher zu lernen, wenn man ohne Framework anfängt. So versteht man die zusammenhänge besser, als sich auf die für einen zunächst unverständliche Magie des Frameworks verlassen zu müssen. kennt man sich mit den Grundlagen aus, so kann man anfangen, Frameworks zu benutzen und zu verstehen. (2)
Einem Kind bringst du lesen auch zunächst mit einfachen leselernbüchern mit Bildern ( = programmieren ohne Framework) bei, und gibst ihnen nicht gleich Tolstoi ( = programmieren mit Framework) zu lesen. (3)
(1) Deswegen sagte ich ja auch "ein wenig", denn mir ist durchaus bewusst, dass die JVM etwas anderes macht als ein Framework. Ich meinte das in Bezug darauf, dass die JVM eine einheitliche Schnittstelle zwischen OS und Programm darstellt. Ich muss nur die Sprache Java können und mich nicht um systembedingte Sonderheiten kümmern. Die JVM überträgt dann den Java-Code in einen OS-lesbaren Maschinencode.
Quoted
Ich meinte das in Bezug darauf, dass die JVM der PHP-Interpreter eine einheitliche Schnittstelle zwischen OS und Programm darstellt. Ich muss nur die Sprache Java PHP können und mich nicht um systembedingte Sonderheiten kümmern. Die JVM Der PHP-Interpreter überträgt dann den JavaPHP-Code in einen OS-lesbaren Maschinencode.
Quoted
Die Datenbankklassen des WCF übertragen den einheitlichen PHP-Code in eine datenbankspezifische Abfrage.
Quoted
Der Vergleich hinkt, denn eine Programmiersprache ist etwas anderes als die normale Sprache wie Deutsch, Englisch oder Französisch, etc.
Forum Software: Burning Board® 3.1.7, developed by WoltLab® GmbH