PHP-Seite in Tabelle darstellen

*uah* *grummel* Setz dich doch erst mal mit den Grundlagen von PHP auseinander, dann wird alles so viel einfacher. :rolleyes: Hier der Code:
PHP:
<table>
<tr>
<td>
<a href="index.php?goto=startseite">Startseite</a>
<a href="index.php?goto=seite1">Seite1</a>
</td>
<td>
<?php
$aAllowedPages = array( "startseite", "links", "rechts", "aboutme" );
if (!isset($_GET['goto'])) {
$sIncFile = "startseite";
} else {
if ( in_array( $_GET['goto'], $aAllowedPages ) ) {
$sIncFile = $_GET['goto'];
} else {
$sIncFile = "startseite";
}
}
include( $sIncFile.".php" );
?>
</td>
</table>
 
Dein Skript hat folgende Fehler:

1. Du benutzt statt des im Skript geforderten Umgebungsvariablenindexes goto den Index seite.
2. Du benutzt einen Indexwert, der nicht der erlaubten Indexmenge angehört.

Daher ist es kein Wunder, wenn es immer nur den alternativen Wert verwendet.


Du könntest es z.B. so ändern:
PHP:
<table>
  <tr><td>
    <a href="?seite=startseite">Startseite</a>
    <a href="?seite=links">Seite1</a>
  </td>
  <td>
<?php
  $seite = (isset($_GET['seite'])) ? $_GET['seite'] : $HTTP_GET_VARS['seite'];
  $aAllowedPages = array("startseite", "links", "rechts", "aboutme");
  $sIncFile = (in_array($seite, $aAllowedPages)) ? $seite.".php" : "startseite.php";

  include($sIncFile);
?>
  </td>
</table>
 
Code:
<a href="index.php?goto=startseite">Startseite</a>
<a href="index.php?goto=seite1">Seite1</a>

Nebenbei empfehle ich dir ein Buch über PHP!

Edit: lol, drei Posts auf einmal ;)
 
Original geschrieben von Gumbo
Dein Skript hat folgende Fehler:

1. Du benutzt statt des im Skript geforderten Umgebungsvariablenindexes goto den Index seite.
2. Du benutzt einen Indexwert, der nicht der erlaubten Indexmenge angehört.

Daher ist es kein Wunder, wenn es immer nur den alternativen Wert verwendet.


Du könntest es z.B. so ändern:
PHP:
<table>
  <tr><td>
    <a href="?seite=startseite">Startseite</a>
    <a href="?seite=links">Seite1</a>
  </td>
  <td>
<?php
  $seite = (isset($_GET['seite'])) ? $_GET['seite'] : $HTTP_GET_VARS['seite'];
  $aAllowedPages = array("startseite", "links", "rechts", "aboutme");
  $sIncFile = (in_array($seite, $aAllowedPages)) ? $seite.".php" : "startseite.php";

  include($sIncFile);
?>
  </td>
</table>

Wenn ich genau diesen Code test kommt bei mir immer
"Parse error: parse error, unexpected T_VARIABLE in E:\wampp2\htdocs\test\index.php on line 8"

Woran liegt das?
webfreak
 
Ok, es geht auch ohne NULL, ich hatte nur beim kopieren irgend ein Problem, der hat keine "Leerzeiche" kopiert sondern irgendwas anderes, und das hat dann php verwirrt. Das ist alles.
webfreak
 
Zuletzt bearbeitet:
<table>
<tr><td>
<a href="?seite=startseite">Startseite</a>
<a href="?seite=links">Seite1</a>
</td>
<td>
<?php
$seite = (isset($_GET['seite'])) ? $_GET['seite'] : $HTTP_GET_VARS['seite'];
$aAllowedPages = array("startseite", "links", "rechts", "aboutme");
$sIncFile = (in_array($seite, $aAllowedPages)) ? $seite.".php" : "startseite.php";

include($sIncFile);
?>
</td>
</table>


wie ist das, wenn ich auf eine datei linken will, die in einem unter oder übergeordneten Ordner liegt?

z.b. wenn ich von index.php auf die datei /news/index.php linken will?



2.) was ist wenn ich einmal auf eine php und einmal auf eine html datei linken will?

danke

cu
 
wie ist das, wenn ich auf eine datei linken will, die in einem unter oder übergeordneten Ordner liegt?

z.b. wenn ich von index.php auf die datei /news/index.php linken will?
Dann übergibst du einfach den Ordner:
PHP:
<a href="?seite=news/index">News</a>
2.) was ist wenn ich einmal auf eine php und einmal auf eine html datei linken will?
Dann müsstest du die Dateiendungen schon im Array drin haben. Allerdings frage ich mich, welchen Vorteil eine HTML-Datei gegenüber einer PHP-Datei hat. :confused:
 
Zurück