Ich hab mich mal ein bissl in PHP versucht, ist auch ganz witzig das ganze
Jedoch würde ich jetz gerne meine HomePage umbauen auf PHP.
Wie soll ich das machen?
Per <table> ist es irgendwie scheiße...
Ich möcht es so machen das es wie zB. bei www.rpg-maker.com ist (normales PHP halt)-> Ich scrolle alles stats nur ein Frame (wie in meiner HTML Version).
Wie kann ich also die Frames zusammenführen, und doch jeden "ehemaligen" Fram einzeln austauschen.
(das beste ist, wenn man sich einmal meine homepage angesehen hat: Unten auf meine Signatur klicken-> Auf den Wallpaper klicken-> Einen Anime auswählen (Love Hina/Chobits).
Dadurch ändert sich zB. der linke Frame-> Die Mitte bleibt jedoch gleich (soll so bleiben).
Ist sowas möglich?
---
Desweitern möchte ich Tabellen in zB. tabelle1.txt speichern und per PHP einfügen lassen
---
Kann ich einen "Psyeudo"- Link erstellen ala:
Downloads -> ändert den Wert von $auswahl auf $auswahl = downloads -> Dadurch soll dann in der Mitte die Downloads geladen werden.
---
uarks... was ich mir alles heut in den kopf reingehauen habe
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Wenn du eine URL a la blabla.php?vari=wert&vari2=wert2 hast, steht in der Variablen $_GET['vari'] der Wert 'wert' und in $_GET['vari2'] 'wert2'. Damit kannst du dann feststellen, auf welchen Link der Besucher geklickt hat.
Ansonsten kannst du Tabellen nehmen oder CSS-Layer. Zu letzterem würd ich dir eine Lektüre von SELFHTML wärmstens empfehlen
Wenn ich das recht verstanden hab, willst du nun den Schritt zur Templatestruktur gehen und die ollen Frames zum Teufel schicken.
Sehr gute Entscheidung und mit PHP sehr schön zu bewerkstelligen.
Du kannst bestimmte Bereiche auf deiner Seite mit Inhalten aus Textdateien befüllen indem du Funktionen dieses Schema's verwendest:
Erklärung:
die if-Kontrolle checkt ob die Variable $p, die über die URL übergeben wird (z.B.:http://site.tld/index.php?p=content1), überhaupt einen Wert hat, wenn nicht, wird die Textdatei _main.txt eingebunden.
Das "_" ist ein Zeichen zur Sicherheit damit man nicht alles einfügen lassen kann wozu man lustig ist.
Es gibt aber noch weitere Möglichkeiten das da oben zu gestalten:
Hier hab ich zum einen darauf geachtet spezielle Variablen zu verwenden damit es auch auf Servern mit deaktivierten register_globals läuft (so'n Sicherheitsding ).
Außerdem arbeite ich hier nicht mit .txt-Dateien sondern mit den Dateiendungen .inc.php welche du standardmäßig in vielen Scripten finden wirst.
Das .php hinten dran verhindert das deine Besucher den eventuellen PHP-Code in den Include-Dateien einsehen können da sie ja geparsed werden wenn ein .php hinten dran hängt.
Dann gibt es da noch unzählige Möglichkeiten Fehler abzufangen. Denn wenn jemand eine Falsche Variable mit der URL übergibt (z.B.:http://site.tld/index.php?p=falsch), wird ein PHP-Fehler ausgegeben der besagt, das es die angeforderte _fehler.txt bzw. _fehler.inc.php nicht gibt.
Um das schönder zu gestalten gibt es, wie bereits erwähnt, diverse Möglichkeiten. Du kannst dir damit aber Zeit lassen, ich wolte es nur mal erwähnen.
Du kannst nun also dieses if/include-Konstrukt dazu nutzen dynamisch Content und andere Bestandteile in eine einzelne Datei hineinzuladen in der dein Design definiert ist.
In den hinzugeladenen Dateien gehören allerdings keine <html><head> udn <body>-Tags mehr wie es z6.B. bei Frames üblich ist. Lediglich der dynamisch zu ladende Content inclusive den gestalterischen HTML-Tags gehört da rein.
Wenn du nun also einen neuen Contentbereich in deine Templateseite (welche das Layout deiner Site beinhaltet) und z.B. eine neue Navigationsleiste laden willst, arbeitest du mit 2 der o.g. if/include-Konstrukten. Eine die den Contentbereich reinlädt und eine weitere die die Navigation an die entspr. Stelle lädt.
Du kannst dabei mit 2 Variablen arbeiten. Eine Variable die den zu ladenden Content beschreibt und eine die die zu ladende Navigation beschreibt:
z.B.:http://site.tld/index.php?p=content1&n=nav4
Und dementsprechend natürlich je ein if/include-Konstrukt für die Contentvariable $p und eine für die Navigationsvariable $n.
Das wäre so ziemlich die einfachste Lösung. So wird es auf auf www.sncc.de genutzt.
Es gibt da aber noch weitaus komplexere, elegantere Möglichkeiten, aber damit solltest du dir Zeit lassen.
Wenn du reif für diese Komplexeren Dinge bist, wirst du es selbst merken.
Nun ja, so'n Sicherheitsding lies mein ICQ heiß laufen als bei den selbst ernannten Profis plötzlich keine Skripte mehr funktionierten (seit PHPv4.2 ist register_globals standardmäßig auf Off).
Wie gesagt, man kann mit der Verwendung der Superglobalen Arrays/Variablen nichts falsch machen.
Eventuell weise ich hier nochmals auf das Kapitel Die register_globals = On Problematik meiner Seite hin.
Nur trübt das meinen Spaß:
Wir "zitieren Line 29":
Sry, bin im Moment zu zu um daraus jetz was funktionierendes zumachen, könntest du das bitte machen?
Das kommt von wenn man sich ne ganze Internetseite PHP Tut's durchliest, zwischendruch ausprobiert, Doom3 spielt, JPop hört *kaputt ist* *reif für die heia**
Hm... ob der Code ging Oô
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Ein Tipp für dich als Anfänger: Parse Errors betreffen fast nie die Angegebene Zeile
Die Fehler befinden sich in den Zeilen 24 und 34 (in dieser Reihenfole die Korrekturen):Es fehlten jeweils die Abschließenden " am Ende nahe '.php");'.
Original geschrieben von mitaki Ein Tipp für dich als Anfänger: Parse Errors betreffen fast nie die Angegebene Zeile
Die Fehler befinden sich in den Zeilen 24 und 34 (in dieser Reihenfole die Korrekturen):Es fehlten jeweils die Abschließenden " am Ende nahe '.php");'.
...
jup danke
Navigation
Notice: Undefined variable: n in CProgramme\Macromedia\Internetseiten\php\homepage.php\chocwise\templatesystem\index.php on line 21
Hier kommt die Navigation rein.
---
Content
Notice: Undefined variable: p in CProgramme\Macromedia\Internetseiten\php\homepage.php\chocwise\templatesystem\index.php on line 31
Hier kommt der Content rein
Aufrufen kannst du anderen Content und eine andere Navi über:
index.php?p=content1&n=navigation1
---
Naja, das wird nicht das Porblem sein
Kommt ja eh was anderes an Dateien rein
---
Kann mir jetz noch einer flüstern, wie ich zB. soetwas hinbekomme:
index.php?=chobits
Erm.... ja...
Ich hoffe Ihr wisst was ich meine
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Du hast die index.php ohne ?p=content1&n=navigation als Anhang aufgerufen. Nur so gibst du der Variable 'p' den Wert 'content1' und der Variable 'n' den Wert 'navigation' (aufpassen, der Link den Chocwise eingefügt hat, hat am ende eine 1 zuviel).
Zitat
Ich hoffe Ihr wisst was ich meine
...
Mal sehen:
Nach dem Dateinamen ein Fragezeichen anhängen, dann den Namen unter dem du die Variable aufrufen möchtest, gefolgt von einem Istgleichzeichen und dem Wert, den du der Variable geben möchtest, bei jede weiteren Variable verwendest du das selbe Verfahren, mit dem kleinen Unterschied, dass du anstatt eines Fragezeichens ein & schreibt (im Quelltext schreibst du bitte &amp; damit es nicht zu Fehlern kommen kann).
Erste Variable: index.php?vari1=wert1
Alle weiteren Variablen: index.php?vari1=wert1&vari2=wert2&vari3=wert3
Original geschrieben von mitaki Ein Tipp für dich als Anfänger: Parse Errors betreffen fast nie die Angegebene Zeile
Die Fehler befinden sich in den Zeilen 24 und 34 (in dieser Reihenfole die Korrekturen):Es fehlten jeweils die Abschließenden " am Ende nahe '.php");'.
...
Das hat man davon wenn man den Code eben auf die Schnelle aus dem Kopf schreibt ohne gegenzutesten.
Dabei sollte ichs besser wissen weil ich ind en seltensten Fällen ein fehlerfreies Script an einem Stück schreibe.
Wenn du eh ein neues Layout machst solltest du dir mal überlegen, ob du nicht doch <div>-Layer verwenden willst. Schau dir das Ganze mal auch meiner Seite an.
Original geschrieben von wrtlprnft Wenn du eh ein neues Layout machst solltest du dir mal überlegen, ob du nicht doch <div>-Layer verwenden willst. Schau dir das Ganze mal auch meiner Seite an.
...
Weiß doch wie deine Seite aussihet
Weißt garnicht wie oft ich auf der bin (mind. 1x in der Woche )
Jaaa.. wenn das besser ist...
Lieber mehr Arbeit und es klappt besser vom Ergebniss her...
Aber war nicht mal was das bei der der IE alles verbaut hat?
---
NOch ne Frage:
Kann ich die Styles (Schriftformatierung) in eine externe Datei reinschreiben und per PHP aufrufen?
Was mir jedoch lieber wäre, kann ich die Styles in die einzelnen Dateien mit Informationen reinsetzen:
mal ein schwachsinniges beispiel:
ehemalige.scrollbar.yen (lol, was ich mir wieder für ne endung ausgedacht habe )
beinhaltet zB.
wenn ich jetz also mehrere "frames" habe, und ich nicht die stils mehrmals mit der selben zahl vorkommen lasse, kann ich die dann in den dateien lassen?
Oder muss ich die in die index.php übers html setzen?
Dennis
*hofft auf ne idiotensichere antwort*
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Schreib einfach sämtliche Styles in eine eigene Datei, z.B. stil.css und gib dann oben in der index.phpaus.
Auf keinen Fall dürfen die Stile in die "Frames", da sie nicht das übliche <html><body><head>-gesocks enthalten dürfen, es sind ja schließlich nur Tabellenzellen (oder <div>-Layer).
Neue Fragen, derjenige der mir hilft hat nen Post mehr auf dem Konto:
1.
Wenn ich jetz zB. per IF / ELSE Funktion (hm... ich liebbbeee meinem rm2k... öhm nö, falsches forum...) eine Abfrage reinmache nach index.php?link=chobits, und die seite ist index.php?link=chobits:
Soll bzw. ist es empfehlenswert dann so etwas zu machen?
Das soll jetz kein Pseudo PHP sein
Oder doch lieber in einer externen Dateia ala link.chobits.yen und link.2tebar.yen (yen ich finds so witzig )
---
2.
Dann zu dem Thema noch ne Frage:
Wenn ich jetz IF/ELSE habe, wird dann die Seite komplett auf den Rechner (bzw. in Ram oder sonstwas) geladen und angezeigt, oder nur der bereich IF oder ELSE?
---
Bin heute (leider) nicht mehr Online...
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
1. Ich würde das auf jeden Fall mit Include() und Dateien machen. Das ist übersichtlicher. Wenn du irgenwann mal was ändern willst, findest du es schneller und musst nicht ein 2000 Zeilen langes Dokument durchsuchen.
2. Es wird überhaupt erstmal nichts runtergelden. Der Server auf dem die PHP Datei liegt erzeugt eine Art HTML Datei und schickt die an deinen PC. Die eigentliche Datei bekommt dein PC garnicht zu sehen.
Und PHP führt nur as unbedingt nötige aus. Wenn also die Bedingung wahr ist, führt PHP nur den If Teil aus, ansonsten den ELSE Teil.
Ich hoffe das hat dir geholfen.
Original geschrieben von Manni_the_Dark 2. Es wird überhaupt erstmal nichts runtergelden. Der Server auf dem die PHP Datei liegt erzeugt eine Art HTML Datei und schickt die an deinen PC. Die eigentliche Datei bekommt dein PC garnicht zu sehen.
Und PHP führt nur as unbedingt nötige aus. Wenn also die Bedingung wahr ist, führt PHP nur den If Teil aus, ansonsten den ELSE Teil.
Ich hoffe das hat dir geholfen.
(Jetzt hab ich einen Beitrag mehr *freu* )
manni
...
Stimmt... *doof ist*
Und zu erstens:
Mist, dann hab ich doch wieder einen unlogischen Ordnerwirwar *gerne zuviel ordner verwendet*
Yup Yup, dann bastel ich später mla weiter
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem