Hallo,
derzeit baue ich ein Form mit HTML_QickForm und möchte natürlich das aussehenetwas verändern. Mein Problem ist, dass ichden Fehler nicht finde, da ich eigentlich nicht all zu viel mit OOP arbeite.
Ich bekomme die Fehlermeldung:
Call to a member function elementToHtml() on a non-object in
wenn ich folgendes Script ausführe:
<?php //Formular 1 erstellt mit der PEAR HTML_QuickForm<br />
// Session Starten
session\_start();
//include der PEAR-Klasse
require\_once('HTML/QuickForm.php');
require\_once 'HTML/QuickForm/Renderer/Default.php';
include('../includes/func\_inc.php');
// erstellt neue Objekte
$form = new HTML\_QuickForm('form\_1', 'post');
$render = new HTML\_QuickForm\_Renderer\_Default();
// Declaration der Formularelemente
$form-\>addElement('header', 'MyHeader', 'Bitte wählen Sie eien Packet aus:'); // Header (pflicht)
// Pakete
$checkbox[] = $form-\>addElement('checkbox', 'paket0', null, 'Power Visitenkarte');
$checkbox[] = $form-\>addElement('checkbox', 'paket1', null, 'Small Power Paket');
$checkbox[] = $form-\>addElement('checkbox', 'paket2', null, 'nächstes Packet');
$checkbox[] = $form-\>addElement('checkbox', 'paket3', null, 'noch ein');
$checkbox[] = $form-\>addElement('checkbox', 'paket4', null, 'noch ein');
$form-\>addGroup($checkbox, 'ichkABCD', '', '
' );
// Validierungsregeln festlegen
$form-\>setRequiredNote('\* Bitte eines der Felder auswählen'); // setzt Hinweis auf Deutsch ein
$form-\>addGroupRule('ichkABCD', 'Bitte wählen Sie ein Paket', 'required', null, 1);
// Zusätzliche URL bestellen
$form-\>addElement('checkbox', 'zusatzDomain', '', 'Ich möchte eine zusätzlich Domain bestellen', '1', "class=form");
// Buttons
$form-\>addElement('submit', 'weiter', 'Bestellung fortsetzen \>\>', "class=form");
//--- GENRERIEREN UND AUSGABE DER TEMPLATES ---//
// iniziiert den Templateparser PFLICHT !! (NACH Elemente VOR Parsing)
$form-\>accept($render);
// Grundtemplatesetzung
$render-\>setFormTemplate( GetTemplate( "setFormTemplate.htm" ) );
$render-\>setHeaderTemplate( GetTemplate( "setHeaderTemplate.htm" ) );
// Einlesen des Templates mit der Funnktion GetTemplate() -\> KEIN PEAR ELEMENT
$html\_template = GetTemplate( "z\_bestellung\_seite\_1.htm" );
// Ersetzen der Platzhalter durch die Felder
$html\_template = str\_replace('%paket%', $renderer-\>elementToHtml('paket0'), $html\_template);
$html\_template = str\_replace('%paket1%', $renderer-\>elementToHtml('paket1'), $html\_template);
$html\_template = str\_replace('%paket2%', $renderer-\>elementToHtml('paket2'), $html\_template);
$html\_template = str\_replace('%paket3%', $renderer-\>elementToHtml('paket3'), $html\_template);
$html\_template = str\_replace('%paket4%', $renderer-\>elementToHtml('paket4'), $html\_template);
$html\_template = str\_replace('%zusatzDomain%', $renderer-\>elementToHtml('zusatzDomain'), $html\_template);
$html\_template = str\_replace('%buttons%', $renderer-\>elementToHtml('weiter'), $html\_template);
// Wenn Form noch nicht abgesendet wird nur das Form angezeigt
// ansonsten wird das form verabeitet
if ($form-\>validate())
{
$\_SESSION[paket] = $form-\>exportValue('paket');
$\_SESSION[zusatzDomain] = $form-\>exportValue('zusatzDomain');
} else {
echo $render-\>toHtml($html\_template);
}
?\>
Vielleicht ist es ja nur eine Lapalie. Vielen Dank schon mal für die Hilfe.