Forum Moderators: coopster

Message Too Old, No Replies

adding dynamicall html elements on a page object

how?

         

dbarasuk

5:23 pm on Jan 13, 2011 (gmt 0)

10+ Year Member



Dear, I am building a page using object oriented php programming. I am using PEAR packages to take advantage of good programs. More precisely i was doing an exercice using the HTML_Form class and HTML_Page class of the PEAR package.

In practice i built 1 file containing a page object that i display with $page->display()method. In the same file i create a form object to which i add a couple of form elements. If i add some html elements to the page object (for instance a <div></div>) how can i add (or display) the form elements inside this div?

If i do $page->display(); this displays the xhtml page with no problem. If in the next instruction i do $form->display(), the form displays outside (i mean after)the <html></html> tags.

If i put the $form->display(); before the $page->display()i get the "headers already sent " error message.

How Can I display the form content inside the mentionned div?


Below is the code i am talking about:

<?php
//ajouter le code permettant de générer les entêtes de
//page de type HTML
require_once("includes/Page.php");

//Créer un objet de type page
$page=new HTML_Page();

//ajouter la classe form permettant de créer des formulaires
require_once("includes/form.php");

//Ajouter un objet formulaire
$form = new HTML_Form("","POST","myForm", "","","id='myform'");

//disable xmlProlog
$page->disableXmlProlog();

//generate the document head
$page->_generateHead();

//generate document title
$page->setTitle("Ma page dynamique");

//add stylesheet
$page->addStyleSheet("css/test.css", "text/css","screen");

//add meta info
$page->setMetaData("first page", "Une page pour le test", false);

//set metadata content-type
$page->setMetaContentType();

//Add content
$page->addBodyContent("<div><p>Bonjour</p>");


//Form elements begin here

//Text input
$form->addText("myInput", "Utilisateur: ", "Your text appears here", 40,20,"","","");

//ajouter la liste des loisirs
$form->addSelect("loisir", "Veuillez préciser vos loisirs", array("foot"=>"Football", "nage"=>"Natation", "basket"=>"Basket Ball"));

//Ajouter des boutons radio
$form->addRadio("caractere", "Gentil", "gentil");
$form->addRadio("caractere", "Patient", "patient");
$form->addRadio("caractere", "Généreux", "généreux");

//Textarea
$form->addTextArea('textarea1', "Votre texte ici");

//bouton envoyer
$form->addSubmit("envoi", "Envoyer", "");



//fermer la div
$page->addBodyContent("</div>");



//display page
$page->display();

$page->display();

Thank you

coopster

3:02 pm on Feb 3, 2011 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



I'm not familiar with this particular package, but the "headers already sent" message may just be an error. You can increase your error_reporting [php.net] level to show messages on your development machine to be certain.