Web表单与会话技术_表单控件生成函数

1、常用表单控件

<!--常用表单控件-->
<input type="text" />文本输入框
<input type="password" />密码输入框
<textarea>文本区域</textarea>
<input type="button" />普通按钮
<input type="submit" value="提交按钮" />
<input type="reset" value="重置按钮" />
<input type="radio" />单选按钮
<input type="checkbox" />复选框
<select>
    <option>选择列表</option>
    <optgroup><option>下拉子菜单</option></optgroup>
</select>
<input type="image" />图像
<input type="file" />文件提交
<input type="hidden" />隐藏域

2、表单验证(单选框、下拉菜单、复选框)

//表单验证(单选框、下拉菜单、复选框)
//定义数组$city保存预设的城市下拉列表
$city=array('北京','上海','广州','深圳','其他');
//定义数组$skill保存预设的语言技能复选框
$skill=array('HTML','PHP','Python','NLP');
//判断是否有表单数据提交
if(!empty($_POST)){
    //收集表单数据,保存到数据库中
    $fields=array('nickname','gender','email','qq','url','city','skill','description');//指定需要接收的表单数据
    foreach($fields as $v){
        //$save_dats保存$_POST中的指定字段数据,不存在的字段填充空字符串
        $save_data[$v]=isset($_POST[$v])?$_POST[$v]:'';
    }
    //单选框处理radio
    if($save_data['gender']!='男' && $save_data['gender']!='女'){
        die('保存失败:未选择性别。');
    }
    //下拉菜单处理select
    if($save_data['city']!='未选择' && !in_array($save_data['city'],$city)){
        die('保存失败:您填写的城市不在允许的城市列表中。');
    }
    //复选框处理checkbox
    if(is_array($save_data['skill'])){
        //只取出合法的数组元素
        $save_data['skill']=array_intersect($skill,$save_data['skill']);
        //将数组转化为用“,”分隔的字符串
        //Array ([0] => HTML[1] => PHP[3] => NLP ) 到'HTML,PHP,NLP'
        $save_data['skill']=implode(',',$save_data['skill']);
    }else{
        $save_data['skill']='';
    }
    //通过循环数组自动拼接SQL语句,保存到数据库中
    $sql="update `userinfo` set ";
    foreach($save_data as $k=>$v){
        $sql .="`$k`='".mysql_real_escape_string($v)."',";
    }
    //rtrim($sql,',')去除$sql中的最后一个逗号
    $sql=rtrim($sql,',')." where id=$id";
    $res=query($sql);
    //输出执行结果和调试信息
    echo $res ? "保存成功:$sql" : "保存失败:$sql<br>".mysql_error();
}

5、单选框、下拉菜单、复选框生成函数

<?php
header('Content-Type:text/html; charset=utf-8');

//单选按钮生成函数
//$name单选按钮的name属性,$arr单选按钮数组,$checked选中的单选按钮的值
function radio_html($name,$arr,$checked){
    $html = '';//$html保存拼接的HTML
    if(is_array($arr)) {
        foreach($arr as $v){
            if($checked==$v){
                $html .="<input type=\"radio\"name=\"$name\"value=\"$v\"checked />$v";
            }else{
                $html .="<input type=\"radio\"name=\"$name\"value=\"$v\" />$v";
            }
        }
    }else{
        print_r($arr);
    }
    return $html;
}
$fruits=array('苹果','香蕉','橘子','番茄');
echo radio_html('fruit',$fruits,'香蕉');

/*------------------------------------------------------------*/

//下拉菜单生成函数
//$arr下拉菜单数组,$checked默认选中的下拉菜单的的值
function select_html($arr,$checked){
    $html = '';
    echo "所在城市<select>";
    foreach($arr as $v){
        echo "$v";
        if($checked==$v)
        {
            $html .="<option value=\"$v\" selected>".$v."</option>";
        }else{
            $html .="<option value=\"$v\">".$v."</option>";

        }
    }
    return $html;
    echo "</select>";
}
$city=array('北京','上海','广州','深圳','其他');
echo select_html($city,'北京');

/*------------------------------------------------------------*/

//复选框生成函数
//$name复选框的name属性,$arr预设的可选数组,$checked选中的数组
//参考:https://blog.csdn.net/kim5659/article/details/103736578
function checkbox_html($name,$arr, $checked) {
    $html = '';//$html保存拼接的HTML
    foreach($arr as $k=>$v) {
        $html .= "<input type=checkbox ";
        if (in_array($v, $checked)){
            $html .= "checked ";
        }
        $html .= "name=\"{$name}[$k]\"value=\"$v\">";//注意{$name}[$k]
        $html .= $v ."<br>";
    }
    return $html;
}
$arr=array('HTML','PHP','Python','NLP');
$checked=array('HTML','PHP');
echo checkbox_html('checked',$arr,$checked);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值