php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Frage zu include ()


 
BenBay
11-02-2003, 17:47 
 
Hallo,
zunächst mal das Beisspiel:
http://www.benbay.de/include.html

Also include Standard bleibt immer gleich. Bei include Variabel lade ich immer andere Seiten, also den inhalt.
Kann ich es so machen das wenn ich die Seiten in die include variabel lade ich automatisch sage, include bitte auch wieder include standard!
Denn wenn ich jetzt eine Seite habe z.b. Kontakt dann muss ich immer alles neu Includen! Ich hoffe Ihr versteht was ich meine!!!!
Also ich sage mal so wie bei Frames, nur will ich keine Frames machen!!!

 
wahsaga
11-02-2003, 18:00 
 
du drückst dich irgendwie ziemlich verworren aus für meinen geschmack, aber wenn ich dich richtig verstehe hast du nur ein einziges variables include, und alle anderen sind fest/ nicht veränderlich?

dann brauchst du doch nur das variable include vom übergebenen paramater abhängig machen, und alle anderen includes lässt du unverändert...

ich kann irgendwie dein problem nicht genau erkennen.

 
BenBay
11-02-2003, 18:04 
 
Könntest du dich etwas genauer ausdrücken? Wie meinst du das "übergebenen paramater abhängig machen"! Könntest du mir ein Beispiel geben?

 
wahsaga
11-02-2003, 18:07 
 
na schön, erklären wir einfache grundlagen zum x-ten mal...



den parameter übergibst du als GET-parameter im URL der aufgerufenen seite,

index.php?includename=xyz

dann hast du in deinem script eine variable $_GET[includename] zur verfügung, die du dann mit if/ switch/ weissdergeier auswerten kannst.

 
TobiaZ
11-02-2003, 18:08 
 
Ich glaube du hättest dich genauer ausdrücken sollen :D

Also:

seite.php?load=homepage

<?
include("header.php");
include($_GET[load].".php");
include("footer.php");
?>

So sollte deine Seite aussehen.

Aber wenn du dich ein wenig im Forum umsiehst, wärst du garantiert schon darauf gestoßen!!! :teach:

@wahsaga: :D:D:D:D:D / Nur für dich!!!

 
BenBay
11-02-2003, 18:08 
 
Sorry, ich bin leider anfänger! Ich test mal das irgendie was dur mir gerade gesagt hast!

 
martin_de
11-02-2003, 21:44 
 
nur der sauberkeit wegen...

für assoziative arrays muss man ' ' verwenden, sonst gibt php eine warnung (oder notiz?) aus.

$_GET['includename'] ist richtig.

über das verwenden von variablen in include() reg ich mich heute mal nicht auf, ich bin grad gut gelaunt. :)

 
mrhappiness
11-02-2003, 21:49 
 
wenn du so viel wert auf sauberkeit legts...
man muss nicht, man müsste, wäre es ein fehler. da es kein fehler ist, ist es bestenfalls ein sollte :D

Aber Recht hast du trotzdem, kann bei nem "sauberen" Hoster für Verwirrung sorgen...

 
martin_de
11-02-2003, 22:03 
 
doch - es ist ein fehler! :D

setz ein
error_reporting(E_ALL);

drüber, dann erklärt dir php das auch.
es ist eine falsche schreibweise. und es funktioniert nur, da php da (leider) sehr fehlertolerant ist und das problem beim parsen erkennt und korrigiert.
es ändert aber nichts daran, dass es ein fehler ist.

 
TobiaZ
11-02-2003, 22:03 
 
muss auch dazu sagen, dass ich persönlich das auch nie so machen würde. Aber die ganze Thematik zum Xten mal erklären war mir einfach zu wieder...

die ' schlunze ich leider öffters. Aber gut dass dus nochmal gesagt hast.

 
wahsaga
11-02-2003, 22:03 
 
über das verwenden von variablen in include() reg ich mich heute mal nicht auf, ich bin grad gut gelaunt. :)
na dann lass uns doch auch gleich die klammern beim include entfernen, wo wir gerade dabei sind :-)

