Meine Navi geht hinter dem content auf!

  • ey ... ihr seit echt super, hab schon gedacht jetzt komm ich wieder mit so einem scheiß und jeder lacht sich tot ... nein ihr nicht! danke, danke, danke. Das CSS unten macht genau was ich wollte, passt pefekt :) Vielen Danke!!!


    achso das mit dem min-height hatte ich schonmal rausgenommen, is wohl wieder beim ganzen rückgängig machen und wieder herstellen wieder reingerutscht :)

    Und wenn du deine Verlinkung eine anderen Background geben willst , und beim hovern noch mal eine andere Farbe , versuche es mal so

    Code
    1. #naviL > ul > li.braun a{
    2. background:red;
    3. }
    4. #naviL > ul > li.braun:hover a{
    5. background:green;
    6. }
  • Mit meiner Seite bin ich fast fertig, nun bin ich am Gästebuch angekommen, da ich nun gemerkt habe das sich so einige geändert hat musste ich auch festellen das „mysqli_fetch_array” und „phpentities” nicht mehr unterstützt werden. Nun hab ich, auch weil ich endlich fertig werden will, mir das Gästebuch von php-einfach vorgenommen und auf mein layout angepasst. Dann musste ich feststellen das man immer genau nur einen eintrag machen kann, beim 2ten eintrag kommt die Meldung „Beim abspeichern ist leider ein Fehler aufgetreten”. Dann hab ich gedacht das ich beim abschreiben und anpassen vielleicht ein Fehler gemacht habe und hab das einfach mal so rein kopiert mit dem gleichen Ergebnis. Dann dachte ich, ok, kopier das mal einfach in eine leere Seite und versuche das nochmal. aber auch da klappt nur ein eintrag. Ich weiß nicht mehr weiter!

    hier noch 2 Bilder, einmal das abgelehnte auf der Seite und dann meine Tabellenstruktur

    achso und der codepen link:

    https://codepen.io/RohbieP/pen/ZEGrPjw

  • habe erstmal andere Fragen.

    Warum das ?

    HTML
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

    wie wäre es mit html 5 ?

    HTML
    1. <!doctype html>
    2. <html lang="de">
    3. usw..

    Dann kann man die attributen löschen

    Code
    1. type="text/javascript"
    2. type="text/css"

    Warum dies ?

    Code
    1. Aufl&auml;ufe

    Da du ja  <meta charset="utf-8"> benutzt darfst du gerne auch Ä,Ö,Ü und ß schreiben.


    Bedenke auch das solche Angaben

    Code
    1. #content{
    2. position: absolute;
    3. left: 145px;
    4. top: 252px;
    5. min-height:835px;
    6. width: 710px;
    7. }

    Eine responsive Webseite fast unmöglich macht.

  • ich hab das mit html5 schon mitbekommen, hab aber bis jetzt nur xhtml gelernt, und da ich schon so weit fortgeschritten war mit den ganzen Seiten wollte ich das nicht nochmal alles ändern. Das mit dem

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

    hab ich im zuge meiner damaligen Ausbildung so gelernt, auch das man die Umlaute besser so schreibt damit sie überall angezeigt werden hab ich da gelernt. Und es mag ja sein das man unter html5 das alles nicht mehr braucht, und ich habe mir fest vorgenommen (schon als ich gemerkt habe das mir flex gar nichts gesagt hat) das sobald ich die Side von meiner Cousine fertig habe, werd ich mich vom Anfang bis zum Ende durch den kurs „selfhtml” arbeiten, danach werde ich mich „java” widmen und dann noch den „PHP Kurs” machen, ehrlich, weils mich auch wirklich interessiert und Spaß macht, aber jetzt will ich erstmal die Side fertig kriegen damit ich meine Kopf endlich frei davon habe und dann damit anfangen kann. :)

    Also meinst du wenn ich meinen Kopf rausnehm und nur das nehm

    1. <!doctype html>
    2. <html lang="de">

    funktioniert dann das Gästebuch und der Rest der Seiten auch noch, oder muss ich wirklich alles ändern, also erst den Kurs machen und dann nochmal ganz neu anfangen? Oder stimmt was mit dem PHP-Skript nicht?


    Und das mit der responsive Webseite, ich weiß das, hat wahrscheinlich was mit dem Flex zu tun, aber erstmal will ich die jetzt so fertig kriegen. Wenn meiner Cousine das nicht passt, dann ebend nicht, einem geschenkten Gaul sollte man nicht ins Maul gucken, mir hat es zumindest viel gebracht und vor allem anderen hat es mir meine Grenzen aufgezeigt und das ich nochmal von vorn Anfangen muss, aber bitte nicht mit dieser Seite :).


    Ich weiß nicht ob du das Gefühl kennst wenn ich was angefangen habe muss ich es zuende bringen, auch wenn ich ein schlechten Film gucke kann ich nicht mittendrin oder kurz vor Schluß aufhören zu gucken, das macht mich wahnsinnig!


    Also kannst du oder jemand anderes mir helfen das hier zuende zu bringen ohne ganz neu anzufangen? Wenn das reicht das Doctype und das html zu ändern, alles klar bin ich dabei.

  • Also meinst du wenn ich meinen Kopf rausnehm und nur das nehm
    <!doctype html>
    <html lang="de">

    funktioniert dann das Gästebuch und der Rest der Seiten auch noch,

    Das sollte normalerweiße noch fuunktionieren.

    Das kannst du ja leicht testen.



    Und das mit der responsive Webseite, ich weiß das, hat wahrscheinlich was mit dem Flex zu tun,

    Nicht unbedingt.

    Flexbox erleichtert dir die arbeit um responsive Webseiten herzustellen.

    Es ginge auch ohne Flexbox doch würde ich Anfänger das empfehlen mit Flexbox zu machen.


    Wegen dein Php Script.

    Du schreibst das nach den ersten Beitrag ein neuer Beitrag nicht mehr funktioniert.

    Kannst du den wieder schreiben wenn du zurück Navigierst und dann einen Beitrag schreibst ?


    Auf den ersten blick kann ich kein Problem sehen , dafür müßte ich es einmal selber runterladen und testen.

    Kann das sein das das Gästebuch eine Reloadsperre hat oder eine Ipsperre die man einstellen kann wann der nächste Beitrag von der Ip kommen darf ?

  • RohbieP

    Bin jetzt mal deine Posts durchgegangen und wollte ein paar Sachen anmerken:


    Bzgl. der Sichtbarkeit deiner Unternavigation, die du mit z-index "repariert" hast, bitte benutze z-index nicht, um etwas ein-/auszublenden.

    Das kannst du besser mit display machen.


    ... hätte ich gern das, wenn ich auf die seite asiagerichte geh, das alle links die mit asiagerichte (also bis zur Sweet Chilli Sauce) zu tun haben auf der seite gleich braun (das gleiche braun welches beim hoover erscheint) eingefärbt ist, ich dachte das ich das mit class lösen kann, aber das funktioniert nicht.

    Das Funktioniert deshalb nicht, weil deine Versuche

    eine Klasse ansprechen wollen, die keine deiner li's IM NAVIL hat. Im naviO hast du in deinem HTML-Code entsprechende Klasse gesetzt, daher erscheint dein Menüeintrag "Gästebuch" mit entsprechender Hintergrundfarbe.

    Auch ist es nicht so toll, wenn du ein Klassennamen mehrmals mit verschiedenen Dingen, abhängig vom Elternelement stylest. Das ist einfach nur unnötig und verwirrend. Solche Sachen solltest du ohnehin, wie Stef (es funktioniert, Stef, nur muss CSS & HTML sich natürlich auch "finden". Die Tilde ist in diesem Fall nicht nötig) bereits sagte mit hovern des Elternelements erledigen, also ohne Klassen.


    Noch paar Sachen bzgl. deiner CSS, welche ich kurz erwähnen wollte:

    • Absolute Positionierung sollte nur wenn es notwendig ist eingesetzt werden. Und "float" braucht man heute überhaupt nicht mehr.
    • Relativ positionierte Objekte würde ich nicht mit top, left ect., sondern mit margin positionieren.
    • Z-Index brauchst du bei richtiger Seitenerstellung normalerweise nicht
    • "font:inherit" ist sinnlos. Zum einen wird automatisch an Kindelemente vererbt, zum anderen sehe ich in deiner CSS an dieser Stelle keine Font-Angabe, die da vererbt werden könnte.
    • Die Media-Querie Angabe in der CSS, die du in einem deiner ersten Posts hattest, macht plötzlich Angaben in em, obwohl du sonst immer Pixel verwendest. Ist auch nicht so obtimal.
    • Eigenschaften, die du öfters angibst ("list-style" für ul oder "text-decoration" für a) wären einmal "global" angegeben besser.

    -----------------------------


    Zum Gästebuch:

    Dein Problem mit dem Error beim zweiten Eintrag hängt wohl davon ab, wie du ihn gemacht hast:


    • Bist du zurück gegangen (das Formular wird ja nach einem Eintrag nicht angezeigt)?
    • Hast du die Seite neu geladen?
    • Eine schnelle Fehlerquelle ist es natürlich auch, Code einfach mit C&P zu übernehmen ohne ihn zu verstehen & anzupassen.

    Ich hab das Gästebuch mal lokal bei mir getestet und bekomme keinen Fehler.


    -----------------------------


    Zu HTML(5) & deiner Cousine:

    Den Kopf zu HTML5 zu ändern hat keine auswirkungen auf den restlichen Code, mach dir da mal keine Gedanken.

    Und das du die Seite für deine Cousine machst ist toll, aber trotzdem solltest du es nicht mit dem Ziel "hauptsache es funktioniert" beenden.

    Die Seite soll sicherlich auch online gehen, da muss man das ganze schon bischen "ernster" und vollständig machen. Auch bzgl. Datenschutz. Wenn ich in deinem Code zum Beispiel sehe, das du die Email einer Person im Gästebucheintrag mit mailto hinter dem Namen nutzt, das ist nicht so schön. Die Email sollte echt nicht öffentlich sein!



    Ich hab deine Seite jetzt mal ein wenig geändert:


    • Einige Fehler (z.B. "gastebook" bei INSERT) korrigiert


    HTML:

    • Die vielen Leerzeilen entfernt und Einrückungen gesetzt. Ist deutlich lesbarer.
    • Ein paar moderne Tags zur Seitenstrukturierung angewendet.
    • Nicht alle deine Klassen & ID's übernommen
    • Beispiel mit einer möglichen Unternavigation(bei Aufläufe & Soßen). Die Farben und das Hover-Verhalten lassen sich leicht anpassen
    • Das ganze ein wenig responsiv gemacht (nocht nicht optimal, ist nur ein Ansatz!).


    FORM:

    • "autocomplete" ausgeschaltet. Die Angaben brauch ich nicht sonstwo (Der Browser merkt die sich).
    • Label-Tags anstatt einen Paragraphen.
    • Die type-Angabe kann bei Text weggelassen werden (ist der Standard).
    • "maxlength" realistisch gesetzt (du hattest 250 Zeichen bei Name & Email).
    • Einen richtigen Button anstatt eines Input-Elements genommen.
    • Die Größe der Textarea im CSS gesetzt und nicht mit cols & rows angegeben.
    • "required" gesetzt und die leer-Abfragen von Name & Email aus PHP entfernt.


    PHP:

    • Den Code lesbarer eingerückt und die Variable "$error" etwas besser verwendet.
    • Die Status-Ausgaben in HTML-Tags gesetzt und mit etwas Abstand versehen.
    • Die Ausgabe der Einträge und die Seitenzahlen angepasst.


    Hier mal paar Bilder:

    Bild1.jpgBild2.jpgBild3.jpgBild4.jpg


    Und hier der Link zu Codepen

  • Hey :)

    Man hast du den Nagel auf den Kopf getroffen. Mit dem Datenschutz ... mit dem rauskopieren und nicht verstehen ...und ...ach so vieles mehr.

    Erstmal danke für deine Hilfe, wirklich das du dich so mit mir auseinandersetzt ist wirklich große Kino, danke! Ich hoffe das klingt nicht zu kriecherisch, aber ich geh auf die 60 zu, hab die letzten 8-10 Jahre nicht soviel von html usw. mtbekommen und bin so froh Hilfe zu kriegen.

    Ich hab mir mal alles rauskopiert und ausgedruckt was du mir geschrieben hast, dann hab ich mal deins aus codepen rauskopiert, natürlich mit der css, und in htdocs gepackt, aufgemacht, eingetragen und ich bekomm schon wieder nur einen eintrag hin, beim 2ten sagt er mir fehler beim eintrag, hab ich da vielleicht ein fehler in der DB oder Tabelle (ich hab da nochmal ein Bild von der Struktur hoch geladen)?

    Das mit der Navi hab ich schon anders gelöst, gefällt mir auch besser so wie es jetzt ist, als wenn es so rauspopt und über den Text geht. Das mit dem CSS geh ich nochmal durch und kuck mir auch mal an wie du das gemacht hast, aber ich hab das Gefühl das ändert nichts an dem Problem mit dem 2ten Eintrag im Gaestebuch.

    Also wenn ich in meinem Gästebuch, beim ersten eintrag auf „eintragen ” klick dann geht die seite Gästebuch auf mit dem Eintrag, ohne das Formular, und wenn ich dann wieder auf Gästebuch klick geht die Seite mit dem Formular auf und da unter steht der erste eintrag.

    Außerdem würde ich da gern nochmal eine wahrscheinlich ziemlich dumme frage stellen (egal, hab mich hier ja sowieso schon als Idiot geoutet :) ), und zwar zu Bild drei. Wenn ich das in Notepad kopiere und das noch ein normaler Text ist das steht alles ganz normal in schwarz da erst wenn ich es als html oder php speicher kommen die farblichen unterschiede zum vorschein, jetzt meine Frage, ist das richtig das required noch so da in schwarz steht wie im textdkument, oder muss da ein Attribut vor und required in Anführungszeichen?

    gaestenext.jpgTabelle.jpgrequired.jpg

  • Hi RohbieP


    Das "required"-Attribut ist richtig. Notepad++ zeigt das halt schwarz an, habs grad auch mal geprüft(nutze sonst VS Code).


    Dein Problem bei den Einträgen liegt daran, das du die Tabelle wahrscheinlich durch die SQL-Anweisung auf php-einfach erstellt hast.

    Diese vergisst leider eine Kleinigkeit.

    Die ID setzt du als Primärschlüssel, was auch richtig ist. Leider setzt die Anweisung auf php-einfach neben dieser fehlenden Angabe die ID-Spalte auch nicht auf autoincrement (automatische Werterhöhung).

    AutoIncrement.jpg


    Das heißt, jeder Eintrag hat bei dir die ID "0". Ein Primärschlüssel darf aber nicht zweimal den selben Wert haben, daher der Fehler.

    Setze (wie im Bild) ein Hacken bei A.I der ID-Spalte, dann klappts.