PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Include in Echo


thommy89
13.02.2010, 11:58:27
Guten Tag,
ich habe Probleme mit einem "include"-Befehl.
Die Datei sieht vom Quelltext her so aus:

<?php
include ("header.php");
echo '
<!-- Container start -->
<div id="container">

<!-- Links start -->
<div id="left">';

include ("../menu.php");

echo '
</div>
<!-- Links ende -->

<!-- Rechts start -->
<div id="right">

</div>
<!-- Rechts ende -->

<!-- Mitte start -->
<div id="center">
</div>
<!-- Mitte ende -->

</div>
<!-- Container ende -->';

include_once ( 'footer.php' );
?>

Allerdings bekomme ich die "includes" Menu & Footer nicht angezeigt.
Im Seitenquelltext von Mozilla Firefox werden diese nur lila dargestellt.
Kennt jemand Rat.
Danke
Mit freundlichen Grüßen
Thomas

joethe
13.02.2010, 12:02:16
Versuche es mal so:

<?php
include ("header.php");
echo "
<html>
<head>
</head>
<body>

<!-- Container start -->
<div id='container'>

<!-- Links start -->
<div id='left'>". include ('../menu.php'); ."</div>
<!-- Links ende -->

<!-- Rechts start -->
<div id='right'>

</div>
<!-- Rechts ende -->

<!-- Mitte start -->
<div id='center'>
</div>
<!-- Mitte ende -->

</div>
<!-- Container ende -->

". include_once ( 'footer.php' ); ."
</body>
</html>";
?>

vt1816
13.02.2010, 12:05:18
War mal so frei und habe für Dich die Verhaltensregeln im SELFPHP-Forum (http://www.selfphp.de/forum/announcement.php?f=12) gelesen und übersetzt ... ;-)

thommy89
13.02.2010, 12:21:58
Danke,
die Verbesserung von vt1816 hat schon geholfen.
Allerdings zeigt er mir jetzt keine Variable mehr an:
$actualuser
Gibt es da noch einen Tipp?
Grüße
Thomas

vt1816
13.02.2010, 12:34:42
Danke,
die Verbesserung von vt1816 hat schon geholfen.


Bitte, gern geschehen ...


[...]
Allerdings zeigt er mir jetzt keine Variable mehr an:
$actualuser
Gibt es da noch einen Tipp?


Wo kommt die Variable her? Kann sie in Deinem Code nicht entdecken...

joethe
13.02.2010, 12:38:23
Danke,
die Verbesserung von vt1816 hat schon geholfen.
Allerdings zeigt er mir jetzt keine Variable mehr an:
$actualuser
Gibt es da noch einen Tipp?
Grüße
Thomas

Variablen wiird dir das Browserfenster auch nicht anzeigen. Höchstens den Wert der Variable. Vorausgesetzt zu gibst sie mit echo aus ;-)

Was steht denn in dem File footer.php?

thommy89
13.02.2010, 12:39:19
Das veränderte Script:

<?php
include ('protect.php');
include ("header.php");
echo
<<<html

<!-- Container start -->
<div id="container">

<!-- Links start -->
<div id="left"><? include ("../menu.php"); ?></div>
<!-- Links ende -->

<!-- Rechts start -->
<div id="right">

</div>
<!-- Rechts ende -->

<!-- Mitte start -->
<div id="center">
<h1>Welcome $actualuser</h1></div>
<!-- Mitte ende -->

</div>
<!-- Container ende -->

include_once ( 'footer.php' );
html;
?>
Grüße

vt1816
13.02.2010, 12:59:25
Wo wird die Variable $actualuser definiert? In Deinem Code wird sie nur angezeigt.

Die Datei menu.php wir auch im veränderten Script nicht mit eingebunden.

thommy89
13.02.2010, 13:03:42
$actualuser wird in protect.php definiert.
Protect.php wird in Zeile 2 includet.
Grüße

vt1816
13.02.2010, 13:06:29
Code?

Ist die Variable evtl. leer?

thommy89
13.02.2010, 13:09:45
Code:
<?php
session_start();
$clientname= $_SESSION['clientname'];
$actualuser= $_SESSION['uname'];
$userlocation= $_SESSION['userlocation'];
$email= $_SESSION['email'];
$extrainfo= $_SESSION['extrainfo'];
$buffer =file_get_contents($userlocation);
$tmsgs= "(".substr_count($buffer,'|inbox|').")";
$userjpg="userdata/avatars/$actualuser".".jpg";
$usergif="userdata/avatars/$actualuser".".gif";
$date = date("F j, Y");
if (file_exists($userjpg)) {
$avatar=$userjpg;
}
elseif (file_exists($usergif)) {
$avatar=$usergif;
}
else {
$avatar="userdata/avatars/nopicture.jpg";
}
if ($_SESSION['login']<>'yes') {
echo <<<html
<br><br><br><br>
<div align="center">
<table border="1" width="54%" cellspacing="0" cellpadding="0" height="121">
<tr>
<td width="100%" height="119" valign="middle">
<p align="center"><b><font color="#000080">Your are not authorised to
access this area - if this is incorrect please contact administration - <a href="http://localhost/userhi/user/index.php">CLICK
HERE TO LOGIN</a></font></b></p>
<p align="right"><b><font size="3" color="#ADADAD">Redirecting.....</font></b></td>
</tr>
</table>
</div>
html;
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"3; URL=index.php\">");
exit();
}
?>