include ist nämlich eine einfache anweisung, keine funktion.

deshalb schreibt man es vom logischen her eigentlich ohne klammern (was aber auch wiederum kein muss ist).

 
TobiaZ
11-02-2003, 22:05 
 
Jupp, ähnlich echo();

Aber ich glaub das wird zu viel auf einmal für Ben.

 
mrhappiness
11-02-2003, 22:22 
 
echo $_GET[test];=> Notice: Use of undefined constant test - assumed 'test' in ...
Notice != Error

; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)warnings!=error

jetzt lasst mich doch auch mal recht haben *g*

oder einigen wir uns auf: "ansichtssache"? :)

 
martin_de
11-02-2003, 22:24 
 
Original geschrieben von wahsaga
na dann lass uns doch auch gleich die klammern beim include entfernen, wo wir gerade dabei sind :-)

include ist nämlich eine einfache anweisung, keine funktion.

deshalb schreibt man es vom logischen her eigentlich ohne klammern (was aber auch wiederum kein muss ist).

das ist richtig. allerdings hat sich da durchgesetzt, dass man include oder require statements mit klammern schreibt und include_once bzw. require_once ohne klammern.
zumindest kenn ich das so.

ich hab in meinem eigenen code allerdings noch nie was anderes als *_once 'datei.php'; verwendet.

 
martin_de
11-02-2003, 22:27 
 
Original geschrieben von mrhappiness
echo $_GET[test];=> Notice: Use of undefined constant test - assumed 'test' in ...
Notice != Error

; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)warnings!=error

jetzt lasst mich doch auch mal recht haben *g*

oder einigen wir uns auf: "ansichtssache"? :)

du kannst so viel recht haben wie du willst - solang du mir nich widersprichst. ;)

das ist ein fehler, der php interpreter hat den nur erkannt und korrigiert, deshalb ist es kein 'error' bei dem abgebrochen wird.

 
mrhappiness
11-02-2003, 22:32 
 
error!=error ? :confused: :D

na meinetwegen.
ich widersprech dir nich, du widersprichst mir nich und wir sind alle glücklich und beenden diesen ot-faden?
1 = 1
Damit hab ich recht!!!

 
wahsaga
11-02-2003, 22:33 
 
allerdings hat sich da durchgesetzt, dass man include oder require statements mit klammern schreibt und include_once bzw. require_once ohne klammern.
zumindest kenn ich das so.
na es deshalb gleich als 'hat sich durchgesetzt' zu bezeichnen, ist wohl etwas zu viel des guten.

es bei zwei im prinzip fast identischen befehlen einmal mit klammern und einmal ohne zu machen, ist ja ziemlich unlogisch, zumindest in meinen augen.


also, bleiben wir einfach dabei, dass es geschmackssache ist, ok?
sonst werden wir hier nämlich off topic hoch x, und das hilft ja auch keinem weiter ;-)

 
TobiaZ
11-02-2003, 22:34 
 
Ansichtssache!

it's automatically initialized to an empty string

Ein behobener Fehler ist ja kein Fehler mehr.

Vergl. Word-AutoKorrektur:
dsa -> das
Word hats berichtigt und es ist kein Fehler mehr. :D

 
martin_de
11-02-2003, 22:53 
 
wahsaga, natürlich ist das geschmackssache. es ist ja nicht falsch, egal wie mans schreibt. ich kenns nur so, dass man für require/include gewöhnlich klammern verwendet.
hängt vielleicht damit zusammen, dass die *_once statsments erst später eingeführt wurden (php4?) und man sich da dann auf das schreiben ohne klammern *geeinigt* hat.
ist aber nur ne vermutung...

tobi, da besteht aber ein gewaltiger unterschied.

word korrigiert den fehler im dokument.
php erkennt/korrigiert den fehler bei jeder interpretation des codes, aber korrigiert nicht den code selbst.

 
TobiaZ
11-02-2003, 23:01 
 
Najut, so gesehen stimmts natürlich. Der "Fehler" muss ja bei jedem Parsen berichtigt werden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07 Uhr.