Hallo Fasse,
sorry, ich hätte es mir ja auch denken können.
Die Fehlermeldung lautet wie folgt;
Warning: Cannot modify header information - headers already sent by (output started at /www/.../adm_program/system/classes/htmlform.php:1965) in
/www/.../adm_program/system/classes/htmlpage.php on line 602
Meine Formulare laufen derzeit alle mit html Code, aber ich möchte diese gerne an der neueren Software anpassen. Verstehe dazu aber noch nicht die Möglichkeiten. Habe mir lange das Login Plugin angesehen und auch die profile_new.php versucht zu verstehen, aber wahrscheinlich reicht mein PHP noch nicht, um den Umfang zu verstehen.
In meinem Formular, was ich gerne anpassen möchte, geht es um Rechnungen, bzw. Forderungen, die wir in unserem Verein immer archivieren und auch hier eintragen. Es werden über Admidio auch die monatlich zu zahlenden Beträge generiert.
Das bedeutet, dass wir am Monatsende in Admidio gucken, was bezahlt werden muss. Die jährliche Pacht, die quartals-Zahlungen für Versicherungen und die monatlichen Abschläge kann so jeder bei uns anweisen. Jeder kann sehen, wann, was und wer bezahlt hat.
Ich habe das mit einer Datei gelöst.
Code: Alles auswählen
<?php
// Pfad des Plugins ermitteln
$plugin_folder_pos = strpos(__FILE__, 'adm_plugins') + 11;
$plugin_file_pos = strpos(__FILE__, 'liste.php');
$plugin_folder = substr(__FILE__, $plugin_folder_pos+1, $plugin_file_pos-$plugin_folder_pos-2);
if(!defined('PLUGIN_PATH'))
{
define('PLUGIN_PATH', substr(__FILE__, 0, $plugin_folder_pos));
}
require_once(PLUGIN_PATH. '/../adm_program/system/common.php');
require_once(PLUGIN_PATH. '/'.$plugin_folder.'/config.php');
// Liste nur anzeigen, wenn notwendige Rechte vorhanden sind
$showPlugin = false;
foreach ($plgFreigabe AS $i)
{
if($i == 'Alle')
{
$showPlugin = true;
}
elseif($i == 'Benutzer'
&& $g_valid_login == true)
{
$showPlugin = true;
}
elseif($i == 'Rollenverwalter'
&& $g_current_user->assignRoles())
{
$showPlugin = true;
}
elseif(hasRole($i))
{
$showPlugin = true;
}
}
$headline = ''.$gL10n->get('SYS_OVERVIEW').' der Forderungen';
// create html page object
$page = new HtmlPage($headline);
// wenn Benutzer keine Rechte hat, dann Fehler ausgeben
if($showPlugin == false)
{
$page->addHtml('<h3>Sie haben keine Berechtigung für diese Seite!</h3>');
$page->show();
}
else{
//Standardseite
if (!isset($_POST['action']) && !isset($_GET['action'])) {
include("inc/liste.inc.php");
}
/* Forderung bearbeiten */
if (isset($_GET['action']) && $_GET['action']=="forderung_edit") {
include("inc/forderung_edit.inc.php");
}
/* Neue Forderung anlegen */
if (isset($_GET['action']) && $_GET['action']=="forderung_neu") {
include("inc/forderung_neu.inc.php");
}
/* Forderungen begleichen */
if (isset($_GET['action']) && $_GET['action']=="forderung_begleichen") {
include("inc/forderung.inc.php");
}
if (isset($_GET['action']) && $_GET['action']=="test") {
include("inc/test.inc.php");
}
$page->show();
}
?>
Das funktioniert bisher auch alles bestens.
Nun aber an der Modification scheitere ich.
Meine Versuche sind nun in der test.inc.php
Da ich bisher nur header Fehler habe, ist das Script noch nicht weit, sieht aber so aus;
Code: Alles auswählen
<?php
$form = new HtmlForm('forderung', $g_root_path.'/adm_plugins/Buchhaltung/forderung_neu_save.php');
$form->addInput('rnr', 'Rechnungnummer', null, array('property' => FIELD_REQUIRED));
$form->addInput('r_betrag', 'Rechnungsbetrag', null, array('property' => FIELD_REQUIRED));
$form->addSubmitButton('next_page', 'Erstellen');
$form->show();
?>