Scripts

Formulier Class Basic

Ik heb een simpele class gemaakt voor de basisfuncties van een formulier, hiermee kun je sneller werken, want een formulier maken is heel wat typwerk.. Dit is mijn eerste class afgeleid van de laatste OOP tutorial van Roelofs, ik wil weten of ik het snap :) dus brand los met de opmerkingen..

formulier-class-basic
form.class.php:
[code]
<?php
// Basic form-class / Basic Form Class
// Voor een gemakkelijke afhandeling van standaardformulieren
//
// WoutForm v1.1
// OpenSource Document
//
// Wouter van der Burg, 20-04-2007, Wateringen, Netherlands
//
// Met dank aan de tutorial 'OOP voor PHP 4 deel 1' van 'Roelofs' op PHPHulp.nl
// http://www.phphulp.nl/php/tutorials/8/491/
//
// Definieren van class / Define class:
class Form
{	
	var $openform;
	var $text;
	var $textbox;
	var $pass;
	var $hidden;
	var $select;
	var $radio;
	var $check;
	var $submit;
	var $button;
	var $upload;
	var $close;
	 
	// function formOpen ($name,$name,$action,$method) 
	// Vul de bijbehorende gegevens in om het formulier juist te laten verlopen
	function formOpen ($name,$action,$method) {
		$this->openform = '<form id="'.$name.'" name="'.$name.'" action="'.$action.'" method="'.$method.'" >';
		return $this->openform;
	}

	function textField ($name, $value, $style) {
		$this->text = '<input type="text" id="'.$name.'" name="'.$name.'" value="'.$value.'"  '.$style.' >';
		return $this->text;
	}
	
	// Creeer een normaal tekstveld
	function textBox ($name, $rows, $cols, $value, $style) {
		$this->textbox = '<textarea id="'.$name.'" rows="'.$rows.'" cols="'.$cols.'" name="'.$name.'" '.$style.'>'.$value.'</textarea>';
		return $this->textbox;
	}
	
	// Creeer een veld welke de karakters verbergt (passwordfield)
	function passField ($name, $value, $size, $style) {
		$this->pass = '<input size="'.$size.'" type="password" id="'.$name.'" name="'.$name.'" value="'.$value.'"  '.$style.' >';
		return $this->pass;
	}
	
	// Creeer een verborgen veld
	function hiddenField ($name, $value, $style) {
		$this->hidden = '<input type="hidden" id="'.$name.'" name="'.$name.'" value="'.$value.'"  '.$style.' >';
		return $this->hidden;
	}
	
	// Creeer een selectfield, met een array om de options aan te vullen
	function selectField ($name, $options, $values, $size, $style) {
		$this->select .= '<select id="'.$name.'" size="'.$size.'" name="'.$name.'" '.$style.'>';
		$aantalopt = count($options) - 1;
		$aantalval = count($values) - 1;
		if ($aantalopt == $aantalval) {
		$this->select .= '<option value=""></option>';
		for ($i = 0; $i <= $aantalopt; $i++) { 
			 $this->select .= '<option value="'.$values[$i].'">'.$options[$i].'</option>';
		}
		} else {
			die('Selectfield-Error: De opties en values zijn niet van gelijk aantal!!');
		}
		
		$this->select .= '</select>';
		return $this->select;
	}
	
	// Creeer een radiobutton
	function radioBox($name, $value, $style) {
		 $this->radio = '<input id="'.$name.'" name="'.$name.'" type="radio" value="'.$value.'" '.$style.' >';
		 return $this->radio;
	}
	
	// Creeer een checkbox
	function checkBox($name, $value, $style) {
		 $this->check = '<input id="'.$name.'" name="'.$name.'" type="checkbox" value="'.$value.'" '.$style.' >';
		 return $this->check;
	}
	
	// Creeer een submitbutton, vergeet niet formFlush(); toe te voegen om de postvars of de getvars in een session te stoppen
	function submitButton($name, $value, $style) {
		 $this->submit = '<input id="'.$name.'" name="'.$name.'" type="submit" value="'.$value.'" '.$style.' >';
		 return $this->submit;
	}
	
	// Creeer een normale button
	function Button($name, $value, $style) {
		 $this->button = '<input id="'.$name.'" name="'.$name.'" type="button" value="'.$value.'" '.$style.' >';
		 return $this->button;
	}
	
	// functie voor toevoegen van te uploaden bestanden
	// na het submitten op te vragen met $_FILES[];
	function FileUpload($name, $value, $style) {
		 $this->upload = '<input id="'.$name.'" name="'.$name.'" type="file" value="'.$value.'" '.$style.' >';
		 return $this->upload;
	}
	
	// sluit het formulier formeel af
	function formClose () {
		$this->close = '</form>';
		return $this->close;
	}
}

?>
[/code]

voorbeeld van gebruik:

form.php:
[code]
<?php
//Includen van class in script: / Including class in script
//De class moet zo in dezelfde map als het script staan! / The class has to be in the same directory as the script!
require_once('form.class.php');

$form = new Form();

echo $form->formOpen('formname','testform.php','POST');
echo "Username : ";
echo $form->textField('username','',''); echo "<br>";
echo "Wachtwoord : ";
echo $form->passField('password','',8,''); echo "<br>";
echo "Opmerkingen : ";
echo $form->textBox('opmerk',2,30,'',''); echo "<br>"; 
//verborgen waarde
echo $form->hiddenField('hidden','value',''); 
echo "Selecteer opties : ";
$options = array("option1","option2","option3");
$values = array("option1","option2","option3");
echo $form->selectField('selectie',$options,$values,2,''); echo "<br>";
echo "Geslacht : ";
echo $form->radioBox('radio','Man',''); echo "Man ";
echo $form->radioBox('radio','Vrouw',''); echo "Vrouw <br>"; 
echo "Lengte : ";
echo $form->checkBox('check','< 1.50m',''); echo "< 1.50m ";
echo $form->checkBox('check','> 1.50m',''); echo "> 1.50m <br>";
echo "Selecteer een bestand : ";
echo $form->FileUpload('file','',''); echo "<br><br>";

echo $form->submitButton('submit','Submit','style="width:100px;"'); echo "  ";
echo $form->Button('button','Refresh','onclick="document.location.href=\'testform.php\'"'); echo "<br>";

echo $form->formClose();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

echo $_POST['username']."<br>";
echo md5($_POST['password'])."<br>";
echo $_POST['opmerk']."<br>";
echo $_POST['hidden']."<br>";
echo $_POST['selectie']."<br>";
echo $_POST['radio']."<br>";
echo $_POST['check']."<br>";
echo $_POST['file']."<br>";

}
?>
[/code]

Reacties

0
Nog geen reacties.