@ Antares: Du musst dir das so vorstellen: das, das du in die "Mitte" (oder wo auch immer hin) per PHP eonfügen lässt, ist keine richtige Datei (wird zumindest vom Browser, etc. nicht so behandelt), sondern es ist, als würde statt dem PHP-Zeugs der Inhalt der Datei stehen. Also du schreibst z.B.
Der Browser bekommt aber (z.B. für $content = "faq") nur folgendes zu sehen:
Der PHP-Interpreter fügt die Datei faq.html einfach in die normale HTML-Datei ein. Daher gehören, wie Milchbox schon gesagt hat, auch keine <html>, <head> oder <body>-Tags hinein.
@ all: Was ist eigentlich so schlimm an Frames? Ich will sie nicht verteidigen, aber würde doch gerne wissen, was ihr alle gegen sie habt. Ich lasse mich gern dazu überreden, künftig auf sie zu verzichten, wenn's sinnvoll ist.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Das wird so nicht funktionieren, wenn du immer nach class ein Leerzeichen, dann ein = und dann nochmal ein Leerzeichen setzt. O.o
@ Frames:
- Suchmaschinen können keine Framesets durchsuchen
- Frames sind veraltet und wirken schlichtweg unprofessionell
- Frames verbrauchen mehr Traffic, weil immer Header und alles mitgeschickt werden muss
- Dadurch resultiert auch eine längere Ladezeit
- Nicht jeder Browser unterstützt Frames, auch wenns das noframes Element gibt
- Frames fallen in zukünftigen HTML Versionen wahrscheinlich flach
- Du kannst keine einzelne Seite ansteuern (immer nur auf den Index)
Ich include doch eine .php Datei, die sich im Ordner "Content" befindet, ja?
Der Inhalt dieser Datei wird dann in der Mitte angezeigt. Demnach braucht die .php Datei doch einen Inhalt.
Den Inhalt, kann ich diesen in HTML erstellen?
Das heißt einfach eine .php Datei erstellen, und dann kann ich auch einfach <table> <tbody><td>...etc. hineinschreiben?
Ich include doch eine .php Datei, die sich im Ordner "Content" befindet, ja?
Der Inhalt dieser Datei wird dann in der Mitte angezeigt. Demnach braucht die .php Datei doch einen Inhalt.
Den Inhalt, kann ich diesen in HTML erstellen?
Das heißt einfach eine .php Datei erstellen, und dann kann ich auch einfach <table> <tbody><td>...etc. hineinschreiben?
...
Ja. Nur halt keine <head><html><body> Attribute, da der Inhalt dieser einzelnen PHP Dateien ja direkt in den Teil reinkommt, in dem vorher der php Code war.
Deshalb darfst du eigentlich alle normalen Sachen reintun.
Du kannst zum Beispiel auch in der Datei, in die nachher was reinincludet wird, ein <table> Tag anfangen und in der includeten Datei beenden.
so, ich glaub bin ein wenig schlauer...
doch funktionieren einige Sachen noch net...
seht selbst: http://ismi.is.funpic.de/test/index.php
(in Adressleiste einfügen und enter...)
wenn ich nun auf Artikel klicke, dann öffnet es die artikel.php nicht im main Teil, sondern in ganz einem neuen Fenster... was iss wrong?
-und ist es nicht besser, den css teil in ner eigenen Datei anzulegen??? hab ich mal gelesen...
-wie kann ich ein Bild als Titel einfügen (also oberhalb vom navigation und main teil,,,)??
-kann ich im css teil auch definieren, dass z.B. <t> bedeutet: grösse soundso und farbe sounso???
-wie kann ich die ganze Seite zentrieren???
-wie kann ich die Hintergrundfarbe von allem verändern? (ist im Moment grau, doch hab ich ja nix definiert...)
Anstatt <a href="artikel.php?content=Artikel">-Artikel</a> musst du <a href="index.php?content=Artikel">-Artikel</a> schreiben. Mit allem anderen Links auch.
Demach muss die Startseite ja dann index.php heißen oder?
Zitat von NPC Fighter
Ja. Nur halt keine <head><html><body> Attribute, da der Inhalt dieser einzelnen PHP Dateien ja direkt in den Teil reinkommt, in dem vorher der php Code war.
Deshalb darfst du eigentlich alle normalen Sachen reintun.
Du kannst zum Beispiel auch in der Datei, in die nachher was reinincludet wird, ein <table> Tag anfangen und in der includeten Datei beenden.
...
Könnte ich eigentlich auch eine .htm(l) Datei benutzen, anstatt eine PHP Datei?
Demach muss die Startseite ja dann index.php heißen oder?
...
Kann auch anders heißen, dann müsstest du halt alle "index.php" im Sourcecode in den neuen Namen ändern. Aber für dieses spezielle Beispiel muss die übergeordnete Datei, in der die Inhalte angezeigt werden sollen, tatsächlich "index.php" heißen.
Zitat
Könnte ich eigentlich auch eine .htm(l) Datei benutzen, anstatt eine PHP Datei?
...
Als übergeordnete Datei natürlich nicht, aber als Inhalt fürs "include (babla.php)" natürlich, hat auch schon irgendjemand hier gesagt.
Zitat von ismi
-und ist es nicht besser, den css teil in ner eigenen Datei anzulegen??? hab ich mal gelesen...
...
Mach's wie du willst und schau, was dir besser gefällt. Hat alles Vor- und Nachteile.
Zitat
-wie kann ich ein Bild als Titel einfügen (also oberhalb vom navigation und main teil,,,)??
...
Du schreibst oben in den Body ein IMG-Tag und änderst die Positionsangaben der DIVs dementsprechend.
Zitat
-kann ich im css teil auch definieren, dass z.B. <t> bedeutet: grösse soundso und farbe sounso???
...
Soweit ich weiß, nein. Du könntest stattdessen aber leicht z.B. eine SPAN-Klasse so definieren. "<SPAN CLASS = 'xyz'>" ist zwar etwas mehr zu schreiben als "<T>", aber das Ergebnis ist das selbe.
-wie kann ich die Hintergrundfarbe von allem verändern? (ist im Moment grau, doch hab ich ja nix definiert...)
...
CSS: "body { background: X }"
HTML: "<BODY BGCOLOR = 'X'>"
Wobei X jeweils eine Hex-RGB-Angabe oder eine vordefinierte Farbe wie "red" sein kann.
Zitat von NPC Fighter
Das wird so nicht funktionieren, wenn du immer nach class ein Leerzeichen, dann ein = und dann nochmal ein Leerzeichen setzt. O.o
...
Blödsinn, natürlich funktioniert das! Du hast es offensichtlich noch nie ausprobiert, daher solltest du's wohl nicht sofort als falsch hinstellen!
Ich finde es schaut deutlich übersichtlicher und weniger gedrängt aus, daher habe ich mir das schon vor längerem angewohnt. Und alle meine Sites laufen trotzdem.
@ NPC in punkto Frames: OK, danke für die Liste!
@ "Einzelne Sites nicht ansteuerbar": Man kann ja zur NOt auf "Nur diesen Frame anzeigen" gehen, wenn man unbedingt will. Bei DIVs oder Tabellen geht das allerdings nicht, also ist das sogar eher ein Pluspunkt.
@ "Unprofessionell und altmodisch": Das ist noch immer eine Frage des "Wie", man kann sicher auch professionell aussehende Sites mit Frames machen.
Aber insgesamt erscheint's mir schon logisch. Aber das Verwenden von fix positionierten DIVs wäre demnach in Ordnung, oder?
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
@ "Einzelne Sites nicht ansteuerbar": Man kann ja zur NOt auf "Nur diesen Frame anzeigen" gehen, wenn man unbedingt will. Bei DIVs oder Tabellen geht das allerdings nicht, also ist das sogar eher ein Pluspunkt.
...
Wenn du willst, dass Besucher auf deiner Seite bleiben (was recht optimal wäre, nich?), wohl eher nicht.
Zitat
@ "Unprofessionell und altmodisch": Das ist noch immer eine Frage des "Wie", man kann sicher auch professionell aussehende Sites mit Frames machen.
...
Altmodisch sind Frames allemal und von wegen Professionalität: Ich denke mal, dass kein guter Webdesigner, der seine Arbeit gegen Geld macht, es sich leisten kann, mit Frames zu arbeiten. Professionalität zeigt sich nicht nur in der Optik, sondern auch am (hoffentlich) sauberen Code.
@ Leerzeichen: Gott, ich sollte mir vielleicht mal so eine HTML für Dummies Reihe zulegen. o.O
@ Antares: Du musst dir das so vorstellen: das, das du in die "Mitte" (oder wo auch immer hin) per PHP eonfügen lässt, ist keine richtige Datei (wird zumindest vom Browser, etc. nicht so behandelt), sondern es ist, als würde statt dem PHP-Zeugs der Inhalt der Datei stehen. Also du schreibst z.B.
Der Browser bekommt aber (z.B. für $content = "faq") nur folgendes zu sehen:
Der PHP-Interpreter fügt die Datei faq.html einfach in die normale HTML-Datei ein. Daher gehören, wie Milchbox schon gesagt hat, auch keine <html>, <head> oder <body>-Tags hinein.
@ all: Was ist eigentlich so schlimm an Frames? Ich will sie nicht verteidigen, aber würde doch gerne wissen, was ihr alle gegen sie habt. Ich lasse mich gern dazu überreden, künftig auf sie zu verzichten, wenn's sinnvoll ist.
...
OMG: Das ist das absolut unvalidetste was ich je gesehen hab. Ich galub seit 3 oder 4 Jahren schreibt man Tags nicht mehr gross.
@Milchbox: Yeehah! Du benutzt ja plötztlich <div>^^
@ismi:
1. Ja es ist besser den CSS Teil in eine eigene Datei zu tun. Vorallem solltest du innerhalb des HTML Codes kein style="" zu nutzen. Das gesamte CSS sollte aussenstehen. Kannst ja ein wenig auf http://www.csszengarden.com und http://www.intensivstation.ch gucken.
2. Ich würde dir nicht empfehlen das ganze mit einem <img> Tag zu lösen. Eigentlich sollte Design und Content voneinander getrennt sein. Du kannst das ganze über css lösen:
3. Nein, du kannst nur vorgegene Tags nutzen. Das ganze könntest du mit <span class="bla">Der Text</span> lösen ODER Tags wie Adress nutzen. Ist IMO einfacher als mit Klassen.
4. Hat der Affe schon gesagt.
5.
OMG: Das ist das absolut unvalidetste was ich je gesehen hab. Ich galub seit 3 oder 4 Jahren schreibt man Tags nicht mehr gross.
...
WTF? Echt jetzt!?! Warum sagt mir das keine Sau? Ich hab noch die Code-Conventions gelernt, wo man alle Tags groß schreiben sollte. Hatte keinen Schimmer, dass sich das geändert hat. Wo kann ich solche Änderungen nachschauen?
Außerdem: a) kannst du das doch auch freundlicher sagen und
b) hast du sicher schon unvalidere Sachen gesehen, du übertreibst!
Zitat
2. Ich würde dir nicht empfehlen das ganze mit einem <img> Tag zu lösen. Eigentlich sollte Design und Content voneinander getrennt sein. Du kannst das ganze über css lösen:
...
Das würde es doch im Hintergrund anzeigen und nicht als Titel.
Zitat
3. Nein, du kannst nur vorgegene Tags nutzen. Das ganze könntest du mit <span class="bla">Der Text</span> lösen ODER Tags wie Adress nutzen. Ist IMO einfacher als mit Klassen.
...
Das hat der Affe doch auch schon gesagt! (Hey, Moment mal! o_O)
Zitat
5.
...
Das auch, nur das ich mich bei CSS in der Eigenschaft geirrt habe...
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
WTF? Echt jetzt!?! Warum sagt mir das keine Sau? Ich hab noch die Code-Conventions gelernt, wo man alle Tags groß schreiben sollte. Hatte keinen Schimmer, dass sich das geändert hat. Wo kann ich solche Änderungen nachschauen?
Außerdem: a) kannst du das doch auch freundlicher sagen und
b) hast du sicher schon unvalidere Sachen gesehen, du übertreibst!
...
Sowas kannst du normal auf den Seiten des W3C nachlesen.
also, langsam versteh ichs nicht mehr...
hab jetzt so ziemlich alles so gemacht wie Befohlen...
doch erstens zeigts die Hntergrundfarbe nicht an, und die Links funktionieren immer noch nicht... (WARUM?)
beim zentrieren der Seite blick ich auch nicht durch... daher ists nur als comment drinn...
wenn ich mit einer externen .css arbeiten will, ist dann der Teil, der die Rahmen etc. definiert auch in der, oder bleibt der in der index.php???
wenn ich im css teil vor body ein Punkt mache, dann gehts nicht mehr, und wenn ich den Pt vor Navigation weg nehm dann gehts auch nicht meht, warum? Bzw was ist der unterschied?
also, langsam versteh ichs nicht mehr...
hab jetzt so ziemlich alles so gemacht wie Befohlen...
doch erstens zeigts die Hntergrundfarbe nicht an, und die Links funktionieren immer noch nicht... (WARUM?)
...
Weil du (wie ich's gesagt habe ) "background" statt dem richtigen "background-color" genommen hast. Änder das und es müsste klappen.
Alternativ kannst du auch - imo einfacher - ins <body>-Tag noch "bgcolor = '#08215A'" reinschreiben. Also <body bgcolor = "#08215A">.
PS: Ich habe mir den Quellcode deiner Site mal angehen und weiß jetzt glaube ich, warum der Hintergrund grau ist. Bei der Poll, die du anscheinend automatisch anforderst, wird im CSS-Teil ebenfalls eine Hintergrundfarbe definiert, nämlich #777777, grau. Ob es daher wirklich klappen wird, wenn du das "background" richtest, weiß ich nicht, da es sein könnte, dass das vom zweiten Stylesheet überschrieben wird.
Zitat
beim zentrieren der Seite blick ich auch nicht durch... daher ists nur als comment drinn...
...
Das habe ich selbst noch nie gemacht, daher wiß ich's ncht genau. Entdecke auch keinen offensichtlichen Fehler, nur dass man afaik in CSS nicht mit "<!--" auskommentieren kann. Du kannst die Center-Klasse ja einfach normal drin stehen lassen, solange sie nicht verwendet hat ist sie egal.
Zitat
wenn ich mit einer externen .css arbeiten will, ist dann der Teil, der die Rahmen etc. definiert auch in der, oder bleibt der in der index.php???
...
Du kopierst einfach alles, was zwischen <style type = "text/css"> und </style> schreibst, kopierst es in eine neue Datei, die du als .css abspeicherst, löscht die <style> und </style>-Tags aus der PHP-Datei und inkludierst die CSS-Datei mit '<link rel = "stylesheet" ...' , wie es weiter oben schon von wem beschrieben wurde. Das ist alles.
Hoffe, das war's, was du mit der Frage gemeint hast.
Zitat
wenn ich im css teil vor body ein Punkt mache, dann gehts nicht mehr, und wenn ich den Pt vor Navigation weg nehm dann gehts auch nicht meht, warum? Bzw was ist der unterschied?
...
Ganz einfach: mit "body" definierst du einen bestimmten Style für ein Tag (nämlich "<body>", da gehört kein Pnkt davor. Punkte vor dem Namen zeigen Klassen an (wie eben "Navigation"), die dann erst mit 'class = "soundso"' inkludiert werden müssen. "body" muss nicht inkludiert werden, es ist automatisch in allen (wobei's bei "body" natürlich nur eins ist) <body>-Tags vorhanden.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
kann mir jmd. erklären, wie php wissen soll, was in der Variable $content steht?
hätte mich mächtig gewundert, wenn solche Links funktioniert hätten! schreib da mal statt "$content" ein "$_GET['content']" hin, danach sollte es funktionieren...
Zitat von ismi
...
*g* nett, du willst einen Emaillink includen! das geht nicht, Php kann nur Dateien includen, wie jede andere Sprache auch... da musst du bei deinem Link kein content angeben, sondern einen normalen email-link machen - wie früher, als du noch ohne Php gearbeitet hast
- nochwas: wenn du Php mal lernen willst, und nicht nur Code abschreiben willst, dann empfehle ich dir php-q.net , da gibts ein sehr gutes Tutorial. ansonsten kannst du dich auch einfach bei mir per PN melden, dann bastel ich dir deine HP nach deinen wünschen zusammen - dann hätt ich mal wieder was zu tun
Also, es klappt alles wunderbar.
Naja ich hab dann eben noch die Variante ein wenig erweitert.
Jetzt wird rechts ncoh ein Navimenu zu dem entsprechenden Inhalt der Mitte angezeigt.
Danke nochmal für die Hilfe
*Edit*
Eine Funktion habe ich nch irgendwie gesehen die heißt "goto" (xyz.php?goto=wieauchimmer)
Worum handelt es sich da, und wie funktioniert es?
Überhaupt keiner, es ist lediglich der Name einer Variablen. Du könntest in deiner Datei genausogut alle (und nur wenn wirklich alle) "$content" durch "$dasisteinhaus" ersetzen, nur das "$content" eben mehr über den Zweck der Variablen aussagt.
Zitat
Eine Frage noch, wie binde ich eine PHP Datei auf normale Weise (also ohne eine Switch Abfrage) ein.
Denn in der index.php muss ich das ja tun.
...
Wenn du meinst, wie du die Standard-Datei, die ohne GET-Variable da ist, inkludierst: das wird schon durch den Default-Case ("default:") gemacht.
Falls du's wirklich so meinst, wie du's geschrieben hast:
Einbinden ohne Switch-Abfrage.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.