Beiträge von Basi

    Die beiden von dir genannten Methoden sind identisch, abgesehen davon, dass "eine neue tmp-Datei anlegen" aufwändiger ist.


    Speichere einfach die erfolgreich hochgeladenen Dateien in ein temporäres Verzeichnis, speichere den Status jeder Datei + Namen in einer Session und dann kannst du nach dem neuen Request damit weiterarbeiten.


    Etwas in die Richtung (nicht übernehmen, ist lediglich Pseudocode):


    Ich bin gerade zu faul den nicht kommentierten Code durchzuarbeiten. Was heißt für dich "Wenn Fehler aufgetreten sind"? Fehler beim Upload oder Fehler nach dem Upload.


    Ich würde wie folgt vorgehen:


    Alle Dateien werden hochgeladen und in ein temporäres Verzeichnis gespeichert. Dateien werden auf Fehler geprüft welche dem Benutzer angezeigt werden. Dann kommt deine Fehlertabelle mit deinen Buttons. Die Dateien müssen dann nicht neu hochgeladen werden (kein neuer Traffic) sondern können Serverintern verarbeitet werden. Fehlerfreie Dateien können in das gewünschte Verzeichnis verschoben werden und fehlerhafte Dateien können gelöscht werden.


    Falls ich das Problem nun völlig falsch verstanden habe tut mir das leid :)


    Für dich interessante Funktionen:
    mkdir - Erstellt ein Verzeichnis
    rmdir - Löscht ein Verzeichnis
    rename - Kann Dateien inklusive Pfad umbenennen (verschieben)
    unlink - Löscht Datei
    chmod - Ändert Dateiberechtigung (Um eventuell unberechtigten Zugriff auf ungeprüfte Dateien zu verhindern und sie nach Prüfung freizugeben)

    Lass mal das :link weg. Das ist eher für spezielle Fälle. Um URLs zu stylen reicht es so:


    CSS
    a { /* Standardwerte */ }
    a:hover { /* Werte beim überfahren mit der Maus */ }


    Anderes führt schnell zu Problemen, was bei dir auch der Fall sein könnte.


    Ansonsten zeige bitte mal deinen gesamten Code und teile kurz mit was für ein Ergebnis du erwartest und was für eines du stattdessen erhältst.

    Entweder nutzt du absteigende Selektoren (so wie du es in deinem CSS Beispiel auch tust), die auf das Element zutreffen, oder du benutzt eine Klasse.


    Dein CSS Selektor trifft nur auf Elemente zu, die im Dokument so platziert sind:


    HTML
    <element id="cssmenu">
        <ul>
            <ul>
                <li>
                    <a>

    Hey,


    Syntax Highlighting bedeutet, dass dein Code farblich hervorgehoben wird. Das ist für HTML und CSS noch wenig spektakkulär, jedoch schön zu haben. Das sieht dann z. B. bei uns im Forum so aus:


    HTML
    <div id="container">
        <p>Nichts <strong>Besonderes</strong>.</p>
    </div>
    CSS
    #container {
        padding: 5px 3px;
        color: #363636;
    }


    Durch den recht einfachen und eintönigen Aufbau von HTML und CSS entfällt die Wichtigkeit. Wenn man aber anfängt mit Programmier- und Skriptsprachen zu arbeiten, wird es irgendwann wichtig schnell zu erkennen wo ein Funktionsaufruf stattfindet und wo Variablen zugewiesen werden etc.


    Du kannst nicht jedes Textverarbeitungsprogramm nutzen. Quellcode sollte man immer mit entsprechenden Editoren anlegen. MS Word, der Open Office Writer und andere fügen neben dem reinen Text auch Formatierungen mit in die gespeicherte Datei ein, was sie als Quellcode-Datei unbrauchbar macht. Editoren gibt es zum Beispiel folgende:


    Brackets
    Sublime Text
    Atom
    Visual Studio Code


    Und viele andere, wie auch das bereits erwähnte Notepad++. Alle sind recht ähnlich, bieten fortgeschrittenen Nutzern aber unterschiedliche Funktionen und jeder hat seinen eigenen Geschmack.


    Header sind nicht schwer zu verstehen. Dabei handelt es sich lediglich um Textbausteine welche du beim editieren nicht siehst, die aber von deinem Editor mit abgespeichert und später z. B. vom Browser wieder abgerufen werden. Darin wird zum Beispiel die angesprochene Kodierung eingefügt.

    Hey,


    vielen Dank für deine Anmerkung. Ich habe derzeit nicht den großen Überblick über den genauen Inhalt des Seminars, werde das aber mal prüfen und weiterleiten.


    Grundsätzlich solltest du alle deine Dateien mit dem utf-8 Format speichern.


    Die Kodierung wird in Metadaten gespeichert. Normalerweise solltest du zwischen verschiedenen Editoren keine Probleme haben


    Der Windows Editor ist da eine Ausnahme. Hier wird die Kodierung zusätzlich als Byte Order Mark am Anfang der Datei angefügt. Die Zeichen sind unsichtbar, führen jedoch oft zu Problemen mit HTML/CSS/PHP/Javascript/etc. Interpretern und anderen Editoren. Auf die Verwendung solltest du verzichten.


    Hier gibt es im Seminar noch 1-2 Worte zu Headern.

    Zitat

    aber gebracht hatten sie leider nichts


    Genau so wenig wie deine Fehlermeldungen ohne deinen Code um überhaupt zu wissen was du da machst..


    Und zwar so, dass die Zeilennummern mit den Fehlermeldungen übereinstimmen.


    Warum nicht einfach:



    Nach wie vor bin ich der Meinung, der Fehler liegt nicht in deinem Code.


    Code
    Warning: include(land.php): failed to open stream: No such file or directory


    Sagt doch eigentlich alles und ist selbsterklärend.


    Das widerspricht dann wiederrum deiner Aussage, alles funktioniere, bis "error404.php" aufgerufen werden soll.

    Dein Code ist so korrekt. Das Problem liegt also woanders.


    An genau welcher Stelle des Codes erwartest du genau welches Ergebnis und was passiert stattdessen? Schau mal zwischendurch mittels var_dump was in $p und $r passiert.


    Du brauchst übrigens nach default kein break mehr.

    Es gibt keinen besseren Weg. Javascript ist hier das (einzige) Mittel zur Wahl. HTML unterstützt keine asynchrone Methode um Bilder zu laden und nur Javascript (mit Ausnahmen) kann den Seiteninhalt asynchron verändern.

    Verzeihung, meine Schuld.


    Ich habe auf die Schnelle 2 Fehler im Javascript eingebaut, habe diese jetzt im obigen Beitrag behoben. Ich habe es in deinem Codepen Beispiel im Internet Explorer ausprobiert und es funktioniert jetzt (zumindest bei mir :D ).

    Ja das kann ich so bestätigen. Schuld ist, dass der Klick im IE nicht auf dem Label registriert wird, sondern auf dem Bild. Ich habe ein kurzes Javascript Workaround geschrieben.


    Gib den Bildern in den Labeln IDs und trage sie in das imageIds Array ein, dann sollte das auch im IE gehen.


    Ah. Ich war nur verwirrt da der Pfeil nicht wirklich in der Mitte ist und ich dein beschriebenes Verhalten nicht erlebt habe.


    Bei Klick auf den Link springt die Seite nach oben, was ja nach folgendem Code auch zu erwarten ist:


    HTML
    <a href="#">


    Das Untermenü bleibt davon unberührt, dieses wird nur angezeigt oder verborgen wenn ich den Pfeil klicke und da springt nichts.


    Firefox 46.0.1.

    Welche Version des Internet Explorers?


    Wie hast du das Icon erstell? Chrome z. B. kommt mit simpel umbenannten Bitmaps klar, IE nicht.


    Der Internet Explorer läd Favicons nur beim ersten Besuch der Seite. Leere deinen Cache und versuche es erneut.


    Ansonsten so versuchen:


    HTML
    <link rel="icon" href="favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">