[PHP] HTML und PHP Problem im echo

smaak

Well-known member
7 Mai 2006
2.811
357
Mahlzeit!

Kaum ein Problem gelöst, taucht das nächste auf!
Ich habe es tatsächlich zustande bekommen, einen Administrationsbereich für unsere Firmenpage auf die Beine zu stelle. Mit zwei Rängen (Admin, Co-Admin) und sowas alle. Jetzt hapert es aber an einer, ich denke mal, Kleinigkeit. Ich möchte eine Seite online bearbeiten, welches nur durch einen Admin möglich ist. Die Rechtevergabe klappt, aber die Ausgabe nicht so ganz. Ich gebe den Inhalt der Seite in einem echo aus, in dem auch die zu ladende Seite logischerweise angezeigt werden muss/soll. Allerdings zeigt er mir dann den php-code an der zwischen den textarea-Tags steht. Hier mal der Code:

PHP:
<?php
include ("checkuser.php");
include("./header.php"); 

$user = $_SESSION["user_rang"];
if ($user == Admin)

echo
'<form action="text_schreiben.php" method="post" name="form1" class="text">
<p>Adminbereich ändern<br>
<textarea name="text" cols="90" rows="15" wrap="OFF" id="text">
<? $fp = fopen("intern.php","r");
if ($fp)
{
while(!feof($fp))
{
$text = fgets($fp,100);
echo"$text";
}
fclose($fp); ?>
</textarea>
</p>
<p>
<input type="submit" name="Submit" value="speichern">
</p>
</form>';

else

echo '<b>Keine Adminrechte!</b><br><br>';

include("./footer.php");?>

Zwischen den beiden textarea-Tags liegt wohl der Fehler, welcher mich zur Weißglut bringt. Habt Ihr evtl. einen kleinen Tipp?
 
Wie wäre es so hier^^

PHP:
<?php
include ("checkuser.php");
include("./header.php"); 

$user = $_SESSION["user_rang"];
if ($user == 'Admin')
{

echo '
<form action="text_schreiben.php" method="post" name="form1" class="text">
<p>Adminbereich ändern<br>
<textarea name="text" cols="90" rows="15" wrap="OFF" id="text">';
$fp = fopen("intern.php","r");
if ($fp)
{
while(!feof($fp))
{
$text = fgets($fp,100);
echo"$text";
}
fclose($fp);
}
echo '
</textarea>
</p>
<p>
<input type="submit" name="Submit" value="speichern">
</p>
</form>';

}else{
  echo '<b>Keine Adminrechte!</b><br><br>';
}
include("./footer.php");
?>
 
Super!

Vielen, vielen Dank! Klappt!
Ich muss zugeben mit den ganzen Klammern und Apostrophen tu ich mich noch ziemlich schwer. :)

PS: bekommt ein grünes Pöpelchen für die schnelle Hilfe!
 
man könnte ja z. B. den Code auch Splitten und HTML und PHP jeweils immer "trennen" (in dem Falle auf einer Seite)

PHP:
<?
fopen(.....
...
?>
<form action=...
Prozent <input name="pro" value="<?=$pro;?>">
</form>
...

damit wäre es auf jeden Fall schon mal einfacher mal die extrem verschachtelten echos
 
Ist aber verdammt uneffizient. Laut Benchmarks ist das die, oder einer der lahmsten Methoden.
Am besten waere natuerlich seinen HTML Code ganz aus den Dateien rauszuschaufeln durch ein Template System o.Ae. ...

hehe, wir reden hier von nano-sekunden, wen interssieren die schon? :roll:
LasMiranda hat schon recht, so etwas wäre deutlich besser zu lesen, nen Template-System wäre dann noch die Krönung :yes:
 
Templatesystem? Also ich arbeite momentan mit:
PHP:
include("./header.php");
und
PHP:
include("./footer.php");
als Trennung zwischen HTML und PHP. Das sollte wie ich finde doch ausreichen oder? Gut, wenn mal ein paar Sachen, wie in diesem Fall Formularangaben in HTML drinstehen wird sich das sicherlich nicht auf die Performance auswirken oder?

MfG
 
Template-System wirkt sich eh negativ auf die Performance aus, aber das sind nur nano-Sekunden, das bekommt man durch optimieren einer Datenabfrage vielfach wieder raus.
Neija wie man es sieht, ich trenne meinen HTML-Code komplett von PHP, finde dadurch lässt sich viel einfacherer programmieren und es ist alles leichter durchzusehen, als wenn da überall Formular-Ausgaben etc sind