zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Title-Tag aus anderer Datei mit PHP

Antwort
 
LinkBack Themen-Optionen Ansicht
  #21 (permalink)  
Alt 09.09.2016, 17:17
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich verstehe deinen Code ehrlich gesagt nicht und weiss nicht was du vorhast.

Du musst nur dafür sorgen, dass du zuerst die Daten verarbeitest und dann ausgibst. Bei dem Code den du uns gezeigt hast, ist dass nicht der Fall, daher kann man den auch nicht verwenden.
Mit Zitat antworten
Sponsored Links
  #22 (permalink)  
Alt 15.09.2016, 10:20
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

warum fängst du denn anderswo einen neuen Thread an?
Problem mit dem Tag "title" - PHP Forum: phpforum.de

Mir ist immer noch nicht klar, woran du scheiterst?
Mit Zitat antworten
Sponsored Links
  #23 (permalink)  
Alt 15.09.2016, 10:43
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.11.2015
Beiträge: 191
David1997 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
warum fängst du denn anderswo einen neuen Thread an?
Problem mit dem Tag "title" - PHP Forum: phpforum.de

Mir ist immer noch nicht klar, woran du scheiterst?
Hallo protonenbeschleuniger,
der Thread ist nicht von mir, auch, wenn ich zugeben muss, dass es stark danach aussieht. Ich bin nur hier und auch Stackoverflow aktiv.

Er scheint aber wohl das selbe Problem, wie ich zu haben.

Ich bin noch an einer Lösung dran.
Mit Zitat antworten
  #24 (permalink)  
Alt 15.09.2016, 10:57
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

wobei ich nach wie vor nicht das Problem verstehe.

Du kannst nichts ausgeben was noch nicht vorhanden ist. D.h. du musst der der Variabel (in deinem Fall $title) vor dem benutzen einen Wert zuweisen. Was auch durch das EVA Prinzip erklärt wird. Du musst vor der Ausgabe erst "Verarbeiten" und in deinem Fall verstehe ich auch nicht, warum du glaubst du kannst include nur innerhalb des body-Tags verwenden.

Genau da, gehört er nach dem EVA Prinzip nicht hin. Da gehört lediglich die Ausgabe hin. include (und der Rest von "EV") gehört vor den DOCTYPE, da du nur dort evtl. noch den header ändern kannst (falls du mal kein HTML ausgeben musst)
Mit Zitat antworten
  #25 (permalink)  
Alt 19.09.2016, 12:04
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.11.2015
Beiträge: 191
David1997 befindet sich auf einem aufstrebenden Ast
Standard Lösung gefunden

Ich habe nun eine Lösung gefunden.

Hier ist der Code:

PHP-Code:
<?php
ob_start
();
$content $_GET['content'];
if(isset(
$_GET['content'])) {
    include 
$content;
}
else {
    include 
"home.php";
}
$html_content ob_get_contents();
ob_end_clean();
?>
<!DOCTYPE html>
<html>
<head>
<title><?php
if(isset($title)) {
    echo 
$title;
}
else {
    echo 
"Homepage | Meine Website";
}
?></title>
</head>
<body>

<?php
include "navigation.php";
?>
<?php
echo $html_content;
?>

</body>
</html>
Er funktioniert wie folgt: "navigation.php" wird immer geladen, das ist die Navigation.

Wenn ich auf meiner Startseite bin, wird die Datei "home.php" mit "echo $html_content;" inkludiert, da kein "$_GET['content']" zu finden ist.

Als title wird "Homepage | Meine Website" angezeigt.

Wenn ich allerdings nicht auf der Startseite, sondern auf einer Unterseite bin, gibt es einen $_GET-Parameter à la "www.example.com/?content=contact.php".

Das heißt, der Inhalt von "contact.php" wird im body mit "echo $html_content;" inkludiert.

Als title wird in meinem Fall "Kontaktformular | Meine Website" angegeben, da contact.php so aussieht:

PHP-Code:
<?php $title "Kontaktformular | Meine Website";?>
<p>Hier ist das, was per include eingefügt werden soll, gerne auch PHP-Code</p>
Mit Zitat antworten
  #26 (permalink)  
Alt 19.09.2016, 12:58
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Der Code ist hoffentlich so nicht im Internet erreichbar?
Er ist eine Sicherheitslücke.

Einfacher wäre es wenn du nicht die Datei als Ausgabe definierst und dann diese Ausgabe abfängst, sondern in den Dateien Funktionen definierst, die dann den Code ausgeben.

also in der contact.php:
PHP-Code:
<?php
function getTitle(){
  return 
"Kontaktformular | Meine Website";
}
function 
getContent(){
?>
<p>Hier ist das, was per include eingefügt werden soll, gerne auch PHP-Code</p>
<?php
}
?>
und in deiner Hauptdatei:
HTML-Code:
<!DOCTYPE html>
<html>
<head>
<title><?php echo getTitle(); ?></title>
</head>
<body>
<?php
echo getContent();
?>
</body>
Mit Zitat antworten
  #27 (permalink)  
Alt 25.09.2016, 16:24
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.11.2015
Beiträge: 191
David1997 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Der Code ist hoffentlich so nicht im Internet erreichbar?
Er ist eine Sicherheitslücke.
Warum ist der Code so eine Sicherheitslücke? Was kann da wie passieren?
Mit Zitat antworten
  #28 (permalink)  
Alt 26.09.2016, 10:41
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.011
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Du nimmst den Pfad zu deinen "content"-Dateien ungeprüft aus der URL. Man kann sich so beliebige Dateien auf deinem Server/Webspace ausliefern lassen und muss nur wissen oder raten wo sie liegen und wie sie heißen.
Mit Zitat antworten
  #29 (permalink)  
Alt 26.09.2016, 10:43
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Da du die Nutzereingabe nicht auf Gültigkeit prüfst, erlaubst du es jeden Skripte auf deinem Server auszuführen.
Mit Zitat antworten
Sponsored Links
  #30 (permalink)  
Alt 26.09.2016, 10:44
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.649
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von inta Beitrag anzeigen
muss nur wissen oder raten wo sie liegen und wie sie heißen.
oder mit Hilfe einer anderen Lücke (wer so etwas einbaut, wird auch anderswo nicht aufmerksamer sein) Dateien auf den Server laden kann.
Mit Zitat antworten
Sponsored Links
Antwort

Stichwörter
html, include, php, title

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Auch nach Navigation Abstand einhalten David1997 (X)HTML 19 30.08.2016 18:50
PHP Script Tag Cloud SPMan Serveradministration und serverseitige Scripte 10 07.06.2008 14:39
php Datei in css webseite einbinden X5-599 Serveradministration und serverseitige Scripte 14 19.05.2008 10:52
Div im IE zu hoch RancoR CSS 10 10.07.2007 00:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 Uhr.