Includes?

fiseke

B1G-Software-Kunde
#1
Hi liebe Leuts,
ich habe da ein Kleines Problem und zwar ist es so das ich mit PHP und Includes arbeite, nach nem Server-Wechsel meines Hosters habe ich
ein Problem mit folgenden Include, er macht nicht mehr das was er soll.
vllt. habt ihr ein Rat oder könnt mir ein anderen Include vorschlagen. wäre Klasse:

Code:
<?php 
if (!isset($action)) { 
$action = "start.php"; 
} 
include($action); 
?>
für die Verlinkung nurze ist dort

Code:
index.php?action=seite.php
Vorher hat alles so geklappt.

Hoffe mir kann jemand helfen oder nen Tipp geben.

lg
Frank
 

patrick

Staff member
B1G-Software-Kunde
#2
Wenn du so was machst, kann jeder Spinner Code auf deinem Webspace ausführen und deine ganze Webseite löschen... Man kann z.B. ?action=http://url/code.txt machen und schon wird code.txt auf deinem Server ausgeführt...

Mache es also so, dann sollte es auch klappen:

PHP:
<?php 
$action = ereg_replace("([^a-zA-Z]*)", "", $_REQUEST['action']);
if (!isset($action)) { 
$action = "start.php"; 
} 
include($action); 
?>
 

martin

B1G-Software-Kunde
#3
Stimmt, wen du es also unbedingt so machen willst solltes du des eher so machen:
PHP:
<?php 
$action = ereg_replace("([^a-zA-Z]*)", "", $_REQUEST['action']); 
if ($_REQUEST['action']!= (login.php || mail.php || was halt sonst noch)) { 
$action = "start.php"; 
} 
include($action); 
?>
 

fiseke

B1G-Software-Kunde
#4
danke für die beiden Tipps.

Lerne gerade gaaaanz langsam PHP. hab hier zwar so nen tolles Buch aber um das alles zu verstehen muss ich es glaube ich 3 mal lesen lol

Bin aber guter Hoffnung alles soweit hinzubekommen.

lg
Frank

[EDIT]
Habe es gerade mit dem oben ausprobiert, zum verlinken bleibt doch

Code:
index.php?acrion=seite.php
oder muss ich hier auch was ändern?
 
Last edited:

UNC

B1G-Software-Kunde
#7
funtax said:
Stimmt, wen du es also unbedingt so machen willst solltes du des eher so machen:
PHP:
<?php 
$action = ereg_replace("([^a-zA-Z]*)", "", $_REQUEST['action']); 
if ($_REQUEST['action']!= (login.php || mail.php || was halt sonst noch)) { 
$action = "start.php"; 
} 
include($action); 
?>
Mal ein ähnlicher Code:
PHP:
<?
$page = $_REQUEST['page'];
if($page = "home") {
include('/home/www/web2/html/portal/home.php');
}
elseif($page = "downloads") {
include('/home/www/web2/html/portal/downloads.php');
}
else {
include('/home/www/web2/html/portal/home2.php');
}
?>
wenn ich jetzt "index.php?page=downloads" aufrufe, sollte ja eigentlich /home/www/web2/html/portal/downloads.php includiert werden... wird aber nicht! Egal was ich eingebe, der macht immer "include('/home/www/web2/html/portal/home.php');" :(
 

UNC

B1G-Software-Kunde
#9
patrick said:
Wenn du zwei Variablen vergleichst, musst du '==' nehmen, nicht '=', das wäre eine Zuweisung.
Ok, Danke :]
Habs jetzt mal so behoben:
PHP:
<?
$page = $_REQUEST['page'];
@include('/home/www/web2/html/portal/config.inc.php');
mysql_connect($_4U_DBCONFIG['server'], $_4U_DBCONFIG['user'], $_4U_DBCONFIG['password']) or die ("Keine Verbindung moeglich");
mysql_select_db($_4U_DBCONFIG['database']);
$abfrage = "SELECT titel FROM 4u_titel WHERE site = '" . $page. "'";
$get = @mysql_query($abfrage);
$titel = @mysql_result($get, 0);
if($titel == "0") {
$titel = "Home";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title><? echo "UNC4you - " . $titel; ?></title>
  <link href="templates/newDESIGN/style.css" rel="stylesheet" type="text/css" />
  <link rel="SHORTCUT ICON" href="http://www.emailpoint.de/favicon.ico" type="image/ico" />
  <script src="lib/common.js" language="javascript" type="text/javascript"></script>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 </head>
<body>
<?php
  if (!isset($_GET["page"]))
  {
    $page = "home";
  } else {
    $page = $_GET["page"] . ".php";
  }
  
  $page = basename($page); //Diese Zeile sorgt dafür, dass Pfadangaben entfernt werden

  if(!file_exists("$page"))
  {
    include('/home/www/web2/html/portal/fehler.php');
  } else {
    include('/home/www/web2/html/portal/' . $page);
  }
?>
 
Top