URL: https://www.overclockers.at/coding-stuff/php_help_please_get_funktion_163005/page_1 - zur Vollversion wechseln!
Ich arbeite gerade an einer kleine Page.
Und jetzt hab ich ein problem mit php wo ich leider nix im inet gefunden hab, und mein php wissen ist luschenhaft.
index.php is die hauptseite, diese sollte mit hilfe von so erweiterungen den inhalt laden.
zb index.php?inhalt=blabla
nur wie bekomm ich diese "Variable" jetzt in den code rein das es funkt? ich bin immer an: "Notice: Undefined variable: inhalt in" gescheiter
mein jetziger code:
<?php
error_reporting(E_ALL); // alle Fehler anzeigen
If ($inhalt=="1234") {echo "juhu";}
else {echo "nein";}
echo $inhalt;
include ("inc/$inhalt.php");
?>
mein ziel ist es eine datei zu includen die genau so heist. (das obere is nur zum testen)
kann mir da wer helfen oder hat wer nen guten link? ich find leider nix.
tia
ich helfe dir, aber du solltest dennoch einsehen, dass dies eine echt n00bfrage ist, die problemlos mit irgendeinem tutorial über variablen in php beantwortet werden kann.
auf deinem webserver ist die environmentvariable "register_globals" ausgeschalten und das ist auch gut so, sonst hätte dein code bei kleinen unsauberkeiten schnell eine sicherheitslücke.
deshalb brauchst du die superglobal arrays. die sind $_POST, $_GET usw. deine variable "inhalt" kannst du also über $_GET['inhalt'] erreichen.
bitte nimm dir oben geschriebenes zu herzen.
btw: überleg dir schon mal was passieren würde, wenn ich über den request string deiner inhaltsvariable zB "../index" zuweisen würde.
würde auch mit $_GET aufpassen. wenn du die seiten mit index.php?site=bla.html und dann einfach über eine variable einen include machst ist man trotzdem ziemlich unsicher. mat hats ja eh schon gesagt, die erklärung ist aber sehr dürftig und die tuts die ich durchgemacht hab habens auch nicht richtig erklärt (vielleicht genau die falschen durchgemacht. aufjedenfall nicht so:
also
site = $_GET["site"];
include $site;
sollte man nicht verwenden (auch wenn man normalerweise ein if und else herum schreibt).
das:
Code: PHP$files = array ("bla" => "bla.html", "bla2" => "bla2.html"); if (!isset($_GET["site"]){ $site = "start"; } else { $site = $_GET["site"]; } include $files[$site];
thx für die tipps ich werd mich heut am abend nochmals hinsetzen.
Zitat von mataber du solltest dennoch einsehen, dass dies eine echt n00bfrage ist
@that ein besser titel is mir zuerst leider net eingefallen sorry
leider bin ich erst heute dazugekommen.
Das hab ich aus euren Tipps und Tutorials aus dem inet zusammengestoppelt.(wenn man weis wie die funktion heist is viel leichter was finden )
Code: PHP<?php //index.php error_reporting(E_ALL); // alle Fehler anzeigen $inhalt2 = "start"; $nummer = "0"; include "inhalt/_daten.php"; if(isset($_GET['inhalt'])) { $inhalt1 = $_GET['inhalt']; if(isset($daten[$inhalt1])) { $inhalt2 = $_GET['inhalt']; } } if(isset($_GET['n'])) { $nummer = $_GET['n']; } include $daten[$inhalt2]; echo $nummer; ?>
es scheint zu funktionieren.Code: PHP<?php // inhalt/_daten.php $daten = array ( "start" => "inhalt/start.php", "test" => "inhalt/test.php", "nix" => "inhalt/nix.php" ); ?>
statt
Code: PHPif(isset($_GET['inhalt'])) { $inhalt1 = $_GET['inhalt']; if(isset($daten[$inhalt1])) { $inhalt2 = $_GET['inhalt']; } }
Code: PHPif (isset ($_GET['inhalt']) and isset $daten[$_GET['inhalt']] { include .......
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025