syphiliz
blubb.banane
|
ich möchte beim aufrufen der datei "index.php" gerne die variable $cont übergeben. diese bestimmt dann den inhalt der angezeigt wird. wird kein wert für $cont übergeben, so möchte ich, dass $cont="home"...jetzt meine frage:
wie sieht $cont aus, wenn nix drinnen ist. zur erklärung:
index.php?cont=news -> $cont= news
index.php -> $cont= "nix"
meine index.php sollte dann etwa so aussehen:
<?php if ($cont=?) { $cont="home"; }
include ("$cont.php"); ?>
was muss statt dem ? hin, damit, wenn index.php ohne parameter aufgerufen wird, $cont gleich home ist?
tia und sry für die blöde newbie frage syph
Bearbeitet von syphiliz am 29.10.2005, 00:42
|
mat
AdministratorLegends never die
|
if (!isset($cont))
$cont = "home";
für deine frage gibts btw mehrere lösungen.. auch empty() wäre hier möglich.
|
syphiliz
blubb.banane
|
thx!
|
moidaschl
Vollzeit-Hackler
|
alternativ kannst du natürlich auch emtpy() verwenden, hat hald ein bissl andere eigenschaften
"" -> leer 1 -> nicht leer 0 -> nicht leer
bei isset wäre 0 auch nicht gesetzt
|
mat
AdministratorLegends never die
|
nein.. bei NULL wäre isset() false.. find ich zwar nicht praktikabel, muss man aber hinnehmen
|
watchout
Legendundead
|
inwiefern ist das nicht praktikabel? Was möchtest du sonst mit isset() erreichen?
|
semteX
begehrt die rostschaufel
|
ich möchte beim aufrufen der datei "index.php" gerne die variable $cont übergeben. diese bestimmt dann den inhalt der angezeigt wird. wird kein wert für $cont übergeben, so möchte ich, dass $cont="home"...jetzt meine frage:
wie sieht $cont aus, wenn nix drinnen ist. zur erklärung:
index.php?cont=news -> $cont= news
index.php -> $cont= "nix"
meine index.php sollte dann etwa so aussehen:
<?php if ($cont=?) { $cont="home"; }
include ("$cont.php"); ?>
was muss statt dem ? hin, damit, wenn index.php ohne parameter aufgerufen wird, $cont gleich home ist?
tia und sry für die blöde newbie frage syph ich möchte dich darauf hinweisen, dass du bei SO ner (nicht) überprüfung die tür ganz ganz weit auf machst... oder was hindert mich das zu tun?: http://www.blahr.at/index.php?cont=...h4x0r/h4xscript
|
that
Hoffnungsloser Optimist
|
PHP Include erlaubt HTTP?
|
jives
And the science gets done
|
Bearbeitet von jives am 06.11.2005, 12:09
|
syphiliz
blubb.banane
|
ich möchte dich darauf hinweisen, dass du bei SO ner (nicht) überprüfung die tür ganz ganz weit auf machst...
oder was hindert mich das zu tun?:
http://www.blahr.at/index.php?cont=...h4x0r/h4xscript thx, gut zu wissen. include ("./$cont.php");
löst aber das problem, oder?
|
semteX
begehrt die rostschaufel
|
jo.. wesentlich besser. Noch gscheiter wär du würdest den ganzen Pfad angeben (schau dir mal die $_SERVER variablen an, da sollt was für dich dabei sein).. und anschließend noch ne überprüfung machn ob eh keine .. , . , /, .. vorkommen (verhindert, dass er lustig alles includet was bei dir irgendwo am webserver liegt... Edit: beste idee: 1 post unter mir (nicht drauf gedacht) Wennst natürlich ganz sicher gehen willst dann musst dein $cont durch nen check (mit regexp) schicken, ob der string keine /, kein www, kein ., kein .. etc enthält.... aber bei den regular expressions bin ich auf jedenfall der falsche Ansprechpartner ![:)](/images/smilies/smile.gif) @that: php ist da wenig anspruchsvoll... das includet alles was irgendwie lesbar ist...
Bearbeitet von semteX am 06.11.2005, 12:47 (vervollständigung.)
|
kleinerChemiker
Here to stay
|
damit kann er noch immer alles im dir bzw. in den subdirs includen. am besten ein array machen, indem die möglichen werte drinnen sind und dann überprüfen, ob es im array ist. oder gleich dann nur den jeweiligen index des arrays verwenden (?cont=3)
hth
MIK
|
that
Hoffnungsloser Optimist
|
thx, gut zu wissen.
include ("./$cont.php");
löst aber das problem, oder? Vorsicht ist geboten auch bei Vorkommen von "..", oder $cont == "index"
|
syphiliz
blubb.banane
|
thx @ all wie wahrscheinlich aus der art der fragestellung ersichtlich wird, tümpel ich mit meinem php skills noch sehr am anfang rum. deshalb hab ich momentan noch mehr probleme mit dem synthax als mit der denke ![:)](/images/smilies/smile.gif) sollte ich mal eine site öffentlich zugägnlich machen sind absolute pfadangaben wahscheinlich für den anfang die einfachste alternative... edit: $cont == "index" bevor ichs jetzt ausprobier ![:)](/images/smilies/smile.gif) : geh ich richtig in der annahme, dass ich damit den server in eine fatale endlosschleife schieß?
Bearbeitet von syphiliz am 06.11.2005, 12:51
|
semteX
begehrt die rostschaufel
|
thx @ all
wie wahrscheinlich aus der art der fragestellung ersichtlich wird, tümpel ich mit meinem php skills noch sehr am anfang rum. deshalb hab ich momentan noch mehr probleme mit dem synthax als mit der denke ![:)](/images/smilies/smile.gif)
sollte ich mal eine site öffentlich zugägnlich machen sind absolute pfadangaben wahscheinlich für den anfang die einfachste alternative... jo... variablen in "include" pfadangaben etc sind oft ein ziemliches risiko... darum entweder vermeiden oder wirklich ordentlich und komplett durchchecken. (da gabs ja vor ned allzu langer zeit nen wurm der fehlende valid - checks bei includes ausgenützt hat und php server geowned hat..)
|