Beiträge von Sören

    Ja kann man und zwar, indem man mit einer .htaccess die Aufrufe auf Dateien ohne Endung weiterleitet.

    Ich kann dir aber gerade nicht genau sagen, wie das geht.
    Es funktioniert auf jeden Fall mit mod_rewrite (so etwas, wie reguläre Ausdrücke zum Ändern der aufgerufenen URL), ich glaube aber, es gibt noch eine andere Möglichkeit.

    Wenn dir das alles jetzt nichts sagt, Goggle spuckt dir bestimmt genug aus und es weiß hier bestimmt auch jemand genaueres dazu.

    phpmyadmin-Startseite -> Rechte
    Bei dem Benutzer, mitdem du dich in MySQL einloggst (müsste "root" sein"), müsste "ALL PRIVILEGIES", wenn nicht, klicke mal auf das Icon am rechten Ende der Zeile des Benutzers, dann siehst du die Rechte des Benutzers

    Wenn es unter Kubuntu läuft, vielleicht mal schauen, ob es für das Betriebssystem wo es nicht geht, überhaupt einen Treiber gibt / ob der Treiber damit kompatibel ist.

    Wenn er kompatibel ist und auf dem Betriebssystem noch nicht viel installiert ist, das Betriebssystem neu installieren und als allererstes den Grafikkartentreiber installieren und ausprobieren.

    IrfanView kann man aber nicht in eine Schublade mit Gimp und ähnlichen Programmen packen. Es ist halt etwas ganz anderes.

    Gimp ist eher für die Erstellung und kreative Bearbeitung von Bildern gedacht, mit IrfanView kann man dagegen so schöne Sachen, wie viele Bilder auf einmal konvertieren und umbenennen oder so etwas machen.

    Ist in Ordnung, aber wenn du es schöner und für dich einfacher haben willst, kannst du es auch besser machen.

    Auch eine Möglichkeit, wenn du nicht mit str_replace und so arbeiten möchtest, weil das für deine zwecke zu aufwändig wäre und außer Titel und Beschreibung eh immer nur der Inhalts-Teil eingebunden wird, ist alles über die index-Datei zu steuern und abhängig von einem get-Wert immer eine bestimmte Seite in den immer gleichen Hauptaufbau einbinden.
    Titel und eventuell weitere Daten der Datei kann aus einer Datenbank ausgelesen werden.

    Damit du dir was dadrunter vorstellen kannst, hier mal eine Beispielvorgehensweise:

    PHP
    <span class="syntaxhtml"><span class="syntaxdefault"><?php<br /></span><span class="syntaxcomment">// Get auslesen, ist er leer, wird die Startseite eingebunden<br /></span><span class="syntaxdefault">$file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(isset(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'file'</span><span class="syntaxkeyword">]))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">?</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'file'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> </span><span class="syntaxstring">'start'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxcomment">// Dateinamen überprüfen, nur buchstaben und der unterstrich zugelassen,<br />// sonst Startseite einbinden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/^[a-z_]+$/i'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $file</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'start'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Existiert die Datei? sonst Error404-Seite einbinden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'inc/'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'.php'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'error404'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Standard-Titel<br /></span><span class="syntaxdefault">$title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Meine Seite'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxcomment">// Aus vorher hergestellter Datenbankverbindung die Reihe mit dem<br />// Dateinamen auslesen<br /></span><span class="syntaxdefault">$query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT titel<br />           FROM meineTabelle<br />           WHERE dateiname = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">"'"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$erg </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">);<br /></span><span class="syntaxcomment">// Wurde kein Eintrag gefunden wird die error404-Seite eingebunden<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">mysql_num_rows</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$erg</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">===</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'error404'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Error404 - Datei nicht gefunden || '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $title</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxcomment">// Ist ein Titel vorhanden, wird er dem Standard-Titel hinzugefügt<br /></span><span class="syntaxdefault">$fetch </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$erg</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(!empty(</span><span class="syntaxdefault">$fetch</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">titel</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $title </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $fetch</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">titel </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">' || '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $title</span><span class="syntaxkeyword">;<br />}<br /><br /></span><span class="syntaxcomment">// Dateinamen vervollständigen<br /></span><span class="syntaxdefault">$filename </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'inc/'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $file </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'.php'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// Hier kommt der Standard-HTML Teil, der den der Datei einschließt<br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br />    <head><br />        <title><span class="syntaxdefault"><?php echo $title</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> ?></span></title><br />        <!-- Metas --><br />    </head><br /><br />    <body><br />        <!-- Header, Navigation und ähnliches --><br /><br />        <span class="syntaxdefault"><?php require_once $filename</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> ?><br /></span><br />        <!-- Footer --><br />    </body><br /></html><br /></span>


    Ist jetzt doch etwas umfangreicher geworden, als ich es mir gedacht habe, da alle möglichen Überprüfungen vorhanden sind. Kann man aber auch noch seinen Bedürfnissen entsprechend erweitern.

    Es ist nicht overflow, sondern overflow-y.
    Da in der Höhe anscheinend Pixel weniger zur Verfügung steht, als es die Auflösung und die Höhe der Seite ist, wird natürlich eine Scrollleiste angezeigt (Scrollleiste rechts, y). Durch diese Scrollleiste wird etwas von der Breite abgeschnitten, also wird auch eine x-Scrollleiste angezeigt.
    overflow-y verhindert die y-Scrollleiste und somit auch die x-Scrollleiste.

    Ich kann bei meinem Monitor die Pixel übrigens erkennen. :D

    Ich kann dir zwar nicht sagen, wieso das so ist, aber wenn du in der Höhe einen Pixel abziehst (1079 statt 1080), entstehen keine Scrollleisten.
    Ich denke, auf diesen einen Pixel wirst du verzichten können.

    Bekommst du irgendeine Fehlermeldung oder was verstehst du unter "bugt"?
    Hast du es mal mit file_get_contents() versucht?

    Mir fällt so spontan kein Grund ein, ohne die Fehlermeldung zu sehen.
    Das einzige wäre, dass du zwar Schreib- aber keine Leserechte auf die Datei hast, was ich mir nicht vorstellen kann.

    Um den noch eingeloggten Benutzer identifizieren zu können, müsste man natürlich auch den Nickname mit abspeichern.

    Was man aber nicht machen sollte, ist Daten, wie z.B. das Passwort, in Cookies zu speichern, da die Cookies im Klartext auf dem Clienten gespeichert werden und z.B. mit XSS-Attacken ausgelesen werden können.

    Außerdem könnte jeder sich dann mit jedem Benutzernamen einloggen, er muss nur das entsprechende Cookie setzen.
    Daher wäre es vielleicht eine Idee, anstatt des Namens, eine bei jedem Setzen eines Cookies neu vergebene, zufällige Nummer als Wert zu speichern, welche dann in einer Datenbank gespeichert, den entsprechenden Benutzer verkörpert.
    Wer die zufällige Nummer nicht kennt, kann sich auch nicht das entsprechende Cookie richtig setzen und sich so einloggen.

    Zitat von &quot;[url=http://de.wikipedia.org/wiki/Zeichensatz

    Wikipedia[/url]"]Speziell in der Informationstechnik versteht man unter einem Zeichensatz die Gesamtheit der Zeichen einer bestimmten Zeichenkodierung und deren Zuordnung.

    Zeichensätze sind (in der Web-Entwicklung) dazu da, dem Browser mitzuteilen, welche Zeichen im Text vorhanden sein können.

    Die ersten 128 Zeichen eines Zeichensatzes sind bei allen Zeichensätzen die gleichen, unter anderem die Buchstaben (a-z und A-Z), die Ziffern (0-9), Sonderzeichen (!, -, %, etc.), Zeichen, wie Leerzeichen und Absatz (sogenannte Whitespaces) und Steuerzeichen, die nicht darstellbar sind, diese Zeichen stammen aus dem ASCII-Zeichensatz.

    Da dort keine regionalen Sonderzeichen, wie bei uns die Umlaute enthalten sind, hat man die ISO-Zeichensätze gemacht, sie enthalten 256 Zeichen und können damit für die entsprechende Region auch die Sonderzeichen enthalten.
    Der Zeichensatz mit den deutschen Umlauten und anderen West-Europäischen Sonderzeichen ist ISO-8859-1.

    Die Unicode-Zeichensätze (wie utf-8) sollen dagegen alle Sonderzeichen aller Sprachen und Länder enthalten, damit man z.B. auch chinesischen und deutschen Text auf einer Seite haben kann.

    Wenn du mehr wissen willst, werden dir die Suchmaschinen sicherlich noch viel mehr ausspucken.

    Irgendwie kommen mir ein paar Sachen von meiner Foto-Seite bekannt vor (vom Design). Ist aber überhaupt nicht schlimm, ich habe für meine Seiten auch z.T. ein wenig nachgebaut. Das fällt wahrscheinlich eh nur dem auf, dem die Seite gehört.

    Ist mir nur so aufgefallen, macht mir aber, wie gesagt, überhaupt nichts. :D

    Das Design gefällt mir.

    Aufgefallen ist mir nur ganz wenig:
    - "Über mich": "mein Name ist Dominik, 15 Jahre alt [...]", müsste heißen: ", ich bin 15 Jahre alt"
    - Die Farbe vom Captcha auf der Kontakt-Seite passt irgendwie überhaupt nicht zum Rest der Seite. Ein grau oder graues blau passt, denke ich, gut.
    - Die Unterschtreichung von "Eintrag hinzufügen" im Gästebuch würd ich weglassen.
    - Auf der Startseite wird das Design vom Validator nicht gefunden, da man vom Root nicht noch einen Ordner zurückspringen kann. Lass bei den Design-Angaben das ".." am Besten ganz weg. Der Slash reicht, da ja eh zum Root zurückgesprungen werden muss, um zum Design-Ordner zu kommen.

    PS: nicht, dass es mir was ausmachen würde, aber mir kommt manches auf deiner Seite ziemlich bekannt vor :wink:

    Indem du bei der onBlur-Funktion der if-Abfrage noch einen else-Teil hinzufügst.
    Ist der Name nicht Admin (else), wird das Label wieder ausgeblendet (Es wird wieder Display block gesetzt).

    Das solltest du eigentlich hinbekommen. Du musst meinen Satz nur noch in JavaScript-Code umwandeln.

    Nen md5-Umwandler gibts bestimmt irgendwo, aber den dir selber zu schreiben dauert auch nicht viel länger, als das Suchen.

    Du solltest die Benutzereingaben vor der MySQL-Abfrage durch mysql_real_escape_string() laufen lassen. Sonst ist man mit Eingaben beim Passwort wie blablabla' OR 1 = '1 sehr schnell eingeloggt.

    Das mit JavaScript ist ernst gemeint.

    Wenn du die Preise noch irgendwie automatisch an dich übermitteln oder irgendwo speichern lassen willst oder so, brauchst du auf jeden Fall PHP.
    Wegen der Kosten: JavaScript ist immer dabei, da ja wie HTML im Browser ausgeführt, PHP ist heutzutage auch normalerweise dabei, ohne Extrakosten.

    P.S. JavaScript und Java sind zwei grundverschiedene Sprachen :wink:

    Du speicherst die Passwörter md5-verschlüsselt in der Datenbank (am besten mit einem 32 großen char, da ja immer gleich lang). Das eingegebene Passswort beim Login verschlüsselst du dann auch immer mit md5 und vergleichst diesen Wert mit dem entsprechenden aus der Datenbank. Sind beide gleich sind auch die Passwörter, die dahinter stecken (so gut wie immer) gleich.

    "Das mit den Comments" kannst du als boolean speichern.