zu 1:
Denk mal darüber nach.. du aktualisierst die Seite oder rufst die Seite auf, ohne vorher einen Eintrag gemacht und mit submit abgeschickt hast... naaa? Dann ist die Variabel $_POST['editor1'] nicht gesetzt - du musst also in deiner Index Datei einen Weg finden, wie du erkennst, ob gesetzt oder nicht gesetzt ist und für den Fall, dass es diese Variabel nicht gibt, musst du den Codeteil, wo sie benutzt wird, eben überspringen.
Nutze mal deine Suchmaschine und schau was du unter 'PHP if isset'... bzw 'PHP if !isset' findest - und dann nochmal der dringende Rat, befasse dich mit den Grundlagen von PHP, sonst wirst du nicht viel Spaß mit deiner Webseite haben.
zu 2:
Indem du in deiner 'while' Schleife einfach zusätzlich zu den Werten, die du 'echo' ausgibst, eben noch einen Container ausgibst, den du mit CSS so formatierst, dass das von dir gewünschte Ergebnis rauskommt.
zu 3:
Das habe ich dir weiter oben (Beitrag #12) schon beantwortet... schau dir den Link in diesem Beitrag nochmal genau an und versuche herauszubekommen, was 'ASC' und 'DESC' in einer solchen Abfrage wohl für eine Bedeutung haben?
Beiträge von Sailor
-
-
Oh jeeeeee.... so gar nicht! Was ist denn mit den Änderungen, die du nach meinem Beitrag #6 schon durchgeführt hattest und wo dann das $_POST['editor1'] schon übergeben und von dir auf dem Bildschirm ausgegeben wurde? ... schon wieder vergessen?
Und dann gehört der Code für das Schreiben in die Datenbank natürlich auch in die 'index.php'! In der 'internal.php' existiert die Variabel $_POST['editor1'] nicht, die wird erst erzeugt und an die Adresse gesendet, die im action="..." angegeben ist, wenn du auf Submit klickst - du müsstest jedes mal eine Fehlermeldung bekommen, wenn du die nutzen willst. Hast du die Fehlermeldungen vom PHP deaktiviert?
Also mach das mal richtig und poste deinen korrigierten Code, wenn du weiterhin Probleme damit hast. -
Ja... aber nun mach doch einfach mal - wenn es nicht klappt, kannst du ja nachfragen. Wird schon schief gehen.
Denk aber daran, du musst du Datenbank 'öffnen', bevor du reinschreiben und lesen kannst. -
Nun ja... der Weg ist schon mal richtig.
Du solltest beim schreiben in die Datenbank aber nicht einen String nehmen
Sondern die Variabel übergeben, die den Wert enthält, den du speichern willst...
Dann führt die Anweisung 'ORDER BY id' wohl dazu, dass du den ältesten Beitrag zuerst ausgibst - du wolltest doch den Neuesten ganz oben haben... oder?
Schau mal hier
https://www.w3schools.com/sql/sql_orderby.asp
Und dann solltest du bei der Ausgabe des Ergebnisse in der letzten 'echo' Zeile nicht noch einmal den Wert
nutzen. Sonst hast du 'created_by' doppelt drin und der Text aus 'html_code' wird gar nicht ausgegeben. -
Ja.. ich kann mich da @Bandit nur anschließen... das hier könnte dir weiter helfen
https://www.php-einfach.de/mysql-tutorial/mysql-installieren/
vielleicht müsstest du noch etwas an deinen PHP Fertigkeiten arbeiten, denn von dem, was man so von außen sehen kann, stehst du da wohl noch sehr am Anfang. -
Ersetze mal die Codezeile
in deiner 'internal.php' durch
Damit sollte dann deine Eingabe bei klicken auf Submit nach index.php übertragen werden.
Es sollte dann bei
auch die übergebenen Inhalte angezeigt werden.
Damit wird allerdings nichts gespeichert... und vorherige Einträge sind auch keine da, noch hast du ja nichts gespeichert -
Das $_POST Array und insbesondere der Eintrag $_POST['editor1'], beinhaltet nur dann Werte, wenn du das Array vorher mittels eines Formulars (<form target=".." method="post"> ...deine Inputs... </form>) an die Seite gesendet hast, auf der du mit den Werten arbeiten willst. Wenn du das nichts machst, existiert weder $_POST['editor1'].. noch kannst du diesen Inhalt mit echo ausgeben.
Das müsste im übrigen bei beiden deiner php Seiten so passieren, zumindest beim ersten Aufruf der Seite 'internal.php', denn $_POST['editor1'] aus dem Input..
existiert erst dann, wenn du den Wert von textarea mit
abgeschickt hast. -
Die Ursache liegt (nach meiner Einschätzung) in den diversen Formatierungen mittels 'float'. Da die 'gefloateten' Elemente quasi aus Textfluss raus genommen sind sind, weiß der Container div.personenabschnitt nicht so recht, wie hoch er eigentlich sein sollte ... bis dann das 'Problem-h2' kommt.
h2 ohne float in einem div und jede Menge gefloatete Elemente zwischen zwischen dem Anfang des divs und dem h2 ... das könnte es sein...Abhilfe:
Nachtrag:
Oder besser das Layout auf Flexbox umstellen - damit hat man diese Probleme nicht. -
Du musst für jeden deiner Verwandten eine eigene, vollständige .html Seite erstellen... zB für die Oma die Seite 'oma.html'.
In dem Hyperlink, der zu dieser Seite führt... also die Seite beim Klicken auf den Link öffnet musst du statt..
einfügen. -
-
Das Problem liegt darin begründet, dass du mit "float" das betreffende Element aus den Textfluss heraus nimmst und somit der Browser den Platz, den das Element im Textfluss einnehmen würde, eben ignoriert.
Eine einfache... aber unschöne... Methode um das zu verhindern wäre, wenn du ein Element hinter das letzte gefloatete Element einfügst... zB ein <br>... und dem dann im CSS das Format 'clear: both;' zuweist, um das 'float' des vorherigen Elementes aufzuheben und den Browser zu zwingen eine Ausgabe (Zeilenumbruch) zu machen, die dann noch innerhalb des div '.buchungsinfo_rahmen' (hinter den gefloateten Elementen) eingefügt wird.Besser wäre allerdings auf Float zu verzichten und stattdessen die beiden Container mit 'Flex-Box' einzufügen...
https://css-tricks.com/snippets/css/a-guide-to-flexbox/ -
Dann sieht das wohl schlecht aus... mir wäre nicht bekannt, dass POST oder GET Daten irgendwo protokolliert werden.
Frag doch am besten deinen Provider. -
Darüber gibt es eine beinahe unendliche Fülle von Informationen und Tutorials im INet... einfach mal nach Media Queries suchen.
Ist aber echt kein Hexenwerk... wenn du die Breite XXXXpx ermittelt hast, ab der andere Einstellungen gelten sollen, dann notiere einfach am Ende deines CSS..Und zwischen diese {} dann das, was ab dieser Breite anders sein soll.
Sollte eine Mediaquery nicht reichen, weil irgendwann durch Zeilenumbruch noch mehr Zeilen entstehen, kann man auch weiter Mediaqueries mit anderen Werten anhängen.
-
Bau das Formular doch einfach so auf, dass es sich nicht ohne die Zustimmung (zB angekreuzte Checkbox) abschicken lässt, dann ist das Problem gelöst. Der Beweis liegt vor, wenn das Formular gesendet wird.
-
-
Zitat
Problem ist die feste Größe von Navigation und damit die uneigenständige Skalierung bei der unschönen Lösung!!!
Dem könnte an mit MediaQueries abhelfen... vorausgesetzt, dass die Inhalte der Headline nicht dynamisch erzeugt werden.Ansonsten bin ich leider ziemlich ratlos - die Höhe des Navi-Div im Flex-Container wird vom Browser nicht berücksichtigt und somit 'überscrolled' die Anzeige um die Höhe der Navigation.
-
Ja... ist bei mir auch so. Sieht so aus, als würde dieses Div bei der 'height-Berechnung' vom Browser nicht berücksichtigt, denn in etwa um diese Höhe ragen left3 und right3 nach unten über die sichtbare Anzeige hinaus. Sehr seltsam... eine Lösung dafür habe ich aber nicht.
Poste nochmal deinen kompletten Code im jetzigen Stand - vielleicht hat ja sonst jemand eine Idee, woran das liegen könnte.- - - Aktualisiert - - -
Eine 'Bastellösung' hätte ich.
Das <div class="navigation"> ... </div> im Quellcode vor das <div class="flex-container"> positionieren - dann ist es aus dem Flex raus.
Im CSS für .navigation
Dann für .maincontent...HTML.maincontent { display: flex; padding: 5px; height: calc(100vh - 20px); width: 100vw; margin-top: 20px; }
Nicht besonders hübsch... aber sollte funktionieren: -
-
Ist Error Reporting aktiviert...
am Anfang des Codes? Wenn ja, bekommst du eine Fehlermeldung.flush(); alleine funktioniert manchmal nicht. Besser wäre
oder auch
siehe auch http://php.net/manual/de/function.ob-flush.php
Des weiteren kann dir auch der Server bzw dessen Konfiguration einen Streich spielen, zB bei 1&1 bekommst du keine Ausgabe mit flush(). Das sollte dir aber angezeigt werden, wenn Error Reporting aktiviert ist.
-