"We are back" « oc.at

[PHP] Komische Ausgabe bei Einbinden einer Datei

moidaschl 01.11.2005 - 17:22 1052 3
Posts

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Also ich muss hier nochmal ein Topic aufmachen aber es ist mir echt schleierhaft was da abgeht

Zuersteinmal meine "hauptseite"

Code: PHP
$bc  = "<b><center>";
  $bce = "</b></center>";
  // allgemeines grundgerüst
  echo "<table border=\"0\" align=\"center\" width=\"95%\">\n";
  echo "<tr><td>\n";
  echo "<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">\n";
  echo "<tr>\n";
  // Menüpunkte 1. reihe
  echo "<td class=\"navi\"><a href=\"index.php?page=mho&page_mho=idee\">".$bc."Idee".$bce."</a></td>\n";
  echo "<td class=\"navi\">".$bc."Regeln".$bce."</td>\n";
  echo "<td class=\"navi\">".$bc."Leitfaden".$bce."</td>\n";
  echo "<td class=\"navi\">".$bc."Termine".$bce."</td>\n";
  echo "<td class=\"navi\">".$bc."Spielorte".$bce."</td>\n";
  echo "<td class=\"navi\">".$bc."FAQ".$bce."</td>\n";
  echo "<td class=\"navi_right\">".$bc."Downloads".$bce."</td>\n";
  echo "</tr>\n";
  echo "<tr>\n";
  // Menüpunkte 2. reihe
  echo "<td class=\"navib\">".$bc."Anmeldung".$bce."</td>\n";
  echo "<td class=\"navib\">".$bc."Teilnehmer".$bce."</td>\n";
  echo "<td class=\"navib\">".$bc."Spielplan".$bce."</td>\n";
  echo "<td class=\"navib\">".$bc."Ergebnisse".$bce."</td>\n";
  echo "<td class=\"navib\">".$bc."Veranstalter".$bce."</td>\n";
  echo "<td class=\"navib\">".$bc."Links".$bce."</td>\n";
  echo "<td class=\"navib_right\">".$bc."Members-Area".$bce."</td>\n";
  echo "</tr>\n";
  echo "</table>\n";
  echo "<table border=\"0\" align=\"center\" width=\"95%\">\n";
  echo "<tr><td>\n";
  include ("content.php");
  echo "</td></tr></table>\n";
  
  // ende vom allgemeinen grundgerüst
  echo "</td></tr>\n";
  echo "</table>\n"

Man beachte: include("content.php");

diese sieht so aus

Code: PHP
$page_mho = array();

$page_mho['idee'] 				= "idee.php";
$page_mho['regeln'] 				= "regeln.php";
$page_mho['leitfaden'] 			= "leitfaden.php";
$page_mho['termine'] 			= "termine.php";
$page_mho['spielorte'] 			= "spielorte.php";
$page_mho['faq'] 					= "faq.php";
$page_mho['downloads'] 			= "downloads.php";
$page_mho['anmeldung'] 			= "anmeldung.php";

$page_mho['teilnehmer'] 		= "teilnehmer.php";
$page_mho['spielplan'] 			= "spielplan.php";
$page_mho['ergebnisse'] 		= "ergebnisse.php";

$page_mho['veranstalter'] 		= "veranstalter.php";
$page_mho['links'] 				= "links.php";
$page_mho['members_area'] 		= "members_area.php"; 
if(isset($_GET['page_mho'])) {
    switch($_GET['page_mho']) {
    	  case 'idee': include($page_mho['idee']);break;
    	  case 'regeln': include($page_mho['regeln']);break;
    	  case 'leitfaden': include($page_mho['leitfaden']);break;
		  case 'termine': include($page_mho['termine']);break;
		  case 'spielorte': include($page_mho['spielorte']);break;
		  case 'faq': include($page_mho['faq']);break;
	     case 'downloads': include($page_mho['downloads']);break;
	     case 'anmeldung': include($page_mho['anmeldung']);break;
	     case 'teilnehmer': include($page_mho['teilnehmer']);break;
		  case 'spielplan': include($page_mho['spielplan']);break;
		  case 'ergebnisse': include($page_mho['ergebnisse']);break;
		  case 'veranstalter': include($page_mho['veranstalter']);break;
		  case 'links': include($page_mho['links']);break;
		  case 'members_area': include($page_mho['members_area']);break;
        default: include($page_mho['idee']);
    }
} else {
    include($page_mho['idee']);
}

Wenn ich jetzt das Script aufrufe passiert folgendes:
click to enlarge

Wenn ich jetzt aber include("content.php"); auskommentiere und das Script aufrufe wird wie erwartet das Menü ausgegeben (1x) und fertig.

Anm:
Die Formatierung mittels css hab ich jetzt einmal weggelassen, ich kann mir nicht vorstellen dass da der fehler liegt.

Aber wieso ruft der bitte das script neu auf, bzw wo ist mein Denkfehler?

tia
daschl


edit:

k solved: es war wie immer ein banaler fehler: include("mho/content.php"); Warum ich das unterverzeichnis angeben muss - keine ahnung, da die aufrufende datei im selben verzeichnis liegt wie die zu aufrufende datei


naja seis drum
Bearbeitet von moidaschl am 01.11.2005, 17:44

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25468
fyi: include verzeichnisse müssen immer relativ zum ersten aufgerufenen skript sein.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4464
Kommt aber auch auf den include_path an. Wenn da kein einzelnes '.' steht, stimmts nicht.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25468
stimmt.. gut zu wissen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz