CSS Elemente

Link URL zum Bleistift:
index.php?page=forum

PHP-Skript:
switch($_GET[“page”]) {
case “forum”: include(“forum.php”); break;
case “guestbook”: include(“guestbook.php”); break;
case “links”: include(“links.php”); break;
}

Hoffe das Prinzip ist klar.

ist das dann das gleiche wie mit menuid ? hab ich jetzt auch einmal wo gesehen…

Meinst du die Funktion MenuID(). Die gibt es in Basic.
Oder meinst du vielleicht so:

Statt menuid oder page kannst du es nennen wie du willst, von mir aus auch aschachinger :wink:
Schau mal auf diese Seite, vielleicht steigst du da durch: html-php.de/php/include.html

thx…dort ist es ja sehr gut erklärt…!

Also ich versteh zwar die php abschnitte nicht ganz…aber ich werds mal probieren…

[code]

[/code] wo muss ich angeben wo die seite[] liegt? oder müssen die einfach mit dem namen im gleichen verzeichnis liegen..? und müssen die seite[] .php sein oder können die auch html oder pdf oder sowas sein?

Die zu includierte Dateien sollten .php .html .inc heißen.
Um das ganze zu vereinfachen, wäre es gut, die include-Dateien alle im gleichen Verzeichnis zu stecken. Das Verzeichnis gibst du dann bei include mit an:

include 'verzeichnis/'.$_GET['seite'].'.php';

@nichtsgeht: Nein, ganz böse. Ein gutes Programm misstraut seinen Benutzern. :wink:

Mit so einem Include kann der User jede beliebige Datei angeben. Vorausgesetzt, magic_quotes_gpc wäre deaktiviert, wäre sogar das hier möglich:/script.php?seite=../.htaccess%00

Hallo Scram. Ist mir klar. Wir reden hier im zusammenhang eines Arrays aus dieser Seite.
html-php.de/php/include.html

    <?php
      $Liste = array('seite01','seite02','seite03','seite04');
      if (in_array($_GET['seite'],$Liste)) {
       include $_GET['seite'].'.php';
      }
      else {
       include $Liste[0].'.php';
      }       
    ?>

Nagut, hätte ich vielleicht noch einmal erwähnen sollen :hail:

Also hab das jetzt mal so gemacht aber es funktionierd nicht ganz…

die index.php

[quote]

Andreas Schachinger
<?php $Liste = array('inc/01.php .html .inc','inc/02.php .html .inc'); if (in_array($_GET['menuid'],$Liste)) { include 'inc/' .$_GET['menuid'].'.php'; } else { include $Liste[0].'.php .html .inc'; } ?>
[/quote]

anschaun könnt ihr euch das ganze hier

hab jetzt gerade ziemlich keine ahnung was ich falsch gemacht hab… :neutral_face:

und noch ne frage: erstellt array einen index für $Liste ?

$Liste = array('inc/01.php .html .inc','inc/02.php .html .inc');

Im array gibt du das ein, wie dein menuid lautet, also

$Liste = array('01','02');
include 'inc/' .$_GET['menuid'].'.php';

Hieraus entnehme ich, das die include-Dateien 01.php bzw. 02.php heißt ?
Dann muß dieses hier

include $Liste[0].'.php .html .inc';

so lauten:

include 'inc/'.$Liste[0].'.php';

so jetzt funktionird es!

Dann kann ich einmal bei meiner hp weiterbauen (bis die nächsten fragen kommen…^^)

danke für eure schnelle hilfe

hmmm, ich habe es mir gerade noch einmal angesehen. Du machst da noch entscheidene Fehler.
1.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Andreas Schachinger</title>
</head>
<link rel="stylesheet" type="text/css" href="../css/style.css">
gehört vorm
  1. Die zu includierende Dateien sind bei dir komplette HTML-Dokumente mit . Das darf nicht sein. Includierst du diese Dateien, werden die Head-Angaben ja mit eingefügt. Diese Dateien dürfen nur die Angaben haben, die auch angezeigt werden sollen, also alles zwischen und .

Ich hoffe ich habe mich verständlich ausgedrückt :ps:

…hab CSS immer zwischen head und body angeführtgg :ps:

also einfach alles außerhalb von body weg?! …werd ich mal machen…

genau und das und ebenfalls löschen und was da zwischen steht bleibt nätürlich drin :wink:

oO…hät ich da gelasen :smiley:

bei den css elementen sollte man zur positionierung eher float und margin nehem und nicht position oder?!

CSS hat Eigenschaften, keine Elemente.

Was man da nimmt, hängt davon ab, was man erreichen will.
Ein margin (mit nicht negativem Wert) ist ziemlich gut auch
in alten browsern implementiert. Meist auch Positionierung
wie static, relative, absolute. fixed ist kniffliger, float kann
auch Überraschungen bringen.
Allgemein kann man mit ein bis drei absolut positionierten
Elementen ein sehr stabiles und zuverlässiges Layout
aufbauen, was auch bei älteren browsern gut funktioniert.

Probleme gibt es dann aber auch oft durch fehlerhaftes
(X)HTML - wenn da die Struktur unsinnig ist, kann auch die
Dekoration mit CSS unsinnig dargestellt werden. Das ist oft
ein größeres Problem als die Einschränkungen und
Unzulänglichkeiten hinsichtlich CSS bei alten browsern, aber
besser vermeidbar.

Hab noch ne Frage…(hoffe ich nerv noch nicht :ps: )

Hab eine Grafik bei der ich die CSS jetzt direkt ins tag geschrieben habe.

<img src="../imgsrc/news_start.gif" alt="start" width="181" height="150" style="border-color:#FFFFFF;border-width:1px;border-style:solid;float:left;margin-right:10px;margin-left:10px;" />

Hätte den Code jedoch gerne extern. Nur irgendwie funktionierd das nicht ganz. Die Grafik liegt in einem

. Die Grafik sollte eben einen border haben und das mit „float“ sollte auch drin sein.

Also möchte am Ende dann alle Grafiken innerhalb dieses

mit der CSS formatiert haben.

vergeb id’s oder klassen und beschreibe diese in der css datei

so hab ichs gemacht…

aber das funktionierd irgendwie nicht…

html:

css:

img.main { border-color:#FFFFFF; border-width:1px; border-style:solid; float:left; margin-right:10px; margin-left:10px; }