Beiträge von DER

    Habe das Problem gelöst. habe nicht der <nav> einen overflow gegeben, sondern der Liste. Jetzt ist die Scrollbar ganz im Bild.

    Was soll das Mini Menü im Header denn zu sagen haben? Soll das da hin oder was soll das da?

    Ja, ein leeres Element mach ja wenig Sinn.

    Das ist ne ganze Menge für ein einfaches Schulprojekt.


    mit "z-index" kannst Du bestimmen, ob Elemente andere überdecken sollen, wobei die höhe der Zahl bestimmt, wie weit das Element im Vordergrund steht.


    Die höhe eines Elements kannst Du in CSS mit "height" bestimmen,


    Mit "rgba()" kannst Du bestimmen wie stark eine Farbe auf einem Element liegen soll. Mittels Javascript könntest Du diese CSS Eigenschaft dann für den gesamten body, außer deiner Navi aktivieren. Dafür empfehle ich wieder JQuery:


    Code
    1. $('#navi-knopf').click(function() {
    2. $('body').addClass('abdunkeln');
    3. });
    4. /*CSS:*/
    5. .abdunkeln > #navigation { background-color: rgba(0, 0, 0, 0.5); }

    PS: Code wurde nicht getestet.

    Hallo, bin gerade auf ein Problem gestoßen, wo ich nicht ganz die Lösung weiß.


    Es geht um das Design Problem, dass ich versuche einem Element, welches fixed ist, aber über den Bildschirm hinausragt, eine Scrollbar zu geben, das blöde ist, dass dieses Element teilweise auch von einem anderem bedeckt ist.


    Die Sidebar auf https://www.youtube.com/ ist das beste Beispiel und genauso wie da hätte ich es gerne. Leider ist der Code da sehr unübersichtlich.


    Vielleicht hat jemand mit so etwas schon Erfahrung und kann mir weiterhelfen?


    Zur Zeit sieht es bei mir so aus, wie auf dem Bild. Im Code hat die Navi eine höhe von 100% und die Listung ist einfach weiter runter gesetzt.


    Code
    1. nav { width: 260px; height: 100%; position: fixed; top: 0px; left: 0px; background-color: #3d3d3d; border-right: 2px #000000 solid; color: #898989; overflow: scroll; }
    2. .navheader { padding: 8px; }
    3. nav ul { margin-top: 100px; margin-left: -2.50em; }
    4. nav ul li { list-style: none; background-color: #1c1c1c; }
    5. nav ul li a { padding: 10px; display: block; color: #a5a5a5; text-decoration: none; }
    6. nav ul li a:hover { background-color: #2d2d2d; }
    Zitat

    Parse error: syntax error, unexpected 'nachname' (T_STRING), expecting ',' or ';'

    Du hast php Code innerhalb eines Strings geschrieben, logischerweise erkennt PHP diesen nicht als Code.

    In Zeile 70 musst du die If Bedingung aus den Anführungszeichen entfernen.

    Ansonsten gibt es durch HTML5 besser Methoden, dafür zu sorgen, dass die Felder nicht leer abgeschickt werden. Ich verstehe das Skript nicht sonderlich.


    Hier mal ein paar Tipps, wie es besser geht:


    Du musst nach einem echo nicht alles in einen String packen. Du kannst auch das PHP schließen (?>) und dann normalen HTML Code schreiben. Danach öffnest Du wieder PHP (<?php). Das macht deinen Code übersichtlicher und man erkennt Fehler schneller.


    die empty() Funktion ist zwar ein wichtiger Bestandteil von PHP, allerdings kannst Du deine <input> Fleder durch das Attribut 'required' erweitern. Dadurch wird dein Formular gar nicht erst abgeschickt, wenn das Feld leer ist.


    Wenn Du Anführungszeichen innerhalb eines Strings setzen willst, musst Du vor diesen ein '\' setzen.


    PHP
    1. <?php echo "Hier kommen Anführungszeichen: \'Hallo!\'"; ?>


    Und hier dein echo in besser:


    Um jetzt mal ein Statement hier abzuliefern, nach grade mal einer (!) Stunde:


    Ich glaube, ich habe mich verliebt. PDO funktioniert so simple, wie nichts anderes. Selbst HTML Tags müssen gegen diese Einfachheit einpacken.


    Möglicherweise liegt es auch nur daran, dass ich so ein super Tutorial gefunden habe: https://phpdelusions.net/pdo#dsn


    "The only proper way to use PDO" - bis jetzt hat der Autor vollkommen recht. Mal gucken, wie es weiter geht.


    Ich hatte gerade bei DBs immer große Angst vor neuem, weil MySQL damals einfach die Hölle war. Und damals hatte ich Ahnung von nichts, MySQL hat mich total überfordert. Als dann MySQLi frisch war, hatte man beim Coden das Problem, das der Code Editior noch nicht die Funktionen kannte und einem das Leben jedes mal zu Hölle gemacht hat. Außerdem sah man vor Allem als Anfänger nicht den Grund von MySQL auf MySQLi umzusteigen - man hörte immer nur, dass das neue sicherer sei, aber gerade beim programmieren hat sich das einem überhaupt nicht erschlossen.


    Bis jetzt kann ich auf jeden Fall dieses Tutorial empfehlen, welches es schafft, statements in eine Zeile zu packen, wofür ich vorher 5 gebraucht habe.

    Zitat

    Wird man kaum noch Seiten finden die das anbieten

    Richtig, trotzdem sollte man drauf achten, das wesentliche Funktionen, wie das aufrufen eines Menüs auch ohne JS möglich ist.


    Achten nur leider die wenigsten Entwickler drauf. Wenn man bedenkt, dass es sogar noch Websiten von IT-Firmen gibt, welche rein auf den Flashplayer basieren...

    Tatsächlich habe ich es jetzt soweit hingekriegt, was aber natürlich nicht heißt, dass der nächste Fehler mit dem nächstem Statement kommt. Und ja, das Projekt ist noch sehr jung.


    Daher frage ich einfach mal: Was meinst du mit "Möglichkeiten"? Ist MySQLi nicht eigentlich DIE solide DB?

    Hallo, meine SQL Abfrage, ob ein bestimmter Username schon vergeben ist, funktioniert nicht:


    Und ich verstehe einfach nicht, wieso. Habe bereits vieles ausprobiert, anderen Code-Schreibweisen verwendet und öfters den Code neu geschrieben, aber alles ist nutzlos. Jedes mal kommt die Meldung "alles gut", was nicht sein dürfte.

    Grundsätzlich versucht man natürlich JS aus Funktionen herauszuhalten, welche die Funktionalität der Seite stark beeinträchtigen.


    Über die Pseudoklasse :target kann man ganz ohne JS solche Menüs entwerfen.


    https://www.html-seminar.de/toggle-menue-ohne-javascript.htm


    dabei lässt man "Menü" erstmal durch CSS ausblenden, um es mit :target wieder einblenden zu lassen.


    Wenn Du unbedingt die JavaScript Variante willst, empfehle ich dir JQuery zu nutzen:


    https://code.jquery.com/jquery-3.3.1.min.js


    Herunterladen, einbinden und weiter:


    Code
    1. $('#Menü-Knopf-zum-einblenden').click(function(){
    2. $('#Menü-id').fadeIn();
    3. })
    4. });

    Es gibt genau dafür die Media Queries und dafür benötigt man nur CSS und eine Zeile HTML.


    Media Queries im Aufbau:


    Code
    1. @media only screen and (max-width:500px) {
    2. header { background-color: blue; }
    3. }
    4. <!--Das hier im <head> Bereich von HTML -->
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

    Füge diesen Code in dein CSS ein, und verkleinere deinen Browser Bildschirm. Ab einer größe von 500px ist dein Header dann Blau.


    Das "only screen" beschreibt, dass die Seite die darauffolgenden Anweisungen nur für den Bildschirm verwenden soll. Man kann auch "only print" angeben, dann folgen Anweisungen für den Drucker, falls man die Seite drucken möchte.


    Das "(max-width:500px)" beschreibt, ab welcher Bildschirmgröße diese Query wirken soll.


    Ich hoffe, dadurch wird das ganze für dich klarer.