WinFuture-Forum.de: Php Include Mit Fester Variable - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Php Include Mit Fester Variable


#1 Mitglied ist offline   mush 

  • Gruppe: aktive Mitglieder
  • Beiträge: 896
  • Beigetreten: 29. Mai 07
  • Reputation: 7

geschrieben 22. August 2007 - 00:16

Hi!

Ich include momentan mit dem handelsüblichen Weg in meiner dyn.php:

<? include ($data); ?>


Ein Link würde so aussehen: dyn.php?data=content/startseite.php

Ich habe versucht, dass der Link so aussieht: dyn.php?data=startseite (fettgedrucktes entfernt)
und zwar mit diesem Code:

<? include ("content/"$data".php"); ?>

das funktioniert aber nicht.

Kann jemand, der versteht was ich vorhabe, mir vielleicht weiterhelfen.

lg Alex

Dieser Beitrag wurde von mush bearbeitet: 22. August 2007 - 00:24

insane in the membrane
0

Anzeige



#2 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 22. August 2007 - 00:28

Jo

<? include ("content/".$_GET['data'].".php"); ?>


bzw. nehm ich mal an, dass du die variable vorher schon mit

$data = $_GET['data'];


abfragst, dann natürlich

<? include ("content/".$data.".php"); ?>

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#3 Mitglied ist offline   mush 

  • Gruppe: aktive Mitglieder
  • Beiträge: 896
  • Beigetreten: 29. Mai 07
  • Reputation: 7

geschrieben 22. August 2007 - 00:31

Funktioniert, dankeschön.
insane in the membrane
0

#4 Mitglied ist offline   _seym. 

  • Gruppe: aktive Mitglieder
  • Beiträge: 52
  • Beigetreten: 12. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 27. August 2007 - 21:54

prinzipell garkeine gute idee $_GET oder $_POST variablen direkt in ein include reinzugeben! schau dir das hier mal an... http://de.wikipedia....seitiger_Schutz

mfg.
mfg,
_seym.
0

#5 Mitglied ist offline   bardelot 

  • Gruppe: aktive Mitglieder
  • Beiträge: 517
  • Beigetreten: 20. März 04
  • Reputation: 0

geschrieben 27. August 2007 - 22:13

yupp, solltest zumindest überprüfen, dass da keine URLs übergeben werden können und man keine Dateien von ausserhalb des content Verzeichnises einbinden kann. Aber auch das ist nur eine Notlösung.

Always remember: "All incoming data is EVIL"

Übrigens:
<? include("content/$data.php") ?>

sollte auch gehen, da PHP Variablen in " " Anführungszeichen interpretiert, im Gegensatz zu den ' ' Zeichen.

Dieser Beitrag wurde von bardelot bearbeitet: 27. August 2007 - 22:16

0

#6 Mitglied ist offline   _seym. 

  • Gruppe: aktive Mitglieder
  • Beiträge: 52
  • Beigetreten: 12. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 27. August 2007 - 22:31

für kleinere sachen kann man sich ja ne art übersetzungstabelle basteln:
$translate = array("start"=>"start.php", "about"=>"about.php", ...);
include("content/".$translate[$_GET['data']]);

oder gleich eine art blacklist:
$allowed = array("start", "about", ...);
if(in_array($_GET['data'], $allowed)) include("content/{$_GET[data]}.php");


gute nacht :(
mfg,
_seym.
0

#7 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 27. August 2007 - 22:55

Na ich mach das immer so. Das schreibich in ne Extradatei, die ich "seitanwahl.php" oder so ähnlich nenne und includiere dann nur diese Datei bzw. Frage ich die Variablen am Anfang ab und nutze dann bei switch die bereits abgefragte Variable.

<?php 

switch ($_GET['seite']) {

case "start": $link = "Ordner/startseite.php"; break;
case "dings": $link = "Ordner/dingsseite.php"; break;
case "bums": $link = "Ordner/bumsseite.php"; break;
case "donner": $link = "Ordner/donnerseite.php"; break;
case "wetter": $link = "Ordner/wetterseite.php"; break;

default: $link = "Ordner/startseite.php";
}

require_once($link);
?>

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0