Beiträge von tk1234

    Es scheint also in der Tat am Server zu liegen.

    Sag ich doch seit #8 …

    Vielleicht werde ich mich mal nach Servern mit ähnlichen Freiheiten wie Infinityfree umschauen, welche jedoch die Zugänglichkeit eines 000webhost mit sich bringen.

    Du wirst keinen perfekten Webhoster finden der nichts kostet - die Server und deren Betrieb kosten nun einmal Geld. Es gibt aber durchaus Webhoster ohne solch merkwürdige Einschränkungen bei denen du reichlich Speicherplatz bekommst. Bei meinem sind bereits beim kleinsten Paket (je nach Laufzeit zwischen 17 und 30 Euro/Jahr) 25 GB Speicher und unbegrenzter Traffic dabei - ähnlich ist das bei aktuellen Paketen anderer Anbieter ebenfalls. Ich glaube auch nicht dass dein Hoster es wirklich zulässt dass du da beliebig viel Daten hoch lädst. Such dir einfach ein Paket für ein paar Euro im Jahr, dann hast du das Problem mit merkwürdig konfigurierten Servern nicht.

    Alle Wörter werden erkannt, h1 h2 h3 werden erkannt, alles tutti.

    Ich glaube du hast das Problem noch nicht wirklich verstanden: bei deiner Seite *können* die diversen Tools nichts erkennen da sie nichts ausgeliefert bekommen - die bekommen nur ein Happen Javascript und sonst nichts!

    Das begreife ich noch nicht gänzlich. Heißt das, dass man keinen Inhalt angezeigt bekommt, wenn man Cookies und Javascript deaktiviert?

    Richtig. Es wird dann nur der Quelltext aus #8 ausgeliefert. Das passiert übrigens auch wenn du deine Cookies löschst und dann auf die Seite gehst, nur führt der Browser das Javascript üblicherweise sofort aus und bekommt dann die eigentliche Seite ausgeliefert - du merkst das nur an dem ?i=1 was dann an der URL hängt.

    Ich weiß nicht wie viel technisches Verständnis deine Freunde haben, aber um Cookies und Javascript auszuschalten muss man schon wissen wo man hinklicken muss, die wenigsten werden das machen - ich habe es auch nur gemacht da die Wörter in dem SEO-Tool darauf hingedeutet haben dass da irgendwas anderes ausgeliefert wird, vermutet hatte ich irgendein Javascript. Probier es doch einfach mal aus was passiert wenn du Javascript und/oder Cookies abschaltest …

    Tut mir leid, aber Pixel für Break-Points sind richtig und zulässig. Das heißt nicht, das die Einheit "em" nicht funktioniert oder gar falsch ist. Beide Einheiten können gleichwertig verwendet werden.

    Nein. Relevant für Break-Points sind nicht irgendwelche Bildschirmbreiten sondern die Inhalte der Seite - und die bemisst man eben in em, nicht in px.

    Zudem habe ich nur ein Beispiel für eine Lösung gegeben, die funktioniert.

    Ein Fan von fertigen "Lösungen" war ich noch nie - so lernt der OP garnichts.

    Wenn du eine Grid-Lösung hast die genau so funktioniert - gerne her damit.

    Ein kleines Beispiel:

    (das Javascript ist nur dazu da die Buttons zu erzeugen) Damit werden immer so viele Buttons in einer Zeile gezeigt wie eben rein passen wobei die Buttons mindestens 10em breit sein müssen. Ich muss dir allerdings recht geben: was der OP genau will ist nicht so ganz klar, evtl. sollen immer 8 Buttons untereinander stehen? Ist aber auch kein Problem: einfach in section mehrere Blöcke mit je 8 Buttons einfügen, dann werden die gemeinsam verteilt je nach Platzbedarf.

    ANDERERSEITS: frage ich mich auch, ist das denn alles notwendig? Ich meine, der Inhalt, den ich rüberbringen will wird doch angezeigt. Also ein Mensch kann meine Seite öffnen und den Artikel lesen, sich durch die Navigation klicken, buttons betätigen etc.

    Wenn er Cookies und Javascript aktiviert hat und auch keines von beidem auf dem Weg zu ihm irgendwo blockiert wird.

    Mir geht es nur darum, dass die Seite auch durch Suchmaschinen anhand des Inhalts gefunden wird

    Da dieses Javascript anscheinend dazu da ist Bots abzuhalten würde ich mal vermuten dass auch Suchmaschinenbots abgehalten werden - und falls der Server auf z.B. den Google-Bot anders reagiert könnte Google da u.U. verschnupft darauf reagieren. Du kannst bei Suchmaschinen aber einfach überprüfen was sie auf deiner Seite finden, einfach nach "site:domain" suchen, bei Google hilft evtl. auch ein Blick in die Webmaster-Tools.

    Nachtrag: PHP[1] scheint nicht schuld zu sein, die CSS-Datei wird auch nur ausgeliefert wenn der Cookie vorhanden ist. Das Problem ist dein Free-Hoster (wohl infinityfree.net, nicht .com?) - die haben eben den Nachteil auch mal sowas einzubauen. Google spuckt zu dem Thema auch was aus (Suchworte "infinityfree.net cookie"), genau habe ich das jetzt nicht gelesen, das überlasse ich dir - in die Richtung solltest du aber ggf. weitersuchen.


    [1] btw: deine PHP-Version ist veraltet, verwende mindestens PHP 7.3, alle kleineren Versionen werden nicht mehr unterstützt.

    Ich Rate mal das die probleme von deiner include Suppe kommt.

    Schwachsinn! Hast du eigentlich gelesen (und verstanden) was ich oben geschrieben habe? Einfach mal die Seite mit deaktiviertem Javascript oder Cookies aufrufen (ggf. Cookies vorher löschen), du wirst eine einzeilige Meldung bekommen das Javascript nicht aktiviert sei bzw. zu Google-Seite wie man Cookies aktiviert, weitergeleitet werden.

    Die include-Orgie mag ungewöhnlich sein, das Problem ist die aber nicht - das hast du ja bewiesen da es bei dir funktioniert.


    Das Problem liegt irgendwo in den Servereinstellungen, da muss der OP aber schon selbst nachschauen bzw. seinen Provider fragen. Suchorte für die Einstellungen sind .htaccess-Dateien, PHP-Einstellungen[1] (auto_prepend_file fällt mir da ein) aber auch die Apache-Konfiguration selbst auf die man aber idR keinen Zugriff hat.


    [1] es wäre interessant was passiert wenn man eine reine HTML-Seite verwendet - wird dann auch das Javascript ausgeliefert oder gleich der richtige Code?

    Ich hab's extra in verschiedenen Foren geschrieben. Den die Foren kann man untereinander nicht vergleichen.

    Wie du siehst gibt es immer welche die in mehreren Foren unterwegs sind - und egal ob vergleichbar oder nicht: es ist unverschämt einfach die gleiche Frage in mehreren Foren gleichzeitig zu stellen und damit mehrere Leute unabhängig voneinander mit dem gleichen Problem zu beschäftigen.

    Meine Seite bezieht ihr Aussehen aus einem separaten Ordner mit lauter .php Dateien welche jeweils Fragmente des Aufbaus wie navbar, sidebar, footer etc. beinhalten.

    Das wissen wir inzwischen schon - das ist aber völlig irrelevant. Wie eine Seite vom Server zusammengebaut wird, ist völlig irrelevant, wichtig ist nur dass der Inhalt beim Client (egal ob Browser, Suchmaschine oder auch SEO-Tool) ankommt - und genau das ist bei dir nicht der Fall. Es wird - beim ersten Request - eben *nicht* das ausgeliefert was du vermutest, sondern das was ich in #8 gepostet habe. Um die Meldung selbst zu sehen musst du nur Javascript abschalten und ggf. noch die Cookies löschen.

    Der Javascript ist ein Test gewesen, Google Adsense zu verknüpfen (ist gelungen).

    Das von mir gepostete Javascript hat doch nichts mit Google zu tun? Ich weiß nicht was du genau gemacht hast, auf jeden Fall musst du aber dafür sorgen dass gleich beim ersten Request die eigentliche Seite ausgeliefert wird - wie das geht, kann ich dir nicht sagen, was du da am Server gemacht/eingestellt hast, musst du schon selbst wissen.

    Die erste erstellte und vorab mit Textausschnitten befüllte Seite ist: http://[…]/workout_plans.php

    Nein, ist es nicht. Diese Seite liefert nur

    HTML
    <html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("fb4b2f15a129b426b74de1b3c408c8c7");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://arnoldkessler.gq/pages/workout_plans.php?i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html>

    als Inhalt - und das ist eben nicht besonders viel Text. Nur wenn ein Cookie gesetzt ist wird die eigentliche Seite ausgeliefert (zumindest ist das meine Vermutung) - und da das Onlinetool keinen Cookie mitschickt bekommt es eben den Code oben vorgesetzt, welcher eben nicht viel Text enthält. Das hätte dir allerdings auch auffallen müssen, die eine Seite oben zeigt doch genau an welchen Text es auf der Seite findet (einen klassischen "der Autor ist zu doof eine Seite richtig zu machen und gibt nur eine wenig hilfreiche Fehlermeldung aus"-Text).

    Den 403er in dem anderen Tool bekommst du weil der Server bei bestimmten Browsernamen mit einem 403er antwortet - deswegen musste ich bei wget den Parameter --user-agent bemühen.


    Warum das komische Javascript ausgegeben wird, solltest du schon selbst wissen, du hast es ja so eingerichtet - wenn nicht musst du bei deinem Hoster nachfragen.

    Findest du es höflich die Frage etwas wirr in den Betreff zu quetschen und sonst nur den Quältext hin zu klatschen?

    $md5passwort = md5($Passwort);

    Nein! Passwörter dürfen niemals im Klartext gespeichert werden (md5 gilt als nicht mehr sicher und ist damit quasi wie Klartext), verwende password_hash()! Und wofür ist die sinnlose Umkopiererei der Wert aus $_POST? Du kannst $_POST auch direkt in execute verwenden.


    <label>Restaurantname:</label>
    <input class="form-control" type="text" maxlength="160" name="Restaurantname">

    Das input hat keine Beschriftung - woher soll der Browser wissen welches label zu welchem input gehört? Verwende das for-Attribut oder schließe <label> erst hinter <input>.

    Klar kann ich diese posten .

    Warum machst du es dann nicht? Und nein, das Bild ist nicht die Datenbankstruktur. Aber gut, die 0 ist evtl. nur ein konvertiertes false aber warum das nicht so funktioniert wie du willst steht in #4 …

    Geht das auch ohne das ich ein kostenpflichtiges SSL bestellen muss.

    Prinzipiell ja, Let’s Encrypt existiert. Allerdings seid ihr dafür beim falschen Provider: bei Domainfactory kannst du entweder ein SSL-Zertifikat dazu kaufen oder einen SSL-Proxy verwenden (ja, die bieten das ernsthaft als "Lösung" an!) - beides ist absolut nicht mehr zeitgemäß, ich würde euch raten den Provider zu wechseln, es gibt reichlich günstige Angebote bei denen ein Let's Encrypt-Zertifikat dabei ist.

    Wie schon geschrieben: das Script taugt nichts. Es fehlen völlig wenigstens ein Hinweis auf flex und grid fürs Layout, für Größen wird immer die falsche Einheit verwendet (kein pt/px verwenden!) und das Thema media-Querys habe ich garnicht gesehen. Welche Seite ich dir empfehlen würde siehst du schon an den Links im Text: SELFHTML.


    Dein #wrap-Element ist überflüssig, es gibt schon ein Element das alles umschließt: body. Aber nein, #wrap und footer sind nicht gleich breit: footer hat noch einen Rahmen und der kommt noch auf die Breite drauf - zumindest wenn die Eigenschaft box-sizing nicht auf border-box gesetzt wurde. Allerdings sind deine Breitenangaben ohnehin alle falsch und gehören weg: die Breiten (und auch Höhen) werden vom Browser automatisch gesetzt wenn man grid/flex verwendet. Noch ein Tipp: um Fehler in der Darstellung zu finden sind die Entwicklertools in den Browsern sehr hilfreich, erreichbar sind die idR über F12 bzw. das Kontextmenü ("untersuchen" o.ä.).


    Dein HTML-Code enthält übrigens doch einen Fehler: <h3> wird nicht geschlossen, auch im CSS sind zwei Fehler: "font-family" und "line-height" sind falsch geschrieben (einmal Bindestrich, einmal E zu wenig). Vom logischen Aufbau ist das HTML auch falsch: #wrap (wie schon geschrieben) ist überflüssig, #hauptschrift wäre gern ein <h1>, <h3> ein <h2> sowie <h5> ein <h3> - sonst fehlen ja Ebenen in der Hierarchie. das <h1> ganz unten sollte eigentlich eher ein <p> sein, eine Überschrift scheint mir das nicht zu sein. In <main> gehört imho der ganze Seiteninhalt, also auch das <article>.


    Wo hast du main und article als Text eingefügt? Da stehen nur zwei Kommentare mit <main></main> bzw. <article> </article> als Inhalt - und die werden natürlich nicht dargestellt. Aber natürlich lässt sich auch HTML-Quelltext auf einer Seite darstellen.


    btw: du weißt das der Support von Windows 7 Anfang des Jahres eingestellt wurde?

    Ich kenne Vanilla JS nicht, […]

    Dann informier dich was das ist. Tipp: das ist ganz einfach normales Javascript ohne irgendein Framework - womit sich auch die Frage erübrigt ob Vanilla JS und jQuery zusammen eingesetzt werden können.

    Was heißt den du verwendest 3 x Jquery ?

    Das heißt dass du den entscheidenden Punkt übersehen hast: zwischen »3« und »x« steht ist noch ein Punkt - womit nicht jQuery dreimal eingesetzt wird sondern eine 3er-Version davon …

    Ich hab von Redis keine Ahnung, aber dieses "return $ObjectMap;" scheint mir falsch zu sein, lass das mal weg (und vergiss nicht die Variable vorzubelegen sonst bekommst du eine Warning bzw. Notice).