Scripts

Multiple choice class

Met deze multiple choice klasse kun je eventjes snel een vragenlijst (denk aan een quiz of een usability-test) in elkaar zetten. De klasse geeft als output overzichtelijke HTML die op de goede plaatsen inspringt. Gebruik: Het gebruik is eigenlijk heel simpel. Je kunt hem in een bestaand formulier integreren: Maar je kunt hem ook zelf een heel nieuw formulier aan laten maken. Dit doe je om de constructor (in tegenstelling tot daarnet) wél in te vullen met gegevens: Als iemand nog foutjes ontdekt, dan hoor ik het wel :c)

multiple-choice-class
De onderstaande klasse in voor [b]PHP 5[/b] en zal niet werken op PHP 4 systemen:

[code]<?php

class multipleChoice {


  public $form = false;
  const NL    = "\r\n";


  public function __construct($action = '', $method = 'post', $extra = null) {
  
    if (isset($action) == true && strlen($action) > 0) {
    
      echo '<form action="' .$action. '" method="' .$method. '"';
      
      if ($extra != null) 
        echo ' ' .$extra. '>' . self::NL;
      else
        echo '>' . self::NL;
        
      $this->form = true;
    }
  }
  
  
  public function addCategory($category) {
  
    echo '<h3 class="subtitle">' .$category. '</h3>' . self::NL;  
  }
  
  
  public function addOption($option) {
  
    echo '    <option value="' .$option. '">' .$option. '</option>' . self::NL;
  }
  

  public function addQuestion($question, $arguments = false) {
  
    if ($arguments != false) {
    
      echo '  <p>' .$question. '</p>' . self::NL;
      
      echo '  <select name="multipleChoise">' . self::NL;
      
      for ($i = 0; $i < count($arguments); $i++)
        $this->addOption($arguments[$i]);
      
      echo '  </select>' . self::NL; 
      echo '  <br /> <br />' .self::NL . self::NL; 
    }
    else
      echo $question;
  }
  
  
  public function addSubmit($name = null, $value = null, $extra = null) {
  
    echo '  <input type="submit" name="' .$name. '" value="' .$value. '" ';
      
    if ($extra != null)       
      echo $extra. ' />' . self::NL;
    else
      echo '/>' . self::NL;
    
    echo '</form>' . self::NL . self::NL;  
  }
  
  
  public function addTitle($title) {
  
    echo '<h1 class="title">' .$title. '</h1>' . self::NL;  
  }
  
  
  public function close($name = null, $value = null, $extra = null) {
  
    if ($this->form == true && $name != null && $value != null) {
      
      $this->addSubmit($name, $value, $extra);
    }
  }
}

?>[/code]


De onderstaande code is voor [b]PHP 4[/b] en zal eveneens werken op PHP 5 systemen:

[code]<?php

define('NL', "\r\n");

class multipleChoice {


  var $form = false;


  function multipleChoice($action = '', $method = 'post', $extra = null) {
  
    if (isset($action) == true && strlen($action) > 0) {
    
      echo '<form action="' .$action. '" method="' .$method. '"';
      
      if ($extra != null) 
        echo ' ' .$extra. '>' . NL;
      else
        echo '>' . NL;
        
      $this->form = true;
    }
  }
  
  
  function addCategory($category) {
  
    echo '<h3 class="subtitle">' .$category. '</h3>' . NL;  
  }
  
  
  function addOption($option) {
  
    echo '    <option value="' .$option. '">' .$option. '</option>' . NL;
  }
  

  function addQuestion($question, $arguments = false) {
  
    if ($arguments != false) {
    
      echo '  <p>' .$question. '</p>' . NL;
      
      echo '  <select name="multipleChoise">' . NL;
      
      for ($i = 0; $i < count($arguments); $i++)
        $this->addOption($arguments[$i]);
      
      echo '  </select>' . NL; 
      echo '  <br /> <br />' .NL . NL; 
    }
    else
      echo $question;
  }
  
  
  function addSubmit($name = null, $value = null, $extra = null) {
  
    echo '  <input type="submit" name="' .$name. '" value="' .$value. '" ';
      
    if ($extra != null)       
      echo $extra. ' />' . NL;
    else
      echo '/>' . NL;
    
    echo '</form>' . NL . NL;  
  }
  
  
  function addTitle($title) {
  
    echo '<h1 class="title">' .$title. '</h1>' . NL;  
  }
  
  
  function close($name = null, $value = null, $extra = null) {
  
    if ($this->form == true && $name != null && $value != null) {
      
      $this->addSubmit($name, $value, $extra);
    }
  }
}

?>[/code]

Als iemand nog foutjes ontdekt, dan hoor ik het wel :c)

Reacties

0
Nog geen reacties.