PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Layout und PHP


dino-it
17.01.2006, 10:27:07
Hallo,
als absoluter Anfänger kämpfe ich im Moment mit dem Zusammenspiel zwischen meinem Layout und dem PHP Code
Ich habe mir über die Einbeziehung von CSS ein Layout gebaut das aus drei Boxen besteht. Header, Navigation, Ausgabe kann ich anschließend auch über <div id= ....., prima ansprechen. Nur wenn ich jetzt folgendes realisieren möchte habe ich keine Ahnung wie ich die Ausgaben in die entsprechende Box kriege.
Also Idee ist: beim Start ist Navigation leer, in Ausgabe Logon Maske ( das klappt auch bis dahin). Logon Prüfung erfolgt den Aufruf ....form action="pruef1.php...... Ist die Prüfung erfolgreich, möchte ich jetzt in der Box Navigation ein Formular aufbauen über das die weitere Steuerung übernimmt. Nur wie bekomme ich das Formular in der Box zur Anzeige. Oder geht so etwas nicht
Wenn das mit Frames einfacher zu lösen wäre ist mir das auch recht.
Danke in voraus
mfg
Dino-it

Opendix
18.01.2006, 08:31:15
Also, ich nehme mal an, dass du nach dem logon session-variabeln verwendest?
Oder wie machst du das?

Du könntest dann das so irgendwie machen:

<div><?php
if(isset($_SESSION['login']))
{
?>
Ja dann kommt hier deine navigation

<?php
} //noch die Klammer zu machen
?>
</div>


hoffe du kannst damit irgendwas anfangen :)

dino-it
18.01.2006, 11:57:51
Hallo Opendix,
im moment nicht wirklich, ich glaube mein Verständnisproblem liegt noch viel früher.
Ich habe versucht das ganze auf die Basis zu reduzieren. Ausgabe der daten in eine bestimmte box. Ich habe folgendes coding verwand
test1.php

<!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>TWSBrowser Start</title>
<meta http-equiv="Content-Type"
content="text/html; charset=us-ascii" />
<link href="page.css" type="text/css" rel="stylesheet" />

</head>

<body>
<div id="kopf" align="center">
<p> Hier Header hin </p>
</div>

<div id="navi" >
<form action="ausw.php" method="post">
<p><input type="submit" name="logon" value="Logon" /></p>
<p><input type="submit" name="admin" value="Admin Dialog"/></p>
<p><input type="submit" name="list" value="Ausgabe Listen"/></p>
</form>
</div>

<div id="inhalt" align="center">
<p> Hier Ausgabe hin </p>
</div>
</body>
</html>

page.css

#kopf {
background:gainsboro;
border:1px solid black;
height:80px;
width: 99%;
}
#navi {
width: 30%;
float: left;
background:silver;

border:1px solid black;
}
#inhalt {
width: 69%;
float:left;
background:gray;
border:1px solid black;
}

ausw.php

<?php
echo "
<div id=inhalt
<p> ausw.php soll in inhalt ausgeben </p>
</div>\n
";
?>

Die Ausgabe von ausw.php soll in die Box inhalt, gibt aber eine neue Seite

danke für die Unterstützung
dino-it

alexwess
18.01.2006, 12:19:09
ausw.php

<div id=inhalt >
<?php include ('dein_inhalt.php'); ?>
</div>\n

dino-it
18.01.2006, 12:47:17
Hallo alexwess,
das Ergebnis ist identisch, die Ausgabe erfolgt in einer neuen Seite,
wenn ich das Coding richtig verstehe ändert sich bei Deiner schreibweise nichts Grundsätzliches, der Include Befehl fügt doch nur den Code an dieser Stelle ein oder macht der noch mehr ?
mfg
dino-it

Opendix
18.01.2006, 12:52:38
Ach so... ich glaube jetzt habe ich dein Problem verstanden *g*
Also wenn ich dich wäre würde ich das mit dem Ansatz von alexwess machen!
ich würde eine Datei namens index.php machen, in diese machst du deine ganze seite rein und in dem teil, indem du den inhalt einbinden willst machst du sowas:

<div id=inhalt >
<?php
switch($_GET['sub'])
{
case 1:
include ('inhalt1.php');
break;
case 2:
include ('inhalt2.php');
break;
default:
include ('standardinhalt.php');
break;
}

?>
</div>

mit dieser Lösung müsstest du halt dein navigation so anpassen, dass der eine Button auf index.php?sub=1 und der andere auf index.php?sub=2 verlinkt ist, wird kein sub angageben wird die datei standardinhalt.php angezeigt!

willst du das mit den Buttons so lassen wie jetzt, kannst du ja einfach überprüfen, welcher Button gedrückt wurde und dann die gewünschte Datei einbinden:

<div id=inhalt >
<?php
if(isset($_POST['admin']))
{
include 'inhalt_admin.php';
}

if(isset($_POST['list']))
{
include 'inhalt_list.php';
}

if(!isset($_POST['admin']) && !isset($_POST['list']))
{
include 'standardinhalt.php';
}
?>
</div>


ob das funktioniert mit dem isset wenn man den einen oder anderen Button druckt weis ich überhaupt nicht, vielleicht mus man das auch anders prüfen, aber der ansatz soltle stimmen :)
hoffe hat dir geholfen ;)
greetz

edit: definier bitte mal was "in einer neuen Seite" bedeutet?

alexwess
18.01.2006, 12:55:18
na sicher,

das könnte er natürlich auch meinen.

dino-it
18.01.2006, 13:37:34
Hallo Opendix,
danke es funktionieren beide Varianten. WAs ich nicht begriffen hatte, war, das man das "startscript" selber immer wieder aufrufen muss um das ganze so zu handeln.
Danke für die Hilfe und bis bald zur nächsten Frage
mfg
dino-it