Brauche fachkundige Aussage zu Xhtml und PHP!
sandra76
- meinung
0 Rainer0 Der Martin0 Struppi0 RFZ0 Ingo Turski0 Auge0 sandra760 Steffi
Hallo Zusammen!
Ich hoffe ich bringe das ganze im richtigen Thread.
Leider bin ich inzwischen total verwirrt und zu gegeben auch ein wenig entnervt. Daher wäre ich Euch sehr dankbar, wenn ihr mich aufklären könntet oder vielleicht ein paar Tip's hättet wie ich es richtig mache.
Mein Problem besteht wie folgt: Meine erste HP habe ich mit einem Baukasten gebastelt, dann wollte ich es aber selber machen und habe mich auf den Hosenboden gesetzt und eifrig gelernt. Und habe mich in HTML, XHTML und CSS eingearbeitet und den Sinn und Zweck verstanden und auch nun in mein neues Projekt umgesetzt.
Bin dann auch sehr stolz, das ich selbst ohne Java und sonstigen Schnickschnack ein horizontales Aufklappmenü wie, mit Hilfe von Selfhtml demonstriert hinbekommen habe, auch wenn es eben nicht perfekt ist. Da das ganze eine Gildenseite wird, hatte ich mich auch um entsprechenden Server mit Php und Datenbanken gekümmert und die zusätzlichen Skripte laufen dort soweit auch. Also Forum etc..
Jetzt ist es nur so, das ich einen Memberbereich einrichten möchte. Im Design habe ich auch schön eine Seitenleiste vorgesehen,wo dann später Login, etc. rein soll und nun nach langem Suchen auch ein passendes Tool gefunden, welches sogar eine Schnittstelle zum Forum hat. Tja soweit so gut, oder eben auch nicht...
Ich habe nicht daran gedacht, das die Logindaten ja mit PHP entsprechend eingebunden werden müssen und das funktioniert scheinbar soweit ich das gelesen habe nur unter der Option:
a: über einen I-frame (Da ich aber nun xhtml-strict verwende, ist das ja nicht erlaubt)
b: jede Seite als php-seite zu speichern und den php-code an entsprechender stelle einzufügen
Sehe ich das bis hierhin richtig???
Und warum bin ich dann so stolz darauf gewesen, das jede Seite andstandslos durch den Validator ging? Ich mein schon klar, das PhP nicht die Html ersetzt und diese dementsprechend sauber geschrieben sein sollte, aber ist es nicht schwachsinnig, wenn's dann keiner mehr sieht da am ende .php steht?
Dann hätte ich doch ebensogut die ganze HP mit PhP schreiben können(bzw. direkt PhP gelernt und nicht erst den Rest oder? Und durch den Validator geht die Seite dann als .php doch nicht mehr oder???
Ich weiss ist vielleicht ein wenig überspitzt, Code ist ja dennoch ok...aber bin halt total gefrustet.
Wie würde man das denn jetzt richtig machen? Jede Seite wirklich als PHP abspeichern?
Wie lösen das denn Profis? Auf den großen HP von Firmen etc. gibt es doch auch min. einen ständigen Login zu sehen oder Suchoptionen etc., und da ist doch immer ein Skript notwendig oder?
Nun erstmal danke für's zu hören. Wie würdet ihr das denn nun machen?
Oder gibt es doch noch eine ganz andere Lösung???
Liebe Grüße Sandra.
Hallo Sandra,
ob als Dateiendung .php, .html oder sonst was steht ist dem Validator doch völlig egal.
Und wieso sollte man mit PHP kein valides HTML, XHTML, XML oder sonst was erzeugen können?
Irgendwie hast du dich wirklich verwirren lassen.
Gruß Rainer
Moin Sandra,
Ich hoffe ich bringe das ganze im richtigen Thread.
weiß ich nicht - ich verstehe nämlich noch nicht ganz, was du mit diesem Posting *konkret* erreichen willst.
Mein Problem besteht wie folgt: Meine erste HP habe ich mit einem Baukasten gebastelt, dann wollte ich es aber selber machen und habe mich auf den Hosenboden gesetzt und eifrig gelernt. Und habe mich in HTML, XHTML und CSS eingearbeitet und den Sinn und Zweck verstanden und auch nun in mein neues Projekt umgesetzt.
Das ist doch schon was!
Ich habe nicht daran gedacht, das die Logindaten ja mit PHP entsprechend eingebunden werden müssen ...
Ab hier verstehe ich allmählich nicht mehr, was du damit meinst. Wieso willst du "die Logindaten einbinden"? Die gibt doch der *Benutzer* einmal ein. Oder meinst du die Eingabemaske (das Formular) fürs Login?
b: jede Seite als php-seite zu speichern und den php-code an entsprechender stelle einzufügen
Und warum auch nicht? Was ist dabei?
Sehe ich das bis hierhin richtig???
Da bin ich mir nicht ganz sicher; ich vermute aber, nein.
Und warum bin ich dann so stolz darauf gewesen, das jede Seite andstandslos durch den Validator ging? Ich mein schon klar, das PhP nicht die Html ersetzt und diese dementsprechend sauber geschrieben sein sollte, aber ist es nicht schwachsinnig, wenn's dann keiner mehr sieht da am ende .php steht?
Natürlich - es sieht trotzdem jeder, der sich mal den Quellcode anschaut. Oder auch der Validator, der dir vielleicht immer noch sagt, dass du validen XHTML-Strict-Code hast.
Dann hätte ich doch ebensogut die ganze HP mit PhP schreiben können(bzw. direkt PhP gelernt und nicht erst den Rest oder?
Um eine Webseite mit PHP zu schreiben, muss man doch erstmal HTML (und CSS) beherrschen, denn PHP tut ja nichts anderes als den Quelltext zu erzeugen, den der Client nachher sieht. Für den Client ist es nicht unterscheidbar, ob dieser Quellcode statisch als Datei auf dem Server gespeichert wird oder dynamisch von einem Script erzeugt wird.
Und durch den Validator geht die Seite dann als .php doch nicht mehr oder???
Warum nicht? Wenn sie immer noch valide ist, selbstverständlich.
Wie würde man das denn jetzt richtig machen? Jede Seite wirklich als PHP abspeichern?
Was spricht dagegen? Sobald du dynamische Funktionen brauchst (etwa eine benutzerabhängige Ansicht, Datenbankzugrif, etc.), ist das sinnvoll.
Wie lösen das denn Profis? Auf den großen HP von Firmen etc. gibt es doch auch min. einen ständigen Login zu sehen oder Suchoptionen etc., und da ist doch immer ein Skript notwendig oder?
Nicht zur Anzeige dieser Login- oder Suchformulare, sondern nur zur Auswertung derselben. Es ist aber sehr wahrscheinlich, dass dann für die gesamte Site einheitlich dieselbe Technik verwendet wird. Will heißen: Wenn schon PHP, dann durchgehend.
Nun erstmal danke für's zu hören. Wie würdet ihr das denn nun machen?
Oder gibt es doch noch eine ganz andere Lösung???
Tja, wie gesagt: So hundertprozentig habe ich dein Problem noch nicht verstanden, daher tu ich mich auch mit einem Lösungsvorschlag schwer.
Schönen Sonntag noch,
Martin
Ich habe nicht daran gedacht, das die Logindaten ja mit PHP entsprechend eingebunden werden müssen und das funktioniert scheinbar soweit ich das gelesen habe nur unter der Option:
a: über einen I-frame (Da ich aber nun xhtml-strict verwende, ist das ja nicht erlaubt)
Wenn du ein iframe brauchst, warum verwendest du nicht XHTML Transitional oder eine HTML Version, da ist ein iframe erlaubt?
b: jede Seite als php-seite zu speichern und den php-code an entsprechender stelle einzufügen
Dazu hat Rainer schon was gesagt.
Struppi.
Dann hätte ich doch ebensogut die ganze HP mit PhP schreiben können(bzw. direkt PhP gelernt und nicht erst den Rest oder? Und durch den Validator geht die Seite dann als .php doch nicht mehr oder???
Moin,
das ist der typische Anfängerfehler (ist nicht bös gemeint, ist hald so ;) ), zu denken man würde mit PHP Webseiten "programmieren".
PHP ist eine Programmiersprache, damit erzeugt man Programme.
Diese Programme können eine Ausgabe erzeugen, diese Ausgabe kann in HTML gehalten sein und sie kann über den Webserver an deinen Browser geleitet werden, in diesem Fall hätte PHP den Quelltext für deine Seite erzeugt.
PHP muss das aber nicht, ein PHP Skript kann auf deinem Server auch Aufgaben erledigen, ohne dass du jemals was davon im Browser siehst.
Es kann dir seine Rückmeldungen auch via E-Mail schicken oder dir einen Telnet-Zugang dafür bieten - wie gesagt, man schreibt das Programm ja selbst.
Und zu deinem Problem: Der Validator sieht HTML, ob es von dir so in eine .html Datei geschrieben wurde, oder ob dieses HTML von einem PHP Skript erzeugt wurde, ist ihm dabei ziemlich egal.
Auch mit PHP kann man validen HTML Code erzeugen.
Gruß,
Andreas
Hi,
b: jede Seite als php-seite zu speichern und den php-code an entsprechender stelle einzufügen
Sehe ich das bis hierhin richtig???
offenbar nicht, denn Du scheinst noch gar nicht zu wissen, was PHP überhaupt ist. Das ist eine serverseitig interpretierte Scriptsprache, die in ganz normales HTML eingebunden sein kann. Damit PHP-Code vom Server interpretiert wird, muss man ihm das nur "sagen". Dazu kann man bei üblicher Servereinstellung eine .html-Datei einfach in .php umbenennen oder auch die Servereinstellung ändern.
Wenn Dir letzteres nicht möglich ist, dann musst Du lediglich die Dateiendungen ändern. Du hast hierin aber dann immer noch validen XHTML-Code - kannst aber zusätzlichen PHP-Code einfügen und damit auch eine Login-Abfrage. Sofern die von PHP zusätzlich generierten Ausgaben sich an die XHTML-Spezifikation halten, bleibt Deine Seite natürlich auch valide.
Mal ein stark vereinfachtes typisches Beispiel:
<?php require "login.php"; ?> (die Login-Routine wird zwangsweise eingebunden)
XHTML-Code ...
<?php if(!$loggedIn) echo $Formular; ?> (das LogIn-Formular wird ausgegeben)
XHTML-Code ...
Sofern das von PHP ausgegebene Formular valide und an dieser Stelle zulässig ist, bleibt Deine Seite auch insgesamt valide.
freundliche Grüße
Ingo
Hallo
Ich habe nicht daran gedacht, das die Logindaten ja mit PHP entsprechend eingebunden werden müssen und das funktioniert scheinbar soweit ich das gelesen habe nur unter der Option:
...
b: jede Seite als php-seite zu speichern und den php-code an entsprechender stelle einzufügen
Du hast ja schon einiges geschrieben bekommen. Zusammengefasst: PHP ist eine Programmiersprache, die typischerweise auf Webservern eingesetzt wird. Mit PHP kannst du auf Benutzereingaben reagieren, z.B. den Daten, die aus dem Loginformular übergeben werden, du kannst zu bestimmten Zeiten bestimmte Daten aus diversen Quellen (z.B. Dateien, Datenbanken) in deine Website einbinden ("Tip des Tages" oder so), kannst Daten speichern, per Mail versenden etc. pp..
Sobald es darum geht, eine Ausgabe für ein bestimmtes Medium aufzubereiten, geht es _nur_ und _ausschließlich_ darum, einen String so zu formatieren, dass er den Regeln des Ausgabemediums entspricht.
Wenn du mit PHP einen HTML-Quelltext erzeugst, und das ist eine der verbreitetsten Aufgaben von PHP auf Webservern, formatierst du den String entsprechend den (X)HTML-Regeln. Willst du eine Abfrage für eine Datenbank erzeugen, muss der String den Regeln der Datenbanksprache, die du einsetzt, folgen. Das Gleiche gilt für per PHP erzeugte CSS-Regeln oder JavaScript-Anweisungen.
Beim Client, sei es ein Browser, der Validator, der Roboter einer Suchmaschine, wasauchimmer, kommt nur der erzeugte String, also die Ausgabe, an. Vom PHP-Quelltext bekommt der nichts zu sehen. Erledigt die Programmlogik ihre Aufgabe und entspricht die darauf basierende Ausgabe den für das Medium geltenden Regeln (z.B. (X)HTML), hast du deine Aufgabe erfolgreich bestanden.
Tschö, Auge
Hallo Zusammen!
Erst einmal ein dickes "Danke schön", für Eure Mühe und die schnellen Antworten!
Also hab ich mich wirklich verwirren lassen. Ich hatte geglaubt, man setzt halt richtiger Weise nur PHP auf den entsprechenden Seiten ein und es wäre nicht "gut, barrierefrei..." das gesamte Projekt als .php anzulegen.
Also Bsp.: Nur auf der Seite, auf der eine Formularmaske erscheinen soll und auf der später die Ausgabe erfolgen soll. Und ich habe mich da halt verbissen, weil ja die Loin-Eingabe-Maske auf jeder Seite zu sehen sein soll.
Das die Seiten trotzdem validiert werden wusste ich nicht. Kann ich aber nun nach Euren Erklärungen zu dem Thema verstehen.
Nun mein Frust ist jedenfalls abgebaut *lächel* und werde die Seiten als .php speichern.
Mal so ganz allgemein, habt ihr vielleicht Links oder ein gutes Buch zu empfehlen, das sich mit dem Thema auseinander setzt. So nach dem Motto: "Guter Stil, schlechter Stil?". Wann setzt man Skriptsprachen sinnvoll ein? Wann sollte man lieber darauf verzichten?
Also ein Buch, oder eben Artikel im Netz, die sich weniger mit den technischen Seiten auseinander setzen, sondern eben eher Fragen beantworten wie: "Schreibe ich meine Navigation auf jede Seite in die HTML, oder besser per PHP einbinden?"
Vor- und Nachteile, was wird allgemein als bessere Lösung angesehen und warum...
Ich danke Euch für Eure Hilfe und wünsche Euch
eine schönen Sonntag.
Eure Sandra
Hi,
Fragen beantworten wie: "Schreibe ich meine Navigation auf jede Seite in die HTML, oder besser per PHP einbinden?"
Vor- und Nachteile, was wird allgemein als bessere Lösung angesehen und warum...
das solltest Du Dir eigentlich schon selbst beantworten können...
Vorteile: bei Änderungen ist nur eine einzige PHP-Datei hochzuladen
Nachteile: zur Anzeige wird ein Webserver mit PHP benötigt und die Interpretation kostet auch ein wenig mehr - wenn auch meist nicht spürbar - Zeit.
Manche mögen noch hinzufügen, dass dynamisch erstellte Seiten von Suchmaschinen als solche erkannt werden und sich dies negativ auswirken könnte - glaube ich allerdings nicht.
freundliche Grüße
Ingo
Hallo Ingo,
Manche mögen noch hinzufügen, dass dynamisch erstellte Seiten von Suchmaschinen als solche erkannt werden und sich dies negativ auswirken könnte - glaube ich allerdings nicht.
Das stimmt auch nicht. Dateiendungen wie .php oder .asp führen bei Suchmaschinen *NICHT* dazu, dass die Seite nicht oder mit geringerer Priorität indiziert werden. Dazu gibt es viel zu viele derartige Seiten, die ich täglich mit Suchmaschinen finde (ich finde ja sogar oft Forenbeiträge der Form http://.../thread.php?tid=12345 - sogar das wird indiziert).
Viele Grüße,
Christian
Bin dann auch sehr stolz, das ich selbst...
Kannst Du auch. Allerdings ist für Entwickler html und css pillepalle. Es
sind die Basics. Bei php sieht es schon etwas anders aus, insbesondere
solltest Du dich was logins betrifft mit Sicherheitslücken beschäftigen
bzw. ganz allgemein mit dem Thema "Sicherheit".