Beiträge von Sarkkan

    Zitat von "Truck007"

    -wenn sich jemand registriert muss ich die Tabelle User befüllen?

    Jupp :)
    Da gehört der gewählte Username des Benutzers rein, seine E-Mail-Adresse und sein Passwort (welches du mit md5($str) verschlüsselst).
    Beim auslesen kannst du dann einfach mit folgender Abfrage alles wichtige auslesen:

    PHP
    <span class="syntaxdefault"><?php<br />$query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"<br />    SELECT userid<br />    FROM `user`<br />    WHERE username = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'username'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"' AND password = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'password'</span><span class="syntaxkeyword">]).</span><span class="syntaxstring">"'<br />    LIMIT 0, 1;<br />"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">?></span>

    Erhältst du hier ein Ergebnis zurück, hat der Benutzer richtige Daten eingegeben.

    Zitat von &quot;Truck007&quot;

    -wenn jemand ein neues Thema schreibt muss ich die Tabelle topics befüllen aba wo steht da der Inhalt zum auslesen was dann als frage steht?

    Der Inhalt kommt immer in Replys.

    Zitat von &quot;Truck007&quot;

    -wenn jemannd eine frage stellt muss ich die in replys befüllen?

    Du meinst sowie hier? "Wieso klappt X nicht?" ? Nein, das ist der Name des Themas :)

    Zitat von &quot;Truck007&quot;

    -um eine übersicht zu erstellen was es für theman gibt lese ich einfach die komplette tabelle Topics aus oda?

    Jepp, genau das machst du :)

    Zitat von &quot;Truck007&quot;

    -wie mache ich dass die Antworten auch nur bei dieser einen frage angezeigt werden?

    Das passiert quasi automatisch bei meiner Datenbankstruktur.

    Wir holen uns erst einmal die ID des Topics, die der Besucher sehen will (kann z.B. ein GET-Wert sein). Hiermit suchen wir in der Kreuz-Tabelle (topic_replys) nach allen Einträgen dessen topic_idtopic wie der GET-Wert ist, den wir haben und erhalten daraufhin ein Haufen an ID's über die wir wissen, wie wir an die Replys kommen. Beispielcode:

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />$query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"<br />    SELECT *<br />    FROM `topic_replys`<br />    LEFT JOIN `replys` ON idreplys = replys_idreplys<br />    WHERE topic_idtopic = "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'topic_id'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"<br />    LIMIT 0, 15<br />"</span><span class="syntaxkeyword">;<br />?<</span><span class="syntaxdefault"> </span>

    mit dem LEFT JOIN geben wir an, welche Tabelle wir in unsere Abfrage mit einbeziehen wollen. das ON gibt die Bedingung an, mit der wir die Tabellen verknüpfen wollen :)
    Einfach mal ein wenig Testen :wink:

    Zitat von &quot;Truck007&quot;

    -für was brauche ich die Tabelle topics_replys?
    -wie kann mann wenn mann nur die fakten der einen tabelle hat auf die andere mit der id zugreifen (hab das noch nie gemacht)?

    Siehe Zitat oben

    Zitat von &quot;Truck007&quot;

    wäre nett wende mir das noch erklärenkönntest.

    Immer gerne doch :) Hoffe hast alles verstanden :)

    Zitat von &quot;revils&quot;

    kann man die Endungen .html (z.B. ...de/index.html)
    ausblenden bzw. verstecken?

    Klar geht das :)
    Du glaubst nicht ernsthaft, dass Seiten wie Viva (<!-- m --><a class="postlink" href="http://www.viva.tv/musik/artists/jennifer-rostock-209828/videos/irgendwo-anders-494452/">http://www.viva.tv/musik/artists/jennif ... rs-494452/</a><!-- m -->) oder ähnliche Tatsächlich sich solch einen Verzeichnishaufen antun, oder? :D
    Es sieht zwar so aus, als ob es hier ein Verzeichnispfad wäre, in Wahrheit wurde nur dem Server mittels einer .htaccess gesagt, welche Pfade (oder Muster an Pfäden) er wie an (emsitens die index.php) weiterleiten soll :)

    Sinnvoll ist es, wenn man RegEx kann, da diese fast genauso funktionieren/Aufgebaut sind, wie hier diese Regeln.
    Naja, kurz zu der Regel die ich dir hier gerade aufgeschrieben habe: Mit ihr werden bei Aufruf einer .html-Datei statt der HTMl-Datei die PHP-Datei aufgerufen.
    (Wenn du andere Varianten von Mod_rewirte wünschst, sag mir bescheid^^ War jetzt nur ein Beispiel, geht auch so, dass es aussieht wie ein normales FileSystem :D)

    Zitat von &quot;revils&quot;

    Es geht um die Textformatierung. Und zwar würd ich gern wissen ob man Blocktext irgendwie erzeugen kanns

    Versuch es mal mit text-align: justify;

    Liebe Grüße
    Sarkkan

    Achja.. Englisch müsste man können.. .__.
    #1142 - CREATE command denied to user 'truck007'@'192.168.141.4' for table 'user' bedeutet salop übersetzt:
    CREATE-Kommando ist für den Benutzer truck007 auf Server '192.168.141.4' aufgrund von mangelden Rechten nicht verfügbar.

    Ergo: Du brauchst einen Benutzer, der Tabellen erstellen darf.

    Zitat von &quot;revils&quot;

    Was hastn da für eine Mindmap-Programm?

    Als Mindmap-Programm verwende ich FreeMind :D
    Und für Datenbankstrukturen verwende ich von Oracle die MySQL Workbench.
    Das Programm erzeugt euch auch entsprechenden SQL-Code, oder ihr könnt ihm direkt einen Server und Datenbank geben um es auf diese anzuwenden :)
    (Alles Kostenlos)

    Steht doch überall dran, was wo rein kommt .__.
    Die erste Tabelle (user) ist die Tabelle für Benutzer.
    Hier muss auf jeden Fall ein Username, ein (md5 verschlüsseltes) Passwort und eine E-Mail-Adresse rein.
    Zusätzlich ist schon mal Platz für sonstige Informationen für den Benutzer, wie verschiedene Messenger, Geburtstag,..
    Auch wird hier die Benutzer ID erzeugt (der erste Wert) die wir für spätere Systemabläufe noch benötigen :)

    Als nächstes haben wir unsere Tabelle für die Themen (topic, wobei ich hier noch mal erklären möchte, dass da theoreticsh noch eines Tabelle oder eine Spalte fehlt. Irgendwie wollen wir ja vllt verschiedene Unterforen haben. )
    In dieser steht jeweils der Titel des Themas, von wem es erstellt wurde(createdBy) und wann es erstellt wurde (createDate).
    Zwischen createdBy und der User-ID besteht eine Abhänigkeit zueinander. Über die jeweilige ID bekommen wir den Nutzernamen heraus.

    (Muss los, führe das später gerne noch was asu)
    Edit: Weiter gehts :)

    Als nächstes haben wir eine Tabelle Replys (also antworten).
    Hier wird unter subjct der Betreff der Antwort eingegeben (meist ist das nur RE: + Titel des Beitrages^^)
    time (müsste eigentlich ein integer sein und nicht wie in meiner Struktur ein varchar) speichert die Zeit des Eintrags, byUser enthält wieder die UserId des Antworters.
    in Text ist der entsprechende Beitrag gespeichert und unter lastChange + change wird gespeichert, wie oft der Beitrag editiert wurde und wnan zuletzt.

    Die letzte Tabelle ist eine sogenannte Kreuz-Tabelle.
    Hier stellen wir eine Verbindung zwischen Topic und Replys her.

    Eine Verbindung zwischen 2 Tabellen stellen wir mit folgendem Code her:

    SQL
    SELECT 
        `user`.`username`, `topic`.`title`, `topic`.`createDate`
    FROM `topic`
    LEFT JOIN `user` -- Die Tabelle, die wir noch mit nehmen wollen
        ON `topic`.`createdBy` = `user`.`iduser` -- Die Bedingung nachdem die Beiden Tabellen zusammen gehören
    LIMIT 0, 15

    Dieser Code würde dir die ersten 15 Themen auslesen.
    Hierbei werden die Felder username, title und createDate ausgelesen. Durc das LEFT JOIN sagen wir, welche Tabelle wir noch auswählen wollen.
    Die ON-Anweisung ist wie WHERE, nur arbeitet man hier meistens mit 2 Spalten der beiden Tabellen.

    Hoffe konnte dir helfen und so :)

    Als Anhang mit senden.. dann kannst du ganz einfach über <img src="facebook_logo.jpg" /> es einbeziehen :)
    Oder über eine externe Adresse, also <img src="http://www.meineDomain.de/bilder/facebook_logo.jpg" />

    Kommt drauf an, entweder du Includest es, oder du arbeitest mit "Variabeln" und str_replace.
    Also erst mit file_get_contents() Datei holen um diese dann mit str_replace zu modifizieren.

    Also diese Tabelle wäre nicht komplett verkehrt:[attachment=0]<!-- ia0 -->truckData.png<!-- ia0 -->[/attachment]Script zum erstellen dieser Struktur wäre folgende:

    "mydb" musst du durch deinen Datenbanknamen ersetzen

    createdBy und byUser sind beide male die entsprechende UserId.
    Bei Fragen, schieß los :wink:

    PS: Das soll nur eine Grundlage sein.
    Entweder kannst du das so lassen (müsste fast schon reichen) oder entsprechend modifizieren :)

    Edit: Du benötigst übrigens vllt noch eine Kreuz-Tabelle für Foren - Topics :D
    Oder packst das noch bei topic dazu :/

    Oke.. gedacht hast du dir das vllt so (wobei ich gerade zugebe, dass nicht ganz zu verstehen xD) aber nirgendwo greifst du, wenn ich das richtig gesehen habe, mittels eines GET-Wertes in einer SQL-Abfrage auf ausschließlich Themenrelevante inhalte zurück :/
    (Wobei ich gerne noch mal hier erwähne, dass ich Teils nicht ganz verstehe was wo in deinem Code gemacht wird xD)

    Die Sache mit meinen Variabeln wäre dann folgendes:

    PHP
    <span class="syntaxhtml"><br />/* Date: LoremIpsum.php */<br />$content.= 'Dies ist mein schöner Inhalt.';<br /><br />$script = 'window.location = "http://www.go-to-some-porno.xxx";';<br />$header = '<meta http-equiv="refresh" content="0; URL=http://www.go-to-some-porno.xxx" />';<br /><br />$content .= '<div>Hier kommt weiterer Inhalt</div>';<br /><br />/* index.php */<br /><span class="syntaxdefault"><?php<br /><br /></span><span class="syntaxkeyword">include ..<br /><br /></span><span class="syntaxdefault">?><br /></span><br />[...]<br /><body><br />    <span class="syntaxdefault"><?php </span><span class="syntaxkeyword">echo </span><span class="syntaxdefault">$content</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">?><br /></span></body><br />[...]<br /></span>
    Zitat von &quot;CyberGirl&quot;

    P.S. Es geht mittels

    Code
    <script language="javascript" type="text/javascript">
    		window.location = "http://www.go-to-some-porno.xxx";
    	</script>

    und das ganze ohne JavaScript wäre übrigens auch möglich^^

    Code
    <meta http-equiv="refresh" content="0; URL=http://www.go-to-some-porno.xxx" />

    Für die Zeilenumbrüche gibt es nl2br :)
    Außerdem solltest du die Eingaben Filtern, damit keine HTML-Tags oder anderes eingeschleust wird.

    Hast du eigentlich schon mal was davon gehört, dass man seinen Code sauber (und ggf. mehrfach) einrücken sollte? O.o

    Naja.. nun zu deinem Eigentlichen Problem.. wie willst du die Antworten den quasi Filtern? :/
    Du unterscheidest sie einfach nicht, sondern ließt alle aus, wenn ich das richtige gesehen habe.. :/
    Entweder ist alles "Thema" oder alles ist Null.. hää? O.o

    PS: Kleiner Tipp, nimm einige Teile deines Codes (z.B. die Registrierungsgeschichte) und pack den Kram in eine eigene Datei, die du einbindest.
    Das schafft Ordnung. Außerdem sollten zuerst ALLE Sachen "berechnet" werden und er dann sollte die Ausgabe erfolgen.
    Sinnvoll ist es, wenn du dann z.B. Variabeln verwendest in denen du bei ablauf des Skriptes für die entsprechende Seite relevantes reinlegst.
    Beispiel könnte z.B. $READY (für JavaScript im ready-Teil ) oder $CONTENT (für die Ausgabe).
    PPS: Wer kam auf das "Design"? O.o Ich konnte mir keine Sekunde lang die Seite ansehen..

    dazu musst du eine CSS-Klasse erstellen und diese Klasse z.B. eine <span> gebe

    *hust* "Wenn du kein Impressum hast, wo deine Adresse drin steht, dann erkundige ich mich bei deinem König in Tonga, bei dem du deine Domain registriert hast" :lol:
    .to-Domains sind deshalb für solche und Ähnliche Seiten so gefragt, weil diese im Bezug auf ihre Kundendaten sehr Diskret sind :?

    Handhelds haben spezielle Browser, die die Seite entsprechend skalieren :)
    Dafür wäre es unteranderem nicht verkehrt den viewport-meta zu verwenden :D

    Code
    <meta name="viewport" content="width=1024" />

    reicht da als Basis.

    Weitere Parameter für den Meta-Tag (weitere würden einfach nach dem Semikolon in dem Content-Attribut angehängt):
    width, Für welche Breite wurde die Seite konzipiert? Erlaubt ist ein Wert zwischen 200 bis 10000. [Default: 980px]
    height, für welche Höhe wurde die Seite konzipiert? Erlaubt ist ein Wert zwischen 233 und 10000. [Default: automatisch berechnet]
    initial-scale, Soll automatisch ein Zoom eingestellt sein? Erlaubt ist ein Wert zwischen 1 und 10, wobei 1 kein Zoom ist. [Default: automatisch berechnet]
    user-scalable, Darf der Benutzer Zoomen? Erlaubt ist entweder yes (er darf) oder no (er darf nicht). [Defualt: yes]
    minimum-scale, Wie sehr darf der Benutzer die Seite verkleinern? Erlaubt ist ein Wert zwischen 1 und 10. [Default: 0.25 (was eigentlich gegen die Regeln ist xD)]
    maximum-scale, Wie sehr darf der Benutzer auf der Seite zoomen? Erlaubt ist ein Wert zwischen 1 und 10. [Default: 1.6]
    Beispiel:

    Code
    <meta name="viewport" content="width=1024, initial-scale=2.3, user-scalable=no">

    Du bekommst eine Fehlermeldung, weil du eine schließende Klammer zu wenig hast / eine öffnende Klammer zu viel.
    Mach die Klammer vor dem "0" weg.
    Hier noch ein Tipp, schreib mal

    Code
    $inhalt = (int) fread();

    damit wird das ganze direkt in einen Integerwert gepackt.
    Außerdem sollte es nicht

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'ip/$dateiname.php'</span><span class="syntaxkeyword">) === </span><span class="syntaxdefault">false </span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>

    heßen, sondern

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'ip/'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$dateiname</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'.php'</span><span class="syntaxkeyword">) === </span><span class="syntaxdefault">false </span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>