Avatar billede bumle90 Nybegynder
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?
Avatar billede bumle90 Nybegynder
06. juli 2004 - 20:16 #1
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">
        *&nbsp;
    </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');

?>
Avatar billede bumle90 Nybegynder
06. juli 2004 - 22:24 #2
lukker
Avatar billede sostack Nybegynder
08. juli 2004 - 12:50 #3
Fandt du ud af det?
ellers kig på denne linie:
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($tpl);
-----------^

//sostack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester