Costum Page PHP Programmierung - Cannot modify header info ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
DonKanaille
Mitglied
Beiträge: 2
Registriert: 08.04.2016 19:20

Costum Page PHP Programmierung - Cannot modify header info ?

Beitrag von DonKanaille »

Guten Tag,

es geht darum auf einer zu dem phpBB 3.1.8 Forum hinzugefügte Seite Produktinformationen darzustellen.

Die Informationen werden aus einer Datenbank abgerufen und in form einer Tabelle ausgegeben. Damit nicht zu viele Produkte auf einer Seite stehen wurde via PHP eine Seitenauswahl integriert. Hier kommt es leider zu folgendem Fehler.

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\phpBB_Projekt\cache\twig\e\5\e5cc042b0fcf626a89b3c117c0bf881a817ba5d7a388d225c151580498a57dd8.php:154) in C:\xampp\htdocs\phpBB_Projekt\includes\functions.php on line 2535
Der PHP-Code wurde in der costum_page.html realisiert, liegt hier das Problem ? Gibt es Möglichkeiten HTML und PHP zu 100% zu trennen so das nur in der costum_page.php PHP Code vorhanden ist ? (Ohne Blätterfunktion läuft der PHP-Code)

Evtl. hatte jemand das gleiche Problem und kann helfen, würde mich riesig freuen :)
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11954
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Costum Page PHP Programmierung - Cannot modify header in

Beitrag von Crizzo »

Hi,

wie gibst du denn diese Inhalt aus?

Vermutlich verwendest du nicht die phpBB-interne Template-Engine. Deshalb gibt es zwei "Funktionen", die quasi gleichzeitig Inhalt ausgeben wollen. Deshalb beschwert sich jetzt die phpBB-Template-Engine, dass sie nicht die "header informationen" senden kann, da dafür schon Informationen gesendet wurden, eben durch die frühere Ausgabe von Text.

Also, wie gibst du deinen Inhalt aus?

Grüße
DonKanaille
Mitglied
Beiträge: 2
Registriert: 08.04.2016 19:20

Re: Costum Page PHP Programmierung - Cannot modify header in

Beitrag von DonKanaille »

Danke für die Antwort :)

Die Seite läuft mit einem Template von Themeforest.

EDIT: Habe phpBB neu installiert ohne Template und folgendes Grundgerüst.

test.php:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');

// Output page
page_header($page_title, true);

$template->set_filenames(array(
    'body' => 'test.html')
);

page_footer();
 
test.html:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<h2>TEST</h2>

<!-- PHP -->
$pdo = new PDO('mysql:host=localhost;dbname=db_test', 'root', '');

//Ermittelt die Anzahl der Produkte
$statement = $pdo->prepare("SELECT COUNT(*) AS anzahl FROM product_01");
$statement->execute();
$row = $statement->fetch();
$anzahl_eintrage = $row['anzahl'];
echo "$anzahl_eintrage einträge in Datenbank<br><br>";

//Berechne alles notwendige für die Blätterfunktion
$seite = 1;
if(isset($_GET['seite'])) {
	$seite = intval($_GET['seite']);
}

$beitraege_pro_seite = 20;
$start = ($seite-1)*$beitraege_pro_seite;

//Abfrage der Datenbank und Ausgabe der Daten
$statement = $pdo->prepare("SELECT * FROM cpu LIMIT :start, :limit");
$statement->bindParam(':start', $start, PDO::PARAM_INT);
$statement->bindParam(':limit', $beitraege_pro_seite, PDO::PARAM_INT);
$statement->execute();
while($row = $statement->fetch()) {
	$Title = $row['Title'];
	echo $Title .'<br>';
}
 
//Berechne die Anzahl der Seiten:
$anzahl_seiten = ceil($anzahl_eintrage / floatval($beitraege_pro_seite));
 
//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";
 
 
//Ausgabe der Links zu den verschiedenen Seiten
for($a=1; $a <= $anzahl_seiten; $a++) {
	if($seite == $a){
		echo " <b>$a</b> ";
	} else {	//Aus dieser Seite ist der User nicht, also einen Link ausgeben
		echo " <a href=\"?seite=$a\">$a</a> ";
	}
}
echo "</div>";
<!-- ENDPHP -->

<!-- INCLUDE overall_footer.html -->
Antworten

Zurück zu „Coding & Technik“