: : g_FORMFUNCTIONS
Různé užitečné funkce pro tvorbu formularu:
<?
function EchoRadek($input,$jmeno) {
//$input = str_replace("<","<",$input);
echo "<b style=\"width: 96px\">$jmeno</b>$input<br>\n";
}
$style = "border: 1px solid #000000; background: #FFFFFF";
$styleimp = "border: 2px solid #000000; background: #FFEEEE";
$ar_dulezite = array();
echo form_start("UkazkaFrm","p");
in_txt("jmeno",$_COOKIE["jmeno"],array("IM32","st"=>$styleimp),16,EchoRadek,"Jméno:");
in_txt("heslo","",array("P","IM32","st"=>$styleimp),16,EchoRadek,"Heslo:");
in_submit("Vstoupit","UkazkaFrm",array("st"=>$style),EchoRadek,"");
echo "<hr width=\"296px\"/>";
in_textarea("pozn","...",array("C32","Rows3","st"=>$style),EchoRadek,"Poznámka:<br/><br/><br/>");
in_txt("zapsat",array("zapsat"=>true),"C",0,EchoRadek,"Zapsat:");
in_sel("opravdu",array("A"=>"Ano",""=>"Ne"),"",array("I","st"=>$style),EchoRadek,"Opravdu:");
echo form_end();
?>
Výsledek předešlého kódu:
Kód:
g_formfunctions.php
<? /* Formularove funkce */
if (!isset($g_textfunctions_true) && file_exists('g_textfunctions.php')) include('g_textfunctions.php');
function form_start($nazev,$post_bo_get,$action=0,$onsubmit=0) {
$ret = '<form name="'.$nazev.'"';
$ret .= 'method="'.((ucfirst($post_bo_get{0})=='P')?'POST':'GET').'"';
if (!empty($action)) $ret .= ' action="'.$action.'"';
if (!empty($onsubmit)) $ret .= ' onsubmit="'.$onsubmit.'"';
$ret .= '>';
return $ret;
}
function form_end() {
return '</form>';
}
function in_txt($nazev,$arhodnot_bo_hodnota,$ar_bo_str_options=0,$size=0,$template_fnc=0,$arg_template=0) {
if (!empty($ar_bo_str_options)) {
if (is_array($ar_bo_str_options)) {
if (!empty($ar_bo_str_options['cl'])) {
$class=$ar_bo_str_options['cl'];
unset($ar_bo_str_options['cl']);
}
if (!empty($ar_bo_str_options['st'])) {
$style=$ar_bo_str_options['st'];
unset($ar_bo_str_options['st']);
}
$ar_bo_str_options = Implode("",$ar_bo_str_options);
}
$ar_bo_str_options = strtoupper($ar_bo_str_options);
for ($i=0; $i<strlen($ar_bo_str_options); $i++)
switch($ar_bo_str_options{$i}) {
case 'I': $important = true; break;
case '!': $disabled = true; break;
case 'D': $datetime = true; break;
case '%': $jen_rok = true; break;
case 'P': $password = true; break;
case 'C': $checkbox = true; break;
case 'S': $size = GetCislo($ar_bo_str_options); break;
case 'T':
if (F_function_exists($template_fnc))
return $template_fnc($nazev,$arhodnot_bo_hodnota,$ar_bo_str_options,$size);
break;
default: // case "M"
$max_delka = GetCislo($ar_bo_str_options);
break;
}
}
$ret = '<input type="'.(isset($password)?'password':(isset($checkbox)?'checkbox':'text')).'" ';
$ret .= 'name="'.$nazev.'"';
if (!isset($checkbox))
$ret .= ' value="'.(is_array($arhodnot_bo_hodnota)?$arhodnot_bo_hodnota[$nazev]:$arhodnot_bo_hodnota).'"';
else
if ((is_array($arhodnot_bo_hodnota)?$arhodnot_bo_hodnota[$nazev]:$arhodnot_bo_hodnota)==true) $ret .= ' checked';
if ($important) {
//$ret .= ' style="important"';
$GLOBALS['ar_dulezitych'][] = $nazev;
}
if (!empty($max_delka))
$ret .= ' maxlength="'.$max_delka.'"';
if (isset($class)) $ret .= ' class="'.$class.'"';
if (isset($style)) $ret .= ' style="'.$style.'"';
if (!empty($size))
$ret .= ' size="'.$size.'"';
elseif ($datetime)
$ret .= ' size="'.(isset($jen_rok)?'4':'11').'"';
if (isset($disabled)) $ret .= ' disabled';
$ret .= '>';
if (F_function_exists($template_fnc))
return $template_fnc($ret,$arg_template);
return $ret;
}
function in_textarea($nazev,$arhodnot_bo_hodnota,$ar_options=0,$template_fnc=0,$arg_template=0) {
$ret = '<textarea name="'.$nazev.'"';
if (!empty($ar_options) && is_array($ar_options)) {
if (!empty($ar_options['cl'])) {
$class=$ar_options['cl'];
unset($ar_options['cl']);
}
if (!empty($ar_options['st'])) {
$style=$ar_options['st'];
unset($ar_options['st']);
}
reset($ar_options);
while(list(,$val)=each($ar_options))
switch(UcFirst($val{0})) {
case 'C': $ret .= ' cols="'.GetCislo($val).'"'; break;
case 'R': $ret .= ' rows="'.GetCislo($val).'"'; break;
case 'M': $ret .= ' maxlength="'.GetCislo($val).'"'; break;
case 'I': $important = true; break;
case '!': $disabled = true; break;
}
}
if (isset($diabled)) $ret .= ' disabled';
if (isset($class)) $ret .= ' class="'.$class.'"';
if (isset($style)) $ret .= ' style="'.$style.'"';
if (isset($important)) {
//$ret .= ' style="important"';
$GLOBALS['ar_dulezitych'][] = $nazev;
}
$ret .= '>'.(is_array($arhodnot_bo_hodnota)?$arhodnot_bo_hodnota[$nazev]:$arhodnot_bo_hodnota).'</textarea>';
if (F_function_exists($template_fnc))
return $template_fnc($ret,$arg_template);
return $ret;
}
function in_sel($nazev,$arvyber,$arhodnot_bo_hodnota,$ar_bo_str_options=0,$template_fnc=0,$arg_template=0) {
$ret = '<select name="'.$nazev.'"';
if (!empty($ar_bo_str_options)) {
if (is_array($ar_bo_str_options)) {
if (!empty($ar_bo_str_options['cl'])) {
$class=$ar_bo_str_options['cl'];
unset($ar_bo_str_options['cl']);
}
if (!empty($ar_bo_str_options['st'])) {
$style=$ar_bo_str_options['st'];
unset($ar_bo_str_options['st']);
}
$ar_bo_str_options = Implode("",$ar_bo_str_options);
}
$ar_bo_str_options = strtoupper($ar_bo_str_options);
for ($i=0; $i<strlen($ar_bo_str_options); $i++)
switch($ar_bo_str_options{$i}) {
case 'R': $ret .= ' size="'.GetCislo($ar_bo_str_options).'"'; break;
case 'M': $ret .= ' multiselect'; break;
case 'I': $important = true; break;
case '!': $disabled = true; break;
case 'T':
if (F_function_exists($template_fnc))
return $template_fnc($nazev,$arhodnot_bo_hodnota,$ar_bo_str_options,$size);
break;
}
}
if (isset($diabled)) $ret .= ' disabled';
if (isset($class)) $ret .= ' class="'.$class.'"';
if (isset($style)) $ret .= ' style="'.$style.'"';
if (isset($important)) {
//$ret .= ' style="important"';
$GLOBALS['ar_dulezitych'][] = $nazev;
}
$ret .= '>'."\n";
if (is_array($arvyber)) {
$hodnota = (is_array($arhodnot_bo_hodnota)?$arhodnot_bo_hodnota[$nazev]:$arhodnot_bo_hodnota);
reset($arvyber);
while(list($k,$v)=each($arvyber))
$ret .= '<option value="'.$k.'"'.(($k==$hodnota)?' selected':'').'>'.$v.'</option>';
}
$ret .= "\n".'</select>';
if (F_function_exists($template_fnc))
return $template_fnc($ret,$arg_template);
return $ret;
}
function javadotaz_building($formname) {
$ar_dulezitych =& $GLOBALS['ar_dulezitych'];
$ret = '';
if (!empty($ar_dulezitych) && is_array($ar_dulezitych) && count($ar_dulezitych)>0) {
$javadotaz .= 'javascript: (';
reset($ar_dulezitych);
while (list(,$polozka) = each($ar_dulezitych)) {
$polval = ''.$formname.'.'.$polozka.'.value';
$javadotaz .= (isset($prv)?' || ':$prv='').'('.$polval.' == \'\')';
}
$javadotaz .= ') ? alert(\'Není všechno vyplněno!\') : '.$formname.'.submit()';
}
return $javadotaz;
}
function in_submit($val='',$do_dulezite_false_bo_formname=false,$ar_options=0,$template_fnc=0,$arg_template=0) {
$ret = '<button ';
if (!empty($ar_options) && is_array($ar_options)) {
if (!empty($ar_options['cl'])) {
$class=$ar_options['cl'];
unset($ar_options['cl']);
}
if (!empty($ar_options['st'])) {
$style=$ar_options['st'];
unset($ar_options['st']);
}
}
if (empty($do_dulezite_false_bo_formname) || ($do_dulezite_false_bo_formname==False))
$ret .= 'type="submit"';
else {
$javadotaz = javadotaz_building($do_dulezite_false_bo_formname);
if (empty($javadotaz)) $ret .= 'type="submit"';
else
$ret .= 'type="button" onclick="'.$javadotaz.'"';
}
if (isset($class)) $ret .= ' class="'.$class.'"';
if (isset($style)) $ret .= ' style="'.$style.'"';
$ret .= '>'.(!empty($val)?$val:'Odeslat').'</button>';
if (F_function_exists($template_fnc))
return $template_fnc($ret,$arg_template);
return $ret;
}
?>