Frames und PHP

ok noch ne frage!!

Wie ist das denn dann mit Links

PHP:
echo "<a href='logout.php' target='Daten'>Logout</a>

so kann ich das ja wohl vergessen da ich ja dann keine frames mehr habe funktioniert das mit dem target ja nicht mehr.
 
vielen Dank an Tim Comanns, outofdate war gemeint. :-( :( ;)

@sessions und frames: das problem ist, wenn du in allen Frames die Session startest und es existiert noch keine, dann werden genausoviele Sessions initialisiert, wie du startest.
Wenn du ein Menü-Frame und ein Contant-Frame hast, musst du beim ersten Aufruf der Seite z.B. die Session im Menü starten und jegliche notwendige Variablen, die normalerweise später die Session transportiert per get im Frameset übergeben.

Wenn die Session dann gestartet ist, kannst du sie auch im Contant-Frame benutzen (session_start())

btw: es starten die verschiedensten Browser die Session unterschiedlich. Soweit ich weiß reagiert Netscape dabei etwas anders, sodass das Problem mit 2 Sessions pro browserzugriff mir vorerst nicht auffiel.
 
Du musst dann natürlich immer auf deine Basedatei z.B. index.php linken und als Querystring das anhängen was beim switchen der Querystring Variablen ausgewertet wird.
PHP:
<a href="index.php?goto=logout">bla</a>
Zum Beispiel so, wenn du dann nachher die Variable $_GET['goto'] switchst.
 
also ich hab jetzt folgendes in meiner index.php stehen

PHP:
<table border="0" cellpadding="0" cellspacing="0" width="100%">

<tr>

    <td width="20%"><?php include "menu.php" ?></td>

    <td width="80%" style="padding-left:10px;">

        <?php include $_GET['view']."" ?>
        
		
    </td>

</tr>

</table>

und in meiner menu.php

PHP:
<body text="#000000" background="back.jpg" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php

session_start();

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {

	echo "<a href='index.php?view=logout.php'>Logout</a><br><p></p>";
	echo "<p></p>";
	echo "<a href='index.php?view=char.php'>Mein Charakter</a>";
	echo "<p></p>";
} else {
	
	echo "<a href='index.php?view=login.php'>Login</a><br><p></p>";
	
}

echo "<a href='index.php?view=regeln.php'>Regeln</a><br>";
echo "<p></p>";
echo "<a href='index.php?view=forum.php'>Forum</a><br>";
echo "<p></p>";
echo "<a href='index.php?view=uber'>Über die HP</a><br>";


?>

Da ich aber in der index.php keine seite angegeben habe bekomme ich folgende fehlermeldung

Warning: main(): Failed opening '' for inclusion (include_path='.;C:\Eigene Dateien\xampp\php\pear\') in C:\Eigene Dateien\xampp\htdocs\meine\Rollenspiel\index.php on line 9


aber wenn ich eine in der index.php zum bsp. startseite.php eintrage und dann die Variable view switche, bekomme ich folgenden fehler

Warning: main(login.phpstartseite.php): failed to open stream: No such file or directory in C:\Eigene Dateien\xampp\htdocs\meine\Rollenspiel\index.php on line 9

Hoffe ihr könnt mir noch ein letztes mal helfen damit es funktioniert.


Gruß
 
Zunächst einmal: Geduld ist schwer im Trend.

Zu deinem Problem. Ich hatte dir bereits gesagt, dass du die via GET übergebene Variablen durch eine Switch Anweisung laufen lassen sollst. Das hast du nicht gemacht.
Das Theoretische Konstrukt würde so aussehen.
PHP:
//Im Menü hast du
<a href="index.php?display=1">1</a>
<a href="index.php?display=2">2</a>
<a href="index.php?display=3">3</a>
//Dann machst du in dem Bereich wo der Content hinsoll folgendes:
switch($_GET['display']) {
 case '1':
  include('zBhome.php');
  break;
 case '2':
  include('zBmemyselfandi.php');
  break;
 case '3':
  include('zBimpressum.php');
  break;
 default:
  include('zBhome.php');
}
//Damit sollte dir eigentlich genügend Gedankenanstoß gegeben sein.

PS: Es wäre nett wenn du in Zukunft auf Groß/Kleinschreibung achten würdest wie es in der Netiquette ( http://www.tutorials.de/help/about-us ) Punkt 12 erwähnt ist. Dann lassen sich Beiträge angenehmer lesen und es lassen sich evtl. mehr User darauf ein, dir zu helfen ;)
 
Zuletzt bearbeitet von einem Moderator:
Also erstmal Danke das du nicht gleich die Gedult verloren hast aber warscheinlich tust du es jetzt gleich, wenn ich dir sage das es trotzdem nicht funktioniert!!

Also ich habe folgenden Code

menu.php

PHP:
<body text="#000000" background="back.jpg" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php

session_start();

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {

	echo "<a href='index.php?view=logout'>Logout</a><br><p></p>";
	echo "<p></p>";
	echo "<a href='index.php?view=char'>Mein Charakter</a>";
	echo "<p></p>";
} else {
	
	echo "<a href='index.php?view=login'>Login</a><br><p></p>";
	
}

echo "<a href='index.php?view=regeln'>Regeln</a><br>";
echo "<p></p>";
echo "<a href='index.php?view=forum'>Forum</a><br>";
echo "<p></p>";
echo "<a href='index.php?view=uber'>Über die HP</a><br>";


?>

und dann halt die Seite wo dann alles angezeigt werden soll

startseite.php

PHP:
<html>
<head>
<title></title>
<meta name="author" content="PCKing">
<meta name="generator" content="">
</head>
<body text="#000000" background="back.jpg" link="#FF0000" alink="#FF0000" vlink="#FF0000">




<?php
switch($_GET['view']) {

 case 'logout':

  include('logout.php');

  break;

 case 'char':

  include('char.php');

  break;

 case 'login':

  include('login.php');

  break;

 default:

  include('startseite.php');

} ?>

und dann fehlt ja noch die index.php

PHP:
<table border="0" cellpadding="0" cellspacing="0" width="100%">

<tr>

    <td width="20%"><?php include "menu.php" ?></td>

    <td width="80%" style="padding-left:10px;">

       
        
		
    </td>

</tr>

</table>


Ich hoffe das nochmal jemand so nett ist und mir hilft!!

Danke schonmal!

Gruß
 
Hallo ? Logik ? Du definierst eine Startseite.php und bindest sie nirgends ein ? Wie soll das denn gehen ?

Also nochmal. Du baust eine index.php in die kommt

1.Dein Menü, via include oder direkt reingeschrieben
2.Die Switch Anweisung. DIREKT REINGESCHRIEBEN.

Das heisst du hast NUR eine index.php und die zu includenden Content Dateien. Alles andere ist unnötig kompliziert und würde mich jetzt in den Wahnsinn treiben. Ich hoffe das reicht dir an Info.
 
Zurück