index.php?selektion=seite in frames

Danielku15

Erfahrenes Mitglied
Hallo an alle

Ich habe eine Frage bezüglich des Php-Tutorials "Navigation über index.php?selektion=seite". Ich bin Einsteiger in Php und Möchte wissen wie ich diese Funktion in Frames einbauen kann. Der Menüframe links und Der Bannerframe oben sollen immer gleich bleiben(index.php).Wenn ich nun aber eine. Link im Menüframe öffne(index.php?selektion=seite1) soll sich die Inhaltsseite verändern. Oder wenn ich direkt über http://www.domain.de/index.php?selektion=seite1
soll sich die normale Seite mit Menü- und Bannerframe öffnen und die Seite1 im Inhaltsframe. Wie geht das?

gruß danielku15
 
Das hat nichts mit PHP zu tun ,mach einfach targert=namedesmitlerenfenstes In den Link ,dann sollte es gehen.
 
Wenn du die Inhalte des mittleren Frames direkt über index ansteuern willst (dh. ../index.php?sel=xyz), musst du eben das Frameset dynamisch ändern. Dazu kannst du entweder gleich den zu ladenden Dateinamen in das entsprechende Frame laden oder den Parameter an die Seite im Frame übergeben (dh. src="main.php?sel=<?php echo $sel; ?>". In beiden Fällen muss jedoch das Frameset neu geladen werden, was in <90% aller Fälle die Verwendung von PHP-Selektoren überflüssig macht. Der einzige Sinn, der mir gerade einfällt, wäre wohl, um gleich beim Aufruf der Seite eine bestimmte Unterseite zu erzwingen, aber dennoch die Menüleisten mitzuladen.

Sinnvoller wäre wohl der Verzicht auf Frames.

Wenn du per Link (Menü) den Inhalt tauschen willst musst du eben (wie
KristophS schon sagte) ein Target verwenden, der Aufruf selbst sieht aus wie immer ^^).


mfG.
 
Danke Erst einmal.

@ KristophS:
Das war mir schon klar. Bin nur Anfänger mit PHP nicht mit HTML. Da kenn ich mich schon aus. Wollte das was xxenon gesagt hat.

@xxenon
Was ist an diesem Code falsch? Ich bekomme immer diese Fehlermeldung:
Parse error: parse error, unexpected $end in C:\Programme\xampp\htdocs\homepagehilfe.php on line 43


homepagehilfe.php:
Code:
<html>
<head>
<title>Homepage-hilfe.de</title>
<meta name="author" content="Danielku15">
<?php
include('config.php');

if(isset($_GET['path']) AND isset($dateien[$_GET['path']]))
{
//Ist eine $_GET Variable vorhanden wird PHP angewiesen
//zu prüfen ob die Datei existiert und diese dann zu laden

if(!file_exists($dateien[$_GET['path']])) echo "Die Datei ist nicht vorhanden.";

include $dateien[$_GET['path']];
}
else
{
//Wenn keine Variable oder Definition vorhanden ist
//lade die Fehlerseite bzw. die Indexseite
include $dateien['error'];

?>
</head>
<body>
<frameset cols="222,*" border="0" frameborder="0">
  <frame name="Inhalt" target="Hauptframe" src="menu.htm" scrolling="no" noresize>
  <frameset rows="*,83%" border="0" frameborder="0">
    <frame name="Hauptframe" src="werbung.htm"  scrolling="no" noresize>
    <frame name="seite" src="homepagehilfe.php?path=<?php echo $path; ?>"  target="_self" scrolling="yes" noresize>
  </frameset>
  <noframes>
  <body>

  <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht
  unterstützt.</p>
  <p>Benutzen Sie bitte den IE 5 (Internet Explorer)</p>

  </body>
  </noframes>
</frameset>
</body>
</html>

gruß danelku15
 
Du musst nach irgendwo die Else-Anweisung beenden. Du beginnst mit else { /*php-anweisung*/ und schließt dann den zu parsenden Bereich (?>). Dann schreibst du ein paar Zeilen HTML-Code, aber es fehlt die abschließende Klammer. Dh. mach einfach nach dem Else-Bereich noch <?php } ?> rein, dann sollts auch gehn.


Regards...
 
Haste recht. Ich hab vergessen die Else-Anweisung zu schließen. Hab jetzt ein "}" hinzugemacht. Nur jetzt kommt diese Fehlermeldung:
Warning: main(): Failed opening '' for inclusion (include_path='.;C:\Programme\xampp\php\pear\') in C:\Programme\xampp\htdocs\homepagehilfe.php on line 21
:(

gruß danielku15
 
Ohne zu wissen, was in $dateien['error'] drinsteht, ist es ein bisschen schwierig zu antworten, aber es könnte (von der Fehlermeldung her) sein, dass die zu includende Datei in einem Verzeichnis liegt, das nicht in der include_path-Variable vermerkt ist.

Wenn du sowieso XAMPP fährst, kannst du dieses Verzeichnis statisch eintragen, oder du kannst es generell für die Laufzeit des Skripts hinzufügen.

PHP:
ini_set('include_path', "neues_verzeichnis:".ini_get('include_path'));

Wichtig ist der Doppelpunkt nach dem neuen Verzeichnis.

Regards...
 
Zurück