Das Command Board 1.0 - Beta 2.0 ist ein schnelles, kostenloses und professionelles PHP-Board. Die Installation erfolgt durch einen Installationscript, dazu muss man nur die Datei: install.php aufrufen. PHP, MySQL, HTML oder ähnliche Kenntnisse sind zur Installation und Benutzung des Boards nicht notwendig, wer möchte, kann aber den Quelltext des Boards seinen Bedürfnissen anpassen.
Das Design lässt sich dank einer Template-Engine sehr leicht anpassen. Um die Geschwindigkeit zu erhöhen, werden die Templates im Cache zwischengespeichert.
In einem Admininstrationsbereich kann man das Board vielseitig seinen Bedürfnissen anpassen, dazu muss man sich nur mit einem Administartions-Account, der wärend der Installations erstellt wird, im Admin Menü einloggen. Schon stehen einem viele Möglichkeiten zur Verfügung. Weiter Infos siehst du unter: Weiter Features
[...]
Auszug von http://www.php-einfach.de/downloads_command_board.php
* Unterstützung von mehreren Sprachen
* Template-Editierung über Administration
* Newsletter an Mitglieder
* Private Foren (Sektionen)
* Einteilung der Benutzer in Gruppen (und Untergruppen)
* Benutzersperrung
* GZip-Komprimierung
* System offline schalten
* Einzelfreischaltungen für Benutzer
* Massenbearbeitung von Themen
* Zensur von Vulgärausdrücken
* Sicherungen/Wiederherstellen der Datenbank
* BBCode-Anpassungen über Administration
* Frei definierbare Profilfelder
* Zeitgesteuerte Aufgaben/Cron Jobs
# Benutzerspezifische Funktionen:
* Suchfunktion
* Ankündigungen
* Private Nachrichten
* BBCode als HTML-Ersatz in Beiträgen
* Umfragen
* Icons und Smilies
* Themenbewertung
* Avatare
* Signaturen
* E-Mail Benachrichtigungen über neue Beiträge
* Beitragsvorschau
* Zeitzone und Zeitformat für jeden Benutzer wählbar
* Genaue Markierung von gelesenen Beiträgen
* Druckvorschau für Beiträge
* Benutzer-Online-Anzeige
* Dateianhänge in Beiträgen
* Multiples Zitieren von Beiträgen
* PDF-Ausgabe
* Automatische Suche nach ähnlichen Themen
* Rechtschreibprüfung für die Beiträge (auch ohne Pspell)
* Syntaxhervorhebung in etwa 70 Sprachen
* RSS, Klipfolio, Atom und weitere Feeds
* Notizblock
* Verwaltung der Dateianhänge, Favoriten und Abos
* Persönliche Seite für die Mitglieder
* Freiwählbares Design und Sprache
# Sonstige Funktionen:
* Verbesserte Indexierung für Suchmaschinen durch semantisch korrektes xHTML
* PlugIns, Komponenten und integriertes CMS
* uvm.
Das WBB 1.2 hat meiner Meinung nach nie den Einfluss des WBB 1.1 erreicht. Es war eher ein Lückenfüller zwischen der ersten Version und dem WBB lite und dennoch bietet es einige interessante Funktionen. Ich vermisse zumindest keine Funktion, die für einen reibungslosen Forenbetrieb notwendig ist.
Die WBB Boards zeichnen sich hauptsächlich durch ihre große Entwicklergemeinde aus. Mit Hilfe von Hacks lassen sich so sehr individuelle Boards erstellen die vom Leistungsumfang teilweise weit über kostenpflichtige Produkte hinausreichen.
forencheck.de wurde nun endlich mal abgeändert! Neben einem (meiner Meinung nach) etwas verbesserten Design hat es insbesondere viele neue und nützliche Funktionen erhalten.
Eine ordentliche Begrüßung
Beiträge zum Thema (wird noch ausgebaut/verbessert)
Sortieren nach Art des Forums/Preis/Bewertung von anderen Mitgliedern!
Einzelne Foren ausschließen (z.b. nur kostenlose anzeigen)
Jedes Forum kann nun eine Kurzbeschreibung bekommen die dann auch angezeigt wird
Besonders der Punkt "Bewertung von anderen Mitgliedern" ist sehr wichtig für mich. Bisher war dies nicht möglich aber nun könnt ihr aktiv bestimmen wie gut/schlecht ein Forum ist.
Jedes Forum lässt sich nun auch per Anker bequem "ansprechen". Zum Beispiel das WBB lite . Ihr müsst dazu nur auf den Pfeil vor dem Forennamen klicken.
Und die ganze forencheck Seite ist bei mir nun schneller (Ladezeit). Hab die SQL Abfragen reduziert. Kommt euch das auch so vor?
Ich danke schon jetzt fürs testen. Fehler/Anregungen könnt ihr gerne hier posten. Über Werbung in jeglicher Form freue ich mich auch sehr. =)
Wer Interesse hat " Interessante Beiträge zum Thema:" einzutragen und aktuell zu halten kann sich gerne hier melden.
Das Board ist seit heute offiziel online und ich war gerade bei drei freunden udn alle haben das selbe Problem.
Sie haben sich heute angemeldet und immer wenn sich auf den "Home" Button klicken kommen Sie in das Forum und nicht auf die Homesite, egal ob in der Sub-Navi oder oben rechts.
Im Quellcode ist haber die home.php hinterlegt.
Ihr könnt gerne mal einen Acc anlegen und euch das problem anschauen.
Wenn ihr euch mit folgendem Benutzer anmeldet:
test
PW: test
Dann funktionier alles normal. Das war ein Benutzer wo ich schon seit 2/3 Tage registriert habe. Wenn man auf Home klickt kommt man auch auf die home.php
Wenn ihr euch jetzt selber einen Acc macht, oder folgenden benutzt:
hansi
PW: hansi
dann seht ihr das oben genannter Fehler auftritt...
Der Acc "test" und mein Admin Acc die beide ohne Probleme gehen wurden jeden über den ACP erstellt, das sind die einzigen Unterschiede zu den Accs, bei denen der Link zur Homesite nicht geht.
Hier noch ein Auszug aus dem Quell-Code: Das Header-Temp. für die Buttons oben rechts:
<td align="right"><a href="home.php{$SID_ARG_1ST}"><img src="{$style['imagefolder']}/headerline_home.gif" border="0" alt="{$lang->items['LANG_GLOBAL_TOINDEX']}" title="{$lang->items['LANG_GLOBAL_TOINDEX']}" /></a><a href="index.php"><img src="{$style['imagefolder']}/headerline_wbb21.gif" border="0" alt="" /></a><a href="jgs_galerie.php?sid="><img src="{$style['imagefolder']}/headerline_wbb20.gif" border="0" alt="" /></a><a href="calendar.php?action=eventcalendar"><img src="{$style['imagefolder']}/headerline_wbb12.gif" border="0" alt="" /></a></td>
Es geht leider auch noch weiter, wenn man sich An- oder Abmeldet wird man auch auf die index.php sprich das Forum gebracht, obwohl ich in der login.php und logout.php das index.php in home.php abgeändert habe. Das man immer wieder auf der Startseite landet.
Bitte um hilfe, eigentlilch gehts morgen richtig los und ich muss das irgendwie heute noch in den griff kriegen!
Ich bin dabei ne Page auf template Basis zu erstellen.
Früher hab ich das einfach mit ner sehr unsauberen lösung gemacht eine datei die über dem normalen content steht (header etc) und eine die dadrunter steht und dann per include auf jeder seite laden und dazwischen den content.. na ja... jetzt nutze ich smarty
das problem ist nur:
der Stylesheet wird inkorrekt dargestellt.
[code=php]
define('SMARTY_DIR', 'smarty/');
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty;
$smarty->display('oben.tpl');
[/code]
ich habe solangsam das Gefühl, das irgendeine Grundeinstellung bei meinem Webspace bzw. der SQL-Datenbank falsch ist.
Nachdem ich heute bei dem Hackeinbau der JGS-Galerie folgende Fehlermeldung hatte:
Zitat:SQL-DATABASE ERROR
Database error in Woltlab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_acpmenuitems VALUES ('', 18, 'jgs_galerie_admin.php?action=index', 'JGS_GALERIE_INDEX', '%s', 'jgs_galerie_admin_gadmin', 'OR', '1', '0')
mysql error: Incorrect integer value: '' for column 'itemid' at row 1
mysql error number: 1366
mysql version: 5.0.24-community-nt
PHP version: 5.0.3
Date: 07.04.2007 @ 16:53
Script: /forum/wbb2/acp/jgs_install.php
Referer: *hab ich mal rausgelöscht*
Kam dann nach der Installation des "Wer-War-Da-Hacks" diese Fehlermeldung:
Zitat:SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO `bb1_options` VALUES ('', 0, 'rekord_visited', '', '', 0, 1);
mysql error: Out of range value adjusted for column 'optionid' at row 1
mysql error number: 1264
mysql version: 5.0.24-community-nt
php version: 5.0.3
Date: 07.04.2007 @ 18:51
Script: /forum/wbb2/acp/setup_wwd.php?step=2
Referer: *hab ich mal rausgelöscht*
Hab auch noch eine dritte Meldung, die kommt wenn ich über das ACP bei einem Benutzer die Gruppe änder, z.b. Standart User + Admin.
Zitat:Database error in WoltLab Burning Board (2.3.6): Invalid SQL: UPDATE bb1_users SET username='Daudas',email='*zensiert*@web.de',groupcombinationid='44',rankid='',title='',usertext='',signature='',disablesignature='0',icq='0',aim='',yim='',msn='',homepage='',birthday='0000-00-00',gender='0',showemail='0',admincanemail='1',usercanemail='1',invisible='0',usecookies='1',styleid='0',daysprune='0',timezoneoffset='1',startweek='0',dateformat='',timeformat='',emailnotify='0',notificationperpm='0',receivepm='1',emailonpm='0',pmpopup='0',emailonapplication='0',umaxposts='0',showsignatures='1',showavatars='1',showimages='1', blocked='0', avatarid = '0', threadview='0', rankgroupid='8', useronlinegroupid='8', allowsigsmilies='1', allowsightml='0', allowsigbbcode='1', allowsigimages='1', langid='0', usewysiwyg = '0' WHERE userid='1'
mysql error: Out of range value adjusted for column 'rankid' at row 1
mysql error number: 1264
mysql version: 5.0.24-community-nt
php version: 5.0.3
Date: 07.04.2007 @ 20:25
Script: /forum/wbb2/acp/users.php
Referer:*hab ich mal rausgelöscht*
Ich weis echt nicht mehr weiter, dadurch das sich die fehler so häufen, glaub ich fast, dass irgendwas grundlegendes falsch sein muss.
Ich fange grade mit Ajax an.
Aus der Vergangenheit weiß ich, dass man oft sehr viel intensiver und erfolgreicher lernen kann wenn man das gelernte gleich reproduziert
deswegen dieses kleine Tutorial.
(copyright liegt bei chaim dönnewald - bei verwendung bitte angeben danke)
Es soll zum einen andern - die sich auch mit Ajax beschäftigen - die möglichkeit geben, einen Einblick u gewinnen und mir selbst abei helfen das gelernte zu verinnerlichen.
Ich habe mir vorgenommen regelmässig ein bisschen Ajax zu lernen (vielleicht schaffe ich es ja täglich) und hier meine fortschritte in tutorialform zu dokumentieren.
WEnn sich außer mir auch jemand mit Ajax beschäftigt, würde ich micht echt freuen wenn ihr eurer wissen hier beisteuret
so und nun los
Lektion 1 8)
1. Was ist Ajax?
Ich hasse ja eigentlich solche Einleitung aber na ja ein bisschn "Theoriewissen" sollte vielleiht auch ab und an sein Ajax ist eine abkürzung für
* Asyncronous
* JavaScript
* and
* XML
Zitat: Ajax stellt eine Kombination aus länger existierenden Technologien da. JavaScript wird benutzt um im Browser des Client eine Anfrage zum Server zu stellen. Wenn diese Anfrage vom Server bearbeitet wurde, wird eine Funktion beim Client ausgeführt. Die Nachrichten die der Server verschickt, sind hierbei oft in XML codiert. Die Codierung in XML ist jedoch nicht zwingen, es kann auch eine Codierung als simpler Text erfolgen. XML bietet sich aber an um einen standardisierten Mechanismus zum parsen von Daten zu haben.
Wie oben bereits erwähnt, führt der Server etwas aus und sendet eine Antwort als XML Dokument. Die Implementierung auf der Serverseite kann in einer beliebigen Programmier oder Skriptsprache realisiert werden. In diesem Tutorial und den Schaubildern verwende ich jedoch PHP als serverseitige Skriptsprache.
Da die Anforderung vom Browser des Benutzers über JavaScript ausgelöst wird und mit JavaScript auch die Verarbeitung der Antwort erfolgt, ist kein Reload der Webseite notwendig. In modernen Webandwendungen wird diese Technologie gerne benutzt, um ein ähnliche Verhalten der Anwendung wie bei einer herkömlichen Desktopanwendung zu realisieren.
Da ein gewisser Teil des Codes von Ajax Anwendungen immer ähnlich ist, gibt es im Internet einige Frameworks die die Programmierung von Ajax Anwendungen erleichtern wollen.
Dieses wollte ich nun genauer erklären
(es wird darauf hingewiesen, dass das Beispiel nur im firefox geht... laut drweb.de soll es aber auch im IE geben, wenn man javascript anpasst)
Wir ihr seht, sind auf der Seite 2 verschiedene Arten darsgestellt um zwei Zahlen miteinder zu multiplizieren.
Die klassische Methode mit PHP
-> Beide zahlen werden innerhalb einer Funktion miteinander multipliziert und das ergebnis im nebenstehenden feld angezeigt
Die Ajaxmethode:
im prinzip das selbe, der unterschied die webseite muss nicht neu geladen werden !!!
So gehen wir mal den Code durch
Die index.php Datei.
[code=php]
include("ajaxClass.php");
$objSem = new ajax;
$objSem->readURLParameters();
$objSem->staticExample();
echo $objSem->result;
[/code]
Die Klasse ajaxClass.php wird geladen.
(Der Rest der Index.php steht etwas weiter unten)
Nun kommt ein wenig OOP Objekt orientierte Programmierung
Eine neue Instanz der Klasse Ajax wird erzeugt und die beiden funktionen readURLParameters(); und staticExample(); werden bearbeitet. am ende wird das ergebnis ausgegeben.
So die Funktionen findet ihr wo?
Natürlich in der ajaxClass.php
hier der Code:
[code=php]<?php
class ajax {
var $queryParam = array();
var $result = 0;
var $num1 = 0;
var $num2 = 0;
function readURLParameters() {
$qstr = explode("&", $_SERVER['QUERY_STRING']);
foreach ($qstr as $value) {
$paramVal = explode("=",$value);
if (array_key_exists(1,$paramVal)) {
$this->queryParam[$paramVal[0]] = $paramVal[1];
}
}
}
Also erstmal hier findet ihr die beiden Funktionen die erste liest die Parameter aus der URL aus
--> Bei der Abfragae über das PHP Beispiel werden die eingegebenen Werte in die URL übertragen, diese müssen dann noch vom Skript wieder aus der URL ausgelesen werden um verarbeitet werden zu können! Dies tut diese Funktion!
Ich werde jetzt nicht näher auf diese Funktion eingehen, weil es sich dabei nur um PHP handelt
Funktion 2
staticExample
wie dr Name schon sagt, ist sie für das Standard Beispiel zuständig, also das Beispiel mit PHP
hier brauch ich wohl auch nicht näher drauf eingehen? Im Prinzip multipliziert sie nur auf klassischem wege also zahl1 * zahl2 und speichert das ergebnis in einer neuen Variable
so um nochmal auf die Index.php zurück zu kommen
der restliche code
Das meiste ist ja üblicher HTMl Code dürfte also nicht so schwer sein
wichtig ist:
Die ajax.js Datei wird geladen
Es werden zwei formulare erstellt (im PHP Formular werden die eingegeben werte - sofern vorhanden - als standardwerte eingetragen)
und:
Das Standardformular schickt die Eingaben an die Seite !
Deswegen wird die Page neu geladen !
Das Ajax Formular hingegen sendet die Eingaben an die Funktion return ajax_call()
Die eigentliche Ajax datei
hier die ajax.js
Code:
var xmlhttp=false;
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
Ok wahrscheinlich gehts euch so wie mir und das ganze sieht auf den ersten Blick zwar irgendwie vertraut (Die Syntax kennt man ja auch Javascript) aber dennoch verwirrend aus
deswegen eins nach dem anderen
Zuerst wird die Variable var xmlhttp auf false gesetzt
ich hab dann auch gleich mal gegoogled und folgendes ist heraus gekommen 8) http://de.wikipedia.org/wiki/XMLHttpRequest
Hier wird erklärt worum es geht
ich fasse mal eben zusammen
Zitat:XMLHttpRequest ermöglicht einem Skript einer Webseite, Daten dynamisch vom Webserver abzurufen, ohne dass dazu die Seite neu geladen werden müsste
Das haben wir ja in unserem Beispiel
Zitat:Da XMLHttpRequest Anfragen asynchron verarbeiten kann, muss ein Script nicht warten, bis die Anfrage beantwortet ist, sondern kann solange andere Aufgaben abarbeiten.
Da spart man ja richtig Zeit
Zitat:Trotz der guten Verfügbarkeit der API in neueren Browsern wird an ihr auch Kritik geübt, da es schwierig ist, Webseiten, die XMLHttpRequest einsetzen, auch älteren Browsern in vollem Umfang zugänglich zu machen. (...) Ein weiterer Kritikpunkt ist, dass sich Web-Anwendungen, die auf XMLHttpRequest setzen, nur schwer barrierefrei umsetzen lassen.
Aus meiner Sicht beides nicht unwichtige Kritikpunkte. Bei Punkt eins sage ich mal: Es kommt auf die Zielgruppe an, wenn man Ajax auf einer Tutorialpage o.ä. anwenden will kannman eigentlich davon ausgehen, dass die Besuhcer über neuere Browser etc verfügen...
Code:
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
Wenn also die Variable xmlhttp leer ist und XMLHttpRequest noch nicht definiert wurden:
Wird der Variable xmthttp eine neue instanz der klasse XMLHttPRequest zugeteilt.
Dabei handelt es sich um eine vorgefertigte klasse (müsste so sein oder?)
Wenn ich das richtig verstanden habe ist ja XMLHttpRequest die Anfrage die an das Skript gesendet wurde, also speichert die Variable xmlhttp nun alle eingaben
Hier nun endlich das Herzstück der Arbeit
Die Funktion ajax_call
1. Sie öffnet aus der Variablen xmlhttp (die ja die Anfrage speichert) die Werte aus dem Formular die sich in den Feldern num1 und num2 und multipliziert sie miteinander
2. "onreadystatechange"
Dazu:
Zitat:An dieser Stelle muss man dem HTTP Request-Objekt lediglich mitteilen, welche JavaScript-Funktion die Antwort abarbeiten soll. Dies erreicht man, indem man die onreadystatechange-Eigenschaft des Objektes genauso nennt wie die JavaScript-Funktion, welche man benutzen möchte (...)
Dieser teil hier if (xmlhttp.readyState==4) { prüft ob die xmlhttp überhaupt VOLLSTÄNDIG ist (siehe dazu einfach wieder http://developer.mozilla.org/de/docs/AJA...ng_Started )
Wenn alles klappt sendet er danach alles wieder an das Formular dabei ird der wert von "result" auf das ergebnis gesetzt
und vóila
so und das war vielleicht etwas trocken.... deswegen kommt im nächsten beitrag etwas selbst erprobtes
da ich selbst nur Mac habe, habe ich oft beim Webseiten erstellen ein Problem, denn:
nur weil eine Webseite unter Mac gut aussieht, heißt das noch lange nicht, dass sie im Windows genauso aussieh :zwinker:
deswegen wollte ich jemanden bitten mit Firefox und IE jeweils einen Screenshot zu machen ^^ und bitte auch dazu schreiben welche Bildschirmauflösugn ihr habt !!!
Danke
von dieser Page brauche ich einen Screeshot: