Beiträge von The Scout

    Nun, es gibt sowohl für Eigenbau, als auch für solche "Rahmen" Vor- und Nachteile (wobei meist des einen Vor- des anderen Nachteil ist ^^).
    Hier mal ein paar:
    - Die Rahmenpakete sind (je nach Umfang), einmal eingerichtet, wesentlich leichter zu managen und somit auch für Laien nutzbar
    - Die Rahmenpakete sind meist Open Source, d.h. es können Bugs/Sicherheitslücken wesentlich schneller gefunden werden (muss aber nicht, "Heartbleed")


    - Eine selbstgebaute Seite ist meist codemäßig gesehen wesentlich schlanker und somit schneller
    - Eine selbstgebaute Seite hat meist keine Standardlücken; jede Rahmenseite mit der gleichen Version eines Rahmens hat die gleichen Lücken
    - Eine selbstgebaute Seite baut normalerweise auf aktuelleren Code auf, da das komplette Umschreiben eines Rahempaketes zu viel Aufwand ist, um es jedes Mal neu zu machen. (Bsp: die meisten Pakete laufen noch mit PHP 5.3 als Basis, 5.6 ist aktuell)
    - Eine selbstgebaute Seite ist individueller, d.h. man kann leichter eigene Spielereien (wie Canvas-Spielereien, CSS Effekte, ...) einbauen, was die Seite von dem von dir erwähnten Einheits-Layout-Brei abhebt.
    - Eine selbstgebaute Seite ist besser für dein Ego ;)


    Also, pfadfinder-weilheim.de läuft zB auf einem kleinen CMS (cms2day.de), da die anderen Mitglieder in der Lage sein sollen, den Content selbst zu ändern. Ich bin mehr der Techniker im Hintergrund, der eventuelle Fehler ausbügelt und das System aktuell hält.


    Andererseits bin ich grade (ziemlich inaktiv :( ) an einem anderen Projekt am arbeiten, was so gut wie keinen Rahmen nutzt (außer so Dinge wie Html 5 Boilerplate und jQuery, die das Leben erleichtern).

    Jiop, hier mal ungetestetes, aber so in die Richtung kannst du mal basteln:


    ABER!!! Falls du planst, auf diese Art und Weise eine Ajax One-Page zu bauen (genau das, wonach es klingt: via JS wird der Inhalt nachgeladen, wenn auf einen Link geklickt wird), dann lies dir vorher diesen Artikel durch: Ajax-OnePage – Inhalt richtig per Ajax nachladen. Da wird erklärt, welche Fallen es gibt und wie man sie umgeht.

    Naja, im Grunde geht das wirklich so einfach, wie cotton das beschrieben hat.


    Hier mal ein kleines Skript, wie das aussehen könnte:


    PS: Ich hab übrigens gemerkt, wozu die neue Zeile für geschweifte Klammern gut sein kann ;)

    Trotzdem sollte man auch heutzutage versuchen, JavaScript nur so zu verwenden, dass es auch abgeschaltet werden könnte, finde ich.
    Also, erstmal nur mit HTML, CSS und PHP die Seite so aufbauen (Damit geht heutzutage durch HTML5 und CSS3 auch schon enorm viel, was früher JavaScript benötigt hätte), dass sie einwandfrei funktioniert, und dann mit JavaScript erweitern. Also zB effizienzverbessernde Maßnahmen wie Sessionstorage, AJAX und Co einbauen, oder Nutzererlebnisverbessernde wie der jQueryUI Kalender.


    Also, mMn braucht man heutzutage für viele Dinge einfach kein JavaScript mehr, ich meine, Video und Audio lassen sich nun nur durch HTML einbinden, schöne Effekte wie zB eine Scrolldownnavigation sind rein durch CSS realisierbar und Formularverarbeitung (und -validierung) sollte grundsätzlich sowieso wegen der Sicherheit vor allem durch PHP geschehen. Auch wenn HTML hier durch sein enorm erweitertes Repertoire viel von früheren JavaScriptanwendungen ablöst.

    Genau.
    Zuerst HTML: Wenn man eine Seite sauber in HTML schreiben kann, ist die Grundlage schon gelegt. Allerdings sieht sie dann immer noch ziemlich hässlich aus :D


    Dann CSS: Die Seite soll ja auch schön aussehen, nicht wahr? Und seitdem CSS 3 raus ist, hat man auch VIEL mehr Möglichkeiten, zB eine reine CSS Dropdown Navigation mit schönem Effekt (www.pfadfinder-weilheim.de zeigt wie es geht :P), oder auch pure CSS Lightbox Effekte zur Bilddarstellung sind inzwischen möglich.


    Danach PHP: Davon bekommt der Nutzer nichts mit (er sieht nur fertiges HTML), aber wenn man es geschickt nutzt, ist es ein mächtiges Werkzeug, das dir das Leben enorm erleichtert. (Fast) sämtliche Seiten, die Daten von irgendwoher ziehen, die Formulare verarbeiten, oder einfach nur gesplittet wurden (d.h. die Navigation und der Inhalt kommen von einer anderen Wuelle als der Rahmen), sind mit PHP zusammengefriemelt.


    Zuletzt JavaScript (JS): Dies sollte nur als Ergänzung dienen, die Seite sollte also auch ohne einwandfrei laufen. Der Trick ist, mit JavaScript bestimmte Spielereien einzubauen, die das Nutzererlebnis verbessern, die Ladezeiten optimieren (AJAX), oder einfach wirklich Spielereien (Lightbox mit Albummöglichkeit), wobei das meiste davon auch ohne funktionieren sollte. (Die Navigation sollte trotzdem aufklappen, nur vielleicht ohne schönen Effekt. Das Formular sollte trotzdem verarbeitet werden, nur muss halt die gesamte Seite neu laden. Das Bild sollte trotzdem in der Lightbox aufgehen, nur muss es halt schließen um das nächste anzeigen zu können.)

    Hmm, da sehe ich noch einige Verbesserungsmöglichkeiten:
    1) Dein HTML: du nutzt zwar laut Doctype schon HTML5, was gut ist, aber den größten Vorteil, den es mit sich bringt ignorierst du ;) Und das sind die neuen logischen Auszeichnungen, <header> <nav> <section> <article> <footer> ...
    Dann musst du weniger divs verwenden und dein Code wird etwas logischer. Sonst müsste man immer erst ein div suchen und dann die ID prüfen.


    2) Dein CSS: "Absolute" Angaben sind immer schlecht. ZB dein maincontainer width: 1200px;
    Du solltest immer davon ausgehen, dass Leute daherkommen, die heute noch einen 800x600px Bildschirm nutzen ;) Es gibt inzwischen die tolle neue CSS3 Einheit vw und vh (ViewportWidth und -Height), die jeweils für 1/100tel der aktuellen Anzeigefläche stehen. Das heißt, das skaliert mit der Größe der Anzeigefläche (zB wenn du dein Browserfenster verkleinerst) hat aber alles immer noch das gleiche Verhältnis untereinander. Quasi Prozent, aber leichter mit umzugehen, da alles die gleiche Referenz hat.
    Dazu kommt, dass du auch beim CSS darauf achten solltest, den Code "dry" zu halten, also Wiederholungen zu vermeiden. Ich sehe bei dir mehr als 5 Mal die gleiche Auszeichung für border-right und border-left. Nimm die raus und packe sie in einen eigenen Block für alle Elemente, denen du das zuweisen willst:


    Zu deinem eigentlichen Problem: Die Browser haben immer verschiedene Standardabstände für die einzelnen Elemente. Setze an den Anfang deines CSS Codes folgendes

    CSS
    * {
        margin: 0;
        padding: 0;
    }

    Das elimiert schon einmal diese Unterschiede und du musst darauf keine Rücksicht nehmen. Als Nächstes würde ich wirklich empfehlen, die absoluten Pixelangaben so weit wie möglich zu entfernen und dafür zB vw oder vh zu verwenden.
    Als drittes, probier erst einmal, die Breite von Nav, Section und footer auf irgendwas größer als 50% des Vierports zu setzen (also zB Maincontainer auf 80% und die nav, ... auf 100%. Oder direkt nav, ... auf 80vw) und ändere dann die Höhe. Eigentlich sollte da dann auf keinen Fall was springen.
    Wobei ich mich sowieso wundere, da ungewolltes Überlappen eigentlich fast immer durch ein unglückliches float oder einen falschen z-index indiziert wird. Beides taucht in deinem Code allerdings nicht auf.

    Nur, wenn du von diesem Zeitpunkt ein Backup gefahren hast.
    Haut mich, wenn ich jetzt lüge, aber ich glaube, die ganzen Webspacevermieter DÜRFEN die Sachen, die du höchlädst, gar nicht ohne eine aktive Willensbekundung von dir an einen anderen Speicherort kopieren (sprich, Backup), weil ja persönliche Daten in den Dateien sein könnten, die du den Anbietern so nicht mitgeteilt hast.


    Das heißt, du musst immer selbst ein Backup durchführen, da die Betreiber von sich aus nicht einen Finger rühren. Ob sie nicht dürfen, oder nicht wollen, sei dahingestellt.
    Manche bieten glaube ich aber an, automatisch monatlich (ode wöchentlich, kA) Backups zu erstellen, was dann allerdings auch wieder von dir aktiv so eingestellt werden muss in deinem Konto bei denen.

    Er meint, dass du ganz am Anfang die Variable $ordner = "mixed"; definierst, diese aber im übrigen Code (zumindest dem, was wir kennen) gar nicht mehr verwendest.


    Dass diese Bilder angezeigt werden sollen, wurde verstanden, wenn das aber nicht funktioniert, muss man nach dem Fehler suchen. Am einfachsten dazu ist es, wenn man sich nach dem generieren der Variable deren Inhalt erstmal ausgeben lässt. Ein Bsp:


    Wenn du das so ausführst, sollten am obersten Rand der Seite zwei Zeilen auftauchen, das sind die jeweiligen Inhalte der Variablen. Guck nach, ob die so passen.

    Probier mal

    PHP
    if ($_POST["abgesendet"] AND $MeinArray[0]) {
        // SQL Query
    }

    Heißt soviel wie WENN der Key "abgesendet" des Arrays $_POST UND der erste Key des Arrays $Mein Array Existieren, DANN .... Wenn du mit der ersten Bedingung nur prüfen willst, ob abgesendet wurde, reicht sogar nur ein "$_POST", ohne Schlüsselangabe.

    Nun, der INHALT eines Inputfields, was ja das ist, was du verändern möchtest, ist immer das value.
    Wenn du also den Inhalt genau des Inputfields, auf das geklickt wurde, ändern möchtest, heißt der Befehl folgendermaßen:

    PHP
    echo "<textarea onclick="this.value += 'Ergänzung vom: '+datum;" class="eingabefeld" id="textfeld" cols="60" rows="20" name="notiz">";


    Allerdings wird das so trotzdem nicht gehen, aufgrund der benötigten Anführungszeichen.


    Du siehst ja oben, dass PHP so, wie es jetzt da steht, nur den Text bis [...]onclick= angibt. Sonst wäre das this.value dahinter auch rot.


    Nur, schau mal, was passiert, wenn man die Anführungszeichen so abändert, das es mit dem PHP und HTML klappen würde:

    PHP
    echo '<textarea onclick="this.value += 'Ergänzung vom: '+datum;" class="eingabefeld" id="textfeld" cols="60" rows="20" name="notiz">';

    Merkste was?


    Also, nimm lieber ein globales JS Skript, was du am Ende der Seiten enbindest, ist zwar mehr Arbeit, dafür kann es dann auch funkionieren :)

    Hochgeladen kann man in den seltensten Fällen als Dritter auslesen. Diese Daten werden auf dem Server, nicht als Teil der Datei, gespeichert.
    Da empfiehlt es sich auch nicht, nur für die Beweissuche zu versuchen das auszulesen, da das dann schon als Hacken angesehen werden kann.


    Du könntest es mal mit den zwei PHP Funktionen filectime oder filemtime probieren. Wenn diese Daten ausspucken, gut. Wenn nicht, bohre nicht weiter, du könntest dich nur selbst strafbar machen.

    Nun, verschiedene Browser brauchen verschiedene Schriftart-dateitypen. Der IE braucht anstatt ttf (oder otf) eine eot Datei.


    Dh, falls der Dateipfad stimmt (was er tut, wenn das File im selben Ordner liegt), dann sollten im FF, Chrome und Co Trebuchet verwendet werden. Damit es im IE noch klappt, brauchst du die selbe Schrift nochmal im .eot Format

    Ich versuchs :D
    Also, Zeile für Zeile.


    Apache Configuration
    RewriteEngine On

    Sollte klar sein, schaltet die Domainumleitung des Servers an.


    Code
    RewriteCond %{HTTP_HOST} !^www\.

    Das gibt die "Rewrite Condition", also die Bedingung für das Umschreiben an. In diesem Falle wird der HOST genommen, also das, was zwischen http:// und dem ersten / steht. Wenn da KEIN www. ganz vorne steht, dann gehe die folgenden Regeln nacheinander durch.


    Apache Configuration
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,QSA,L]

    Die erste Regel: Nimm von Anfang bis Ende alles, was in der URL Zeile steht, und füge es in eine Variable ein. Dann baue die URL neu, auf folgende Weise zusammen:
    1) Nimm ein http://www.
    2) Nimm den Host, also zB beispiel.de. Dieser hat aufgrund der Bedingung in Zeile 2 kein www. vorne dran.
    3) Füge ein / an
    4) Nimm den Inhalt aus der Variablen, die vorher erstellt wurde. Da diese Variable aber den kompletten Inhalt der URL Zeile enthält, wird es bspw. ein http://beispiel.de sein.
    Die komplette, zusammengebaute URL würde dann so aussehen, wie in meinem vorigen Post.


    Apache Configuration
    RewriteRule ^index\.(html?|php)$ http://%{HTTP_HOST}/ [R=301,QSA,L]

    Wenn irgendwo die Zeichenfolge index.htm, index.html oder index.php auftaucht, entferne diese.
    Witzig ist hierbei, dass bei dieser regel KEIN www. auftauchen wird :)


    Ich hätte jetzt folgende Änderung gemacht:

    Apache Configuration
    RewriteRule ^\/(.*)\/?$ http://www.%{HTTP_HOST}/$1 [R=301,QSA,L]


    Absolut keine Garantie für Richtigkeit meiner Aussagen, oder Gültigkeit meiner Zeile 2. Irgendwer, der sich mit Regexp besser auskennt, als ich?

    Es kann auch sein, dass dem SERVER noch mitgeteilt werden muss, dass er bei .mp3 den type audio/mpeg nutzen soll.
    Dafür fügst du in der .htaccess Datei folgendes ein:

    Code
    <IfModule mod_mime.c>
      AddType audio/mpeg mp3
    </IfModule>

    Ich weiß grad nicht, welche anderen Endungen das noch nutzen (.m3a?), die werden dann einfach ohne Punkt mit Leerzeichen als Trenner angehängt.
    Ansonsten empfehle ich die noch die Zeilen: