Wie programmiere ich selbst ein Forum ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie programmiere ich selbst ein Forum ?

    Hallo,
    ich möchte für unsere Homepage ein eigenes Forum mit PHP und MySql programmieren. Es gibt zwar eine Menge fertiger Foren zum Download, aber ich habe noch kein Tutorial gefunden was mir sagt wie ich das selbst machen kann ! Bitte helft mir ! *fleh*

  • #2
    und du meinst, wir schreiben dir mal eben ein forum? das ist etwas viel verlangt!

    es gibt hier einige, die an eigenen forem arbeiten. z.B. JoelH und meine wenigkeit. sowas dauert monate!!!

    deine fragen müssen etwas präziser sein.
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Am einfachsten ist es, wenn du dir ein paar foren anschaust und dir aufschreibst, was die so an funktionen haben.

      Dann versuchst du der reihe nach, die einfachsten Funktionen (posten, anzeigen, nach themen sortiern) nachzubauen.

      Sollte das dann irgendwann mal gehen, nimmst du dir einen Punkt nach dem anderen von deiner Liste und proggst das durch, aber wie gesagt, das kann dauern. Aber vielleicht reicht dir das ganze ja auch einfacher ?!

      gruss

      Kommentar


      • #4
        ok. Präziser. ;-) Also, es soll ein sehr einfaches Forum werden. Ohne Benutzerlogin, weil es im Intranet laufen soll und auch sonst keine zusätzlichen Features. Ich möchte eigentlich erst mal nur wissen ihr die MySql Datenbankstruktur aufbauen würdet. Dann habe ich einen Punkt wo ich aufsetzen kann.

        Kommentar


        • #5
          also ohne login ist auch im intranet nicht sehr ratsam. du glaubst icht wie schnell das ding voller "schrott-postings" ist.

          zur struktur. wie gesagt user speichern. tabelle für name, email, passwort, anzahl der beiträge.

          dann ne tabelle für die beiträge. anzahl der spalten, je nach nach dem, was du alles speichern willst. das einfachste ist wirklich, du überlegst dir mal genau, wie es aussehen soll, und was es können soll. dann ist es für alle beteiligten einfacher ...
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            ok. Danke auf jeden Fall. ich mach mir dann jetzt mal Gedanken. Grüsse Andrea

            Kommentar


            • #7
              hmm,

              wie schmalle schon sagte, proggen hier einige ein Board.
              Also ich hab folgende Struktur :
              Code:
              $query = "CREATE TABLE foren (fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, forenname VARCHAR(40) NOT NULL, moderator VARCHAR(15), privat CHAR(1) NOT NULL DEFAULT 'o', level INT DEFAULT '0' NOT NULL, untertitel VARCHAR(200), kategorie INT DEFAULT '1')";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE topics (fid INT NOT NULL, tid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, topicname VARCHAR(40) NOT NULL, erstellerid INT NOT NULL, helped INT NOT NULL,state TINYINT NOT NULL DEFAULT '0', hits INT DEFAULT '0' not null, emailnotify CHAR(1) DEFAULT 'j' not null, UNIQUE (topicname))";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE user (erstellerid INT not null AUTO_INCREMENT, username VARCHAR (50) not null , pseudonym VARCHAR (15) not null , email VARCHAR (35) not null , homepage VARCHAR (40) , passwort VARCHAR (10) not null , status INT DEFAULT '1' not null , erlaubteForenID INT DEFAULT '0' not null, icq VARCHAR (15), aim VARCHAR (20), signatur VARCHAR (60), regdatum datetime DEFAULT '2001-07-03 07:00:00' NOT NULL, lastdatum datetime DEFAULT '2001-07-03 07:00:00' NOT NULL, warnstat INT DEFAULT '1' NOT NULL, PRIMARY KEY (erstellerid), UNIQUE (pseudonym))";
                              $result = mysql_query ($query,$db);
                              $query = "INSERT INTO user (username, pseudonym, email, homepage, passwort, status, erlaubteForenID, icq, aim) VALUES ('$master', '$master', '$mastermail', '', '$masterpass', '4', '0', '', '')";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE topicbeitraege (fid INT NOT NULL, tid INT NOT NULL, eid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, beitrag TEXT NOT NULL, erstellerid INT NOT NULL, datum DATE NOT NULL, uhrzeit TIME NOT NULL, smile CHAR(1) DEFAULT '0' not null)";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE privatemessages (mid INT not null AUTO_INCREMENT, von INT not null , an INT not null , textfeld TEXT not null ,gelesen INT NOT NULL, PRIMARY KEY (mid))";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE status (status INT not null AUTO_INCREMENT, statusname VARCHAR (15) not null , PRIMARY KEY (status))";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE kategorie (kategorie INT not null AUTO_INCREMENT, katname VARCHAR (100) not null , PRIMARY KEY (kategorie))";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE maxuser (user INT (11) NOT NULL , zeit VARCHAR(20) NOT NULL)";  
              				$result = mysql_query ($query,$db);
              				$query = "CREATE TABLE zensurliste (wort VARCHAR(20) NOT NULL )";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE online (name VARCHAR(15) not null, login INT not null, ip VARCHAR(16) not null )";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE pollsperre (ip VARCHAR(15) NOT NULL, zeit INT NOT NULL, pollnummer INT NOT NULL)";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE polls (tid int(11) DEFAULT '0' NOT NULL, frage varchar(30) NOT NULL, ant1 varchar(20) NOT NULL, ant2 varchar(20) NOT NULL, ant3 varchar(20) NOT NULL, ant4 varchar(20) NOT NULL, ant5 varchar(20) NOT NULL, zaehler1 int(11) DEFAULT '0' NOT NULL, zaehler2 int(11) DEFAULT '0' NOT NULL, zaehler3 int(11) DEFAULT '0' NOT NULL, zaehler4 int(11) DEFAULT '0' NOT NULL, zaehler5 int(11) DEFAULT '0' NOT NULL, antwortzahl tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (tid),UNIQUE tid (tid))";
                              $result = mysql_query ($query,$db);
                              $query = "CREATE TABLE smilies (code VARCHAR (25) not null, info VARCHAR (255) not null, url VARCHAR (255) not null)";
                              $result = mysql_query ($query,$db);
              $query = "CREATE TABLE config (generalHTML VARCHAR (3) not null, generalCode VARCHAR (3) not null, codeTag VARCHAR (3) not null, quoteTag VARCHAR (3) not null, boldTag VARCHAR (3) not null, italicTag VARCHAR (3) not null, editTag VARCHAR (3) not null, imgTag VARCHAR (3) not null, urlTag VARCHAR (3) not null, autolink VARCHAR (3) not null, emailTag VARCHAR (3) not null, pollTag VARCHAR (3) not null, listTag CHAR(3) DEFAULT 'on' not null)";
                              $result = mysql_query ($query,$db);
              Das sind so die Tabs die wir verwenden, ich hab mir auch schon andere Boards angesehen, das Schema ist immer dasselbe.
              Die anfänge sind hier beschrieben :
              http://www.buhaboard.info/bubo/showt...threadid=13998
              und so die stationen , also die einzelnen releases sind hier zu finden für das JBB : http://sourceforge.net/projects/jbb
              naja und anschauen kannst du es dir hier :
              http://www.joelh.de

              Kommentar


              • #8
                dann woll´n wir mal sehen wessen schöner ist

                Code:
                # Tabellenstruktur für Tabelle 'foren'
                #
                
                CREATE TABLE foren (
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   TID int(11) DEFAULT '0' NOT NULL,
                   name varchar(255) NOT NULL,
                   beschreibung text NOT NULL,
                   newpost int(11) DEFAULT '0' NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'kategorien'
                #
                
                CREATE TABLE kategorien (
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   TID int(11) DEFAULT '0' NOT NULL,
                   name varchar(255) NOT NULL,
                   beschreibung text NOT NULL,
                   killtime int(11) DEFAULT '0' NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'style_options'
                #
                
                CREATE TABLE style_options (
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   bgcolor varchar(6) NOT NULL,
                   dark_color varchar(6) NOT NULL,
                   light_color varchar(6) NOT NULL,
                   font_color varchar(6) NOT NULL,
                   border_color varchar(6) NOT NULL,
                   graf_left varchar(64) NOT NULL,
                   graf_right varchar(64) NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'system_code'
                #
                
                CREATE TABLE system_code (
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   KID int(11) DEFAULT '0' NOT NULL,
                   edit varchar(6) NOT NULL,
                   code varchar(6) NOT NULL,
                   auto_url varchar(6) NOT NULL,
                   url varchar(6) NOT NULL,
                   html varchar(6) NOT NULL,
                   bold varchar(6) NOT NULL,
                   italic varchar(6) NOT NULL,
                   smile varchar(6) NOT NULL,
                   del varchar(6) NOT NULL,
                   close varchar(6) NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'system_options'
                #
                
                CREATE TABLE system_options (
                   system_home varchar(64) NOT NULL,
                   system_betreiber varchar(64) NOT NULL,
                   forum_home varchar(64) NOT NULL,
                   logo_system varchar(64) NOT NULL,
                   contact_data text NOT NULL,
                   contact_text text NOT NULL,
                   system_name varchar(30) NOT NULL,
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   btr char(3) NOT NULL,
                   version varchar(25) NOT NULL,
                   kopf varchar(255) NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'themen'
                #
                
                CREATE TABLE themen (
                   ID int(11) NOT NULL auto_increment,
                   TID int(11) DEFAULT '0' NOT NULL,
                   FID int(11) DEFAULT '0' NOT NULL,
                   thema varchar(255) NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'threads'
                #
                
                CREATE TABLE threads (
                   ID int(11) NOT NULL auto_increment,
                   FID int(11) DEFAULT '0' NOT NULL,
                   KID int(11) DEFAULT '0' NOT NULL,
                   autor varchar(30) NOT NULL,
                   erstellt datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
                   work datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
                   killtime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
                   antwort int(11) DEFAULT '0' NOT NULL,
                   topic varchar(255) NOT NULL,
                   text longtext NOT NULL,
                   visits int(11) DEFAULT '0' NOT NULL,
                   code_off int(11) DEFAULT '0' NOT NULL,
                   auto_url_off int(11) DEFAULT '0' NOT NULL,
                   smile_off int(11) DEFAULT '0' NOT NULL,
                   signatur text NOT NULL,
                   PRIMARY KEY (ID)
                );
                
                
                # --------------------------------------------------------
                #
                # Tabellenstruktur für Tabelle 'user'
                #
                
                CREATE TABLE user (
                   ID int(11) DEFAULT '0' NOT NULL,
                   name varchar(30) NOT NULL,
                   pass varchar(30) NOT NULL,
                   FID int(11) DEFAULT '0' NOT NULL,
                   threads int(11) DEFAULT '0' NOT NULL,
                   signatur text NOT NULL,
                   status varchar(50) NOT NULL,
                   hand varchar(50) NOT NULL,
                   status_graf varchar(50) NOT NULL
                );
                und ich hab noch lange nicht alles drin ....

                EDIT:
                PS @joelH ich surfe mit 1280 x 1024, und muss n meter nach rechts scrollen dank deinem salat ...


                [Editiert von schmalle am 18-01-2002 um 14:06]
                h.a.n.d.
                Schmalle

                http://impressed.by
                http://blog.schmalenberger.it



                Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                ... nur ohne :-)

                Kommentar


                • #9
                  hmm,

                  sorry, aber mein Posting ist 104 Zeilen lang im NS 6.2, deins ist 438 Zeilen lang !!!

                  Also fass dir an die eigene Nase. Ich finde meine Tabellen schöner Du hast ja eh von mir kopiert *Gggg*

                  Kommentar


                  • #10
                    Re: hmm,

                    Original geschrieben von JoelH
                    Du hast ja eh von mir kopiert *Gggg*
                    das ist eine böswillige unterstellung! mit zwei oder drei blicken sieht man doch einen "etwas" anderen aufbau o. was?

                    ich habe nur denen JBB Code mitgenommen und angepasst. steht aber auch im quelltext!!!

                    Original geschrieben von Taddy Forum System Vers. 1.0.0 Beta
                    <!-- TSC Taddy Forum System Code - many thanx to JoelH -->
                    so
                    h.a.n.d.
                    Schmalle

                    http://impressed.by
                    http://blog.schmalenberger.it



                    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                    ... nur ohne :-)

                    Kommentar


                    • #11
                      Der ein oder andere nachträgliche Umbruch würde hier wirklich nicht weh tun. Man kennt ja jetzt den Code.

                      Kommentar

                      Lädt...
                      X