06. juli 2004 - 20:16
Der er
2 kommentarer og
1 løsning
pear og smarty. Ved ikke helt hvad der går galt
Jeg er igang med at lave en simpel form. Men jeg forstår ikke helt hvad der går galt. Når jeg kalder følgende metode
$renderer->setRequiredTemplate(
'{if $error}
<font color="red">{$label}</font>
{else}
{$label}
{if $required}
<font color="red" size="1">*</font>
{/if}
{/if}'
);
Får jeg følgende fejl
Fatal error: Call to a member function on a non-object in C:\PHP\pear\HTML\QuickForm\Renderer\ArraySmarty.php on line 260
Jeg kan ikke overskue hvad der går galt. Nogle forslag?
Her kommer hele koden :) Glemte jeg lige
<?php
require_once "HTML/QuickForm.php";
require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
require_once('dbfunctions.php');
$form = new HTML_QuickForm('personinfo', 'get');
$form->addElement('header', 'hdrTesting', 'Køb kort'); //DBophentning
$form->addElement('text', 'txtFirstName', 'Fornavn'); //DBophentning
$form->addRule('txtFirstName', 'Fornavn er påkrævet', 'required'); //DBophentning
$form->addElement('text', 'txtLastName', 'Efternavn'); //DBophentning
$form->addRule('txtLastName', 'Efternavn er påkrævet', 'required'); //DBophentning
$form->addElement('text', 'txtTelephone', 'Telefonnummer'); //DBophentning
$form->addRule('txtTelephone', 'Telefonnummer er påkrævet', 'required');//DBophentning
$form->addElement('text', 'txtEmail', 'Email'); //DBophentning
$form->addRule('txtEmail', 'Email er påkrævet', 'required'); //DBophentning
$form->addElement('submit', 'btnSubmit', 'OK'); //DBophentning
if ($form->validate()) {
# If the form validates then freeze the data
$form->freeze();
}
// Create the renderer object
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($tpl);
$renderer->setRequiredTemplate(
/*{if $error}*/
'<font color="red">{$label}</font>'
/*{else}
{$label}
{if $required}
<font color="red" size="1">*</font>
{/if}
{/if}'*/
);
/*
$renderer->setErrorTemplate(
'{if $error}
<font color="orange" size="1">{$error}</font><br />
{/if}
{$html}'
);
$form->setRequiredNote(
'<font color="red" size="2">
*
</font>
<font color="blue" size="2">
This field is mandatory
</font>'
);
*/
// build the HTML for the form
$form->accept($renderer);
// assign array with form data
$smarty->assign('personinfo', $renderer->toArray());
// parse and display the template
$smarty->display('buy.tpl');
?>