Der folgende Beitrag wurde am 23. 08. 2010, 13:53 Uhr von JulianBaumueller veröffentlicht.
Hallo,
ich habe folgendes fabriziert:
<?php
$site = $_GET[site];
switch($site) {
include("/sites/includes.php");
}
?>
nun zeigt der mir aber folgendes an:
Parse error: syntax error, unexpected T_INCLUDE, expecting T_CASE or T_DEFAULT or '}' in C:\*.... on line 163
Mir ist jetzt also klar, dass man DIREKT in ein switch() nichts includen kann. Man muss dass include() wenn dann in ein CASE schreiben.
<?php
$site = $_GET[site];
switch($site) {
case start:
include("/sites/start.php");
break;
}
?>
Kann man dass irgendwie machen, dass man dass include() direkt in dass switch() (erstes) reinschreiben kann?
MfG,
JulianBaumueller.
Der folgende Beitrag wurde am 23. 08. 2010, 14:00 Uhr von Tom veröffentlicht.
Hello,
> ich habe folgendes fabriziert:
>
>
> <?php
>
> $site = $_GET[site];
Das Umkopieren aus der Get-Variable in eine einfache Scriptvariable ist nicht notwendig, wohl aber das Abfangen böser Eingaben, die in der Get-Variablen landen können.
>
> switch($site)
{
Ob switch() ohne case funktioniert, kann ich Dir nichrt sagen, aber auf jeden Fall _mit_.
> include("/sites/includes.php");
>
> }
>
> ?>
>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
--
☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
Der folgende Beitrag wurde am 23. 08. 2010, 14:05 Uhr von MudGuard veröffentlicht.
Hi,
>
> <?php
> $site = $_GET[site];
> switch($site) {
> include("/sites/includes.php");
> }
>
> ?>
>
> nun zeigt der mir aber folgendes an:
> Parse error: syntax error, unexpected T_INCLUDE, expecting T_CASE or T_DEFAULT or '}' in C:\*.... on line 163
natürlich.
In einem Switch müssen immer case und max. ein default sein.
Erst nach einem case- oder default-Label kann sonstiger Code kommen.
> Mir ist jetzt also klar, dass man DIREKT in ein switch() nichts includen kann. Man muss dass include() wenn dann in ein CASE schreiben.
nach einem case, nicht in.
Die einzelnen cases (inkl. defaults) sind Labels - je nach Wert im Switch wird eines der Label angesprungen.
Selbst wenn der Code vor dem ersten case stehen dürfte:
er würde ja gar nicht ausgeführt, da zum ersten case gesprungen wird, der zur Bedingung paßt.
> Kann man dass irgendwie machen, dass man dass include() direkt in dass switch() (erstes) reinschreiben kann?
Nein. Das geht nicht.
Was wäre der Sinn?
Wenn der include auf jeden Fall ausgeführt werden soll, dann schreib ihn VOR den switch.
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
Der folgende Beitrag wurde am 23. 08. 2010, 20:46 Uhr von JulianBaumueller veröffentlicht.
> > Kann man dass irgendwie machen, dass man dass include() direkt in dass switch() (erstes) reinschreiben kann?
>
> Nein. Das geht nicht.
>
> Was wäre der Sinn?
Ich will meine Seite so organisiert und geordnet wie möglich schreiben. Darum hab ich meistens alles in einzelne Dateien unterteilt. Ich hab mir ein Register- und Login-Script geschrieben. Für jeden registrieten User wird ein CASE-Label erstellt. (per fopen, fputs usw..) aber damit ich das mit meinen kenntnissen machen kann, musste ich ne extra datei anlegen, in die ich dass alles reinschreiben kann.
naja is halt so mein konzept wie ichs machen will.. :D
aber wenn mans so nich machen kann, lässt sich da wohl nix machen..
Muss mir halt was einfallen lassen.
Grüße,
JulianBaumueller.
Der folgende Beitrag wurde am 23. 08. 2010, 21:14 Uhr von MudGuard veröffentlicht.
Hi,
> Für jeden registrieten User wird ein CASE-Label erstellt.
Huch?
Self-Modifying Code?
Normalerweise legt man die Daten der registrierten User in einer Datenbank (von mir aus auch flatfile-DB) ab, aber nicht im Code.
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
Der folgende Beitrag wurde am 23. 08. 2010, 21:20 Uhr von JulianBaumueller veröffentlicht.
> Self-Modifying Code?
Ja, aber immer doch! :D ;-)
> Normalerweise legt man die Daten der registrierten User in einer Datenbank (von mir aus auch flatfile-DB) ab, aber nicht im Code.
Ich habs nich so mit Datenbanken und hat bei mir noch nie geklappt...
geil wärs wenns son generator für fertige php-codes geben würde..
wär ne bereicherung xD
MfG,
JulianBaumueller.
Der folgende Beitrag wurde am 23. 08. 2010, 21:27 Uhr von dedlfix veröffentlicht.
Hi!
> geil wärs wenns son generator für fertige php-codes geben würde..
Gibts doch, nennt sich Programmierer.
Lo!
Der folgende Beitrag wurde am 23. 08. 2010, 14:29 Uhr von johny7 veröffentlicht.
Moin allerseits,
> Hallo,
>
> ich habe folgendes fabriziert:
>
>
> <?php
>
> $site = $_GET[site];
>
> switch($site) {
>
> include("/sites/includes.php");
>
> }
>
> ?>
>
> [code lang=php]
> <?php
>
> $site = $_GET[site];
>
> switch($site) {
>
> case start:
> include("/sites/start.php");
> break;
>
> }
>
> ?>
>
Ein switch ist dann notwendig, wenn du z.B. abhängig vom Wert einer Variable unterschiedliche Funktionen ausführen willst. In deinem Fall willst du offensichtlich abhängig vom Wert der Variable ein include durchführen. Wahrscheinlich soll auch die Datei geladen werden, deren Name in der Variable steht. Das Funktioniert ganz einfach:include("/sites/".$_GET[site].".php");
Aber VORSICHT! Beachte Toms Ratschlag bezüglich der Sicherheit.
Grüße, JN
--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4