当前位置: 首页 > news >正文

php 自动填写表单,PHP自动生成表单代码分享

Form.php

//Form.php

class form {

var $layout=true;//是否使用表格布局

var $action;//表单要提交到的URL

var $method;

var $enctype="";

var $name="";

var $id="";

var $class="";

function form($action,$method="POST"){ //通过构造函数初始化成员变量

$this->action=$action;

$this->method=$method;

}

function form_start(){

$text="

action}\" method=\"{$this->method}\"";

if($this->class!==""){

$text.=" class=\"{$this->class}\"";

}

if ($this->enctype!=="") {

$text.=" enctype=\"{$this->enctype}\"";

}

if($this->id!==""){

$text.=" id=\"{$this->id}\"";

}

if($this->name!==""){

$text.=" name=\"{$this->name}\"";

}

$text.=">\n";

if($this->layout==true){

$text.="

}

return $text;

}

function form_end(){

if ($this->layout==true) {

$text="\t

\n";

$text.="

\n";

}else {

$text="\n";

}

return $text;

}

//文本框函数

function form_text($name,$id,$label_name,$label_for,$value=""){

$text="

$text.="id=\"{$id}\" ";

if(isset($value)){

$text.="value=\"{$value}\" ";

}

$text.="/>\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//密码框函数

function form_passwd($name,$id,$label_name,$label_for,$value=""){

$text="

$text.="id=\"{$id}\" ";

if(isset($value)){

$text.="value=\"{$value}\" ";

}

$text.="/>\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//隐藏域函数

function form_hidden($name,$id,$label_name,$label_for,$value=""){

$text="

if(isset($value)){

$text.="value=\"{$value}\" ";

}

$text.="/>\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//文件域函数

function form_file($name,$id,$label_name,$label_for,$size=""){

$text="

$text.="id=\"{$id}\" ";

if(isset($size)){

$text.="size=\"{$size}\" ";

}

$text.="/>\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//复选框函数

function form_checkbox($name,$label=array(),$label_name,$label_for=""){

$i=0;

$text=array();

foreach ($label as $id=>$value){

$text[$i]="";

$text[$i].="{$value}";

$i++;

}

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//单选框函数

function form_radio($name,$label=array(),$label_name,$label_for=""){

$i=0;

$text=array();

foreach ($label as $id=>$value){

$text[$i]="";

$text[$i].="{$value}";

$i++;

}

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//下拉菜单函数

function form_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$οnchange=""){

if($onchange!==""){

$text="\n";

}

else{

$text="\n";

}

foreach ($options as $value=>$key){

if($selected==$value){

$text.="\t{$key}\n";

}elseif ($selected===false) {

$text.="\t{$key}\n";

}

}

$text.="";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//多选列表函数

function form_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){

$text="\n";

foreach ($options as $value=>$key){

$text.="\t{$key}\n";

}

$text.="\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//按钮函数

function form_button($id,$name,$type,$value,$οnclick=""){

$text="

if($onclick!==""){

$text.=" οnclick='{$onclick}'";

}

$text.=">".$value;

$text.="

\n";

if($this->layout==true){

$form_item="

\n\t {$text}\n\n";

}else {

$form_item=$text;

}

return $form_item;

}

//文本域函数

function form_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){

$text="{$value}\n";

$label=$this->form_label($label_name,$label_for);

$form_item=$this->form_item($label,$text);

return $form_item;

}

//文字标签函数

function form_label($text,$for){

if($for!==""){

$label="{$text}:";

}else {

$label=$text.":";

}

return $label;

}

function form_item($form_label,$form_text){

switch ($this->layout){

case true:

$text="

\n";

$text.="\t

";

$text.=$form_label;

$text.="

\n";

$text.="\t

";

$text.=$form_text;

$text.="

\n";

$text.="

\n";

break;

case false:

$text=$form_label;

$text.=$form_text;

break;

}

return $text;

}

function CreateForm($form_item=array()){

echo $this->form_start();

foreach ($form_item as $item){

echo $item;

}

echo $this->form_end();

}

}

?>

使用示例:

用户登录

require_once("form.php");

$form=new form($_SERVER['PHP_SELF']); //提交到本页

$form->layout=false; //不使用表格布局,大家可以把这句注释掉看结果有何不同

$name=$form->form_text("userid","userid","用户名","userid");

$passwd=$form->form_passwd("passwd","passwd","密码","passwd");

$submit=$form->form_button("","submit","submit","登录");

$form_item=array($name,$passwd,$submit);

$form->CreateForm($form_item);

?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章:

  • 记事本底部的java切换,如何使用java操作记事本(转)
  • php类调用类外变量吗,如何调用类外的变量
  • matlab中单相整流器,一种新型单相脉冲整流器的MATLAB仿真研究
  • matlab中支持向量机网格,MATLAB中SVM(支持向量机)的用法
  • mysql出现帮助,MySQL之帮助的使用
  • 不会matlab下载,下载的用MATLAB实现的DTW算法,不会用,跪求大神帮忙
  • mysql序列号重置,当我们更改小于当前序列号的AUTO_INCREMENT值时,MySQL将返回什么?...
  • mysql聚合函数详解,MySQL常用聚合函数详解
  • php 年月日自动更新,php生成年月日下载列表的方法
  • java 去掉字符串中的注释,Python删除Java源文件中全部注释的实现方法
  • 如何修改oracle储存路径,oracle中如何修改表空间的数据文件路径
  • php读取excel怎么读取sheet2,PHP读取Excel 之 Spreadsheet_Excel_Reader
  • oracle新建用户和实例,Oracle新建用户、角色,授权,建表空间实例(1/2)
  • oracle10gsys默认,Oracle数据库sys和system用户的默认密码及如何修改密码
  • oracle 06502 解决,【故障解决】ORA-06502错误解决
  • 【译】JS基础算法脚本:字符串结尾
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Bootstrap JS插件Alert源码分析
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS实用技巧干货
  • Fabric架构演变之路
  • JAVA 学习IO流
  • JavaScript新鲜事·第5期
  • Java小白进阶笔记(3)-初级面向对象
  • KMP算法及优化
  • RxJS: 简单入门
  • Swift 中的尾递归和蹦床
  • Vue 2.3、2.4 知识点小结
  • 安卓应用性能调试和优化经验分享
  • 测试开发系类之接口自动化测试
  • 从零开始学习部署
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 手写一个CommonJS打包工具(一)
  • ionic异常记录
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​插件化DPI在商用WIFI中的价值
  • #includecmath
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma 指令
  • #数学建模# 线性规划问题的Matlab求解
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (办公)springboot配置aop处理请求.
  • (接口封装)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)JAVA中的堆栈
  • (转)创业的注意事项
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET文档生成工具ADB使用图文教程
  • .NET项目中存在多个web.config文件时的加载顺序
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ C++ ] STL---stack与queue
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)