joethe
13.02.2010, 13:16:25
Das veränderte Script:

<?php
include ('protect.php');
include ("header.php");
echo
<<<html

<!-- Container start -->
<div id="container">

<!-- Links start -->
<div id="left"><? include ("../menu.php"); ?></div>
<!-- Links ende -->

<!-- Rechts start -->
<div id="right">

</div>
<!-- Rechts ende -->

<!-- Mitte start -->
<div id="center">
<h1>Welcome $actualuser</h1></div>
<!-- Mitte ende -->

</div>
<!-- Container ende -->

include_once ( 'footer.php' );
html;
?>
Grüße

Logisch wird von $actualuser nichts ausgegeben. Weil alles falsch formatiert ist.

<?php
include ('protect.php');
include ("header.php");
?>

<!-- Container start -->
<div id="container">

<!-- Links start -->
<div id="left"><?php include ("../menu.php"); ?></div>
<!-- Links ende -->

<!-- Rechts start -->
<div id="right">

</div>
<!-- Rechts ende -->

<!-- Mitte start -->
<div id="center">
<h1>Welcome <?php echo $actualuser; ?></h1></div>
<!-- Mitte ende -->

</div>
<!-- Container ende -->

<?php
include_once ( 'footer.php' );
?>

So läufts bestimmt!

vt1816
13.02.2010, 13:22:00
Logisch wird von $actualuser nichts ausgegeben. Weil alles falsch formatiert ist.

[...]

So läufts bestimmt!

Sorry, aber hier irrst Du gewaltig.

Mit Deinem (Achtel-)Wissen hilft Du hier keinem. Nimm den Code von thommy89 einfach und teste ihn. Du wirst erstaunt sein was alles angezeigt wird (mit Ausnahme von menu.php).

vt1816
13.02.2010, 13:24:28
@thommy89,

lass Dir mal $_SESSION in protect.php ausgeben... Was erhältst Du?

thommy89
13.02.2010, 13:25:21
Perfekt.
Läuft.
Ich danke und wünsche euch ein schönes Wochenende
Thomas

joethe
13.02.2010, 13:27:49
Sorry, aber hier irrst Du gewaltig.

Mit Deinem (Achtel-)Wissen hilft Du hier keinem. Nimm den Code von thommy89 einfach und teste ihn. Du wirst erstaunt sein was alles angezeigt wird (mit Ausnahme von menu.php).

Es sieht halt einfach übersichtlicher und verständlicher aus. Und dass ist ein zentraler Punkt beim Programmieren. Dass der Code übersichtlich und schnell verständlich ist!

vt1816
13.02.2010, 13:34:10
Es sieht halt einfach übersichtlicher und verständlicher aus. Und dass ist ein zentraler Punkt beim Programmieren. Dass der Code übersichtlich und schnell verständlich ist!

Jeder hat seinen eigenen Stil und den solltest Du auch thommy89 lassen. Solange er sich damit zurecht kommt, ist es seine Sache. Dir schreibt doch auch keiner vor wie Du Deinen Code formatieren sollst.

vt1816
13.02.2010, 13:34:56
Perfekt.
Läuft.
Ich danke und wünsche euch ein schönes Wochenende
Thomas

Bitte ...

... und Dir auch!

joethe
13.02.2010, 13:39:20
Jeder hat seinen eigenen Stil und den solltest Du auch thommy89 lassen. Solange er sich damit zurecht kommt, ist es seine Sache. Dir schreibt doch auch keiner vor wie Du Deinen Code formatieren sollst.

Genau das ist das Problem, worin die Informatikbranche heutzutage steckt. Jeder hat einen anderen Stil. Dadurch wird der Komptabilitätsaufwand zwischen Modulen in der Software immer aufwändiger...

cortex
13.02.2010, 13:46:00
Genau das ist das Problem, worin die Informatikbranche heutzutage steckt. Jeder hat einen anderen Stil. Dadurch wird der Komptabilitätsaufwand zwischen Modulen in der Software immer aufwändiger...

alle achtung... klingt so, als hättest du schon x (grössere) projekte entwickelt und entsprechende erfahrungen gesammelt. lass mal gut sein... wenn du das thema vertiefen möchtest, splitte ich das gern in einen neuen thread, ok?

cx