Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 41

Thema: Per PHP "Frames" einfügen

  1. #1

    Per PHP "Frames" einfügen

    Vorweg, mir is kein doofrer Titel eingefallen

    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
    PHP-Code:
    <? include("tabelle1.txt") ?>
    ---

    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

  2. #2
    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

  3. #3
    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:

    PHP-Code:
    <?php
    if($p==""){
      include(
    "inc/_main.txt");
    }else{
      include(
    "inc/_".$p.".txt");
    }
    ?>
    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:
    PHP-Code:
    <?php
    if($_GET['p']){
      include(
    "inc/_main.inc.php");
    }else{
      include(
    "inc/_".$_GET['p'].".inc.php");
    }
    ?>
    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.

    Ich hab dir mal ein sehr schlichtes Beispielpaket für das Templatesystem geschnürt:
    http://www.squarenet.info/staff/choc...latesystem.zip

  4. #4
    Zitat Zitat
    (so'n Sicherheitsding )
    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.

  5. #5
    Danke Chocwise...

    Nur trübt das meinen Spaß:
    Code:
    Parse error: parse error, unexpected T_STRING in
    C:\Programme\Macromedia\Internetseiten\php\homepage.php\chocwise\templatesystem\templatesystem\index.php on line 29
    Wir "zitieren Line 29":
    PHP-Code:
    <div align="center">Content<br
    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**
    PHP-Code:
    <? $* = array("die heia"=>"das Bett"); ?>
    Hm... ob der Code ging Oô

    Geändert von Maisaffe (13.08.2004 um 02:55 Uhr)

  6. #6
    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):
    PHP-Code:
    include("inc/_nav-".$n.".inc.php");
    include(
    "inc/_".$p.".inc.php"); 
    Es fehlten jeweils die Abschließenden " am Ende nahe '.php");'.

  7. #7
    Zitat Zitat
    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):
    PHP-Code:
    include("inc/_nav-".$n.".inc.php");
    include(
    "inc/_".$p.".inc.php"); 
    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

  8. #8
    Du hast die index.php ohne ?p=content1&amp;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 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;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

  9. #9
    Zitat Zitat
    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):
    PHP-Code:
    include("inc/_nav-".$n.".inc.php");
    include(
    "inc/_".$p.".inc.php"); 
    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.

  10. #10
    ist ja mit nem <table> gemacht Oô

    Ihr verwendet echt Tables für sowas?
    Dann hätte ich das sogar alleine hingekriegt...


    Ich werd noch bekloppt...
    Nagut, is mir recht so-> Dann weiß ich wenigstens ohne großes rumfummeln wie man ein Grundgerüst bastelt

    Irgendwie lernt man doch am meißten wenn man eine Beispiel- Datei fertig vorliegen hat

    Dennis

    Hm... mal schaun ob ich das raffe mit *.php?=kjdkjdkf...

  11. #11
    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.

  12. #12
    Zitat Zitat
    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.

    Code:
    <style type="text/css">
    <!--
    .Stil1 {font-size: 12px; font-family: Tahoma; font-weight: bold; }
    .Stil2 {font-family: Tahoma; font-size: 12px;}
    .Stil11 {font-size: 12px}
    .Stil12 {font-size: 14px}
    a:link {
    	color: #000000;
    	text-decoration: none;
    }
    a:visited {
    	color: #000000;
    	text-decoration: none;
    }
    a:active {
    	color: #000000;
    	text-decoration: none;
    }
    a:hover {
    	color: #FFFFFF;
    	text-decoration: underline;
    }
    -->
    </style>
    
    irgendnen text mit nem stil, zb. 12
    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*

  13. #13
    Mir gings mehr um den (Stylesheet-)Quelltext.

    Schreib einfach sämtliche Styles in eine eigene Datei, z.B. stil.css und gib dann oben in der index.php
    PHP-Code:
    <head>
    <
    link rel="stylesheet" type="text/css" href="stil.css" />
    </
    head
    aus.
    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).

  14. #14

    Frage zu meinen Styles

    Code:
    <style type="text/css">
    <!--
    .Stil1 {font-size: 12px; font-family: Tahoma; font-weight: bold; }
    .Stil2 {font-family: Tahoma; font-size: 12px;}
    .Stil11 {font-size: 12px}
    .Stil12 {font-size: 14px}
    a:link {
    	color: #000000;
    	text-decoration: none;
    }
    a:visited {
    	color: #000000;
    	text-decoration: none;
    }
    a:active {
    	color: #000000;
    	text-decoration: none;
    }
    a:hover {
    	color: #FFFFFF;
    	text-decoration: underline;
    }
    -->
    </style>
    Zeilen 1 und 24 können mit IE 5 nicht geparsed werden, und ich kann somitin Dreamweaver Style 1 nicht als Schrift verwenden zum testen.

    Die Fehler sind von mir fett geschrieben...
    Was daran falsch?
    Ist alles durch Dreamweaver erstellt (die Styles)

    Dennis

  15. #15
    Der ganze Block muss an den Beginn (Den Kopf) jeder HTML-Datei, die ausgegeben wirg, also an den Beginn der index.php, nicht in jede Datei einzeln.

  16. #16
    lol, ich habs hinbekommen

    Ich habe einfach den tag <style> ganz aus der stil.css datei geschmissen, jetz gehen alle 4 styles

    Dennis

  17. #17
    Was, du hast eine externe Stildatei?
    Dann musst du natürlich die ersten und die letzten zwei Zeilen raushauen, die haben dann dort nix mehr verloren.

  18. #18

    2Fragen zu je 1.000Yen

    Ich bin zurück! (xD)

    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
    Code:
    IF = True
      Tabelle mit Inhalt (zb. Überschrift, Story, Wallpaper, usw.)
    ELSE
      Tabelle2 mit Inhalt (zb. Überschrift2, Vote, Gästebuch)
    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

  19. #19
    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.

    (Jetzt hab ich einen Beitrag mehr *freu* )

    manni

  20. #20
    Zitat Zitat
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •