头歌php 表单语言进阶

简介: 头歌php 表单语言进阶

PHP语言之表单进阶


第一关

/********** Begin *********/  
function formatted_input($data)  
{  
    $data = trim($data);  
    $data = stripslashes($data);  
    $data = htmlspecialchars($data);  
    return $data;  
}  
/********** End *********/  

 

第二关

/********** Begin *********/  
if ($_SERVER['REQUEST_METHOD'] == 'POST') {  
    if (empty($_POST['name'])) {  
        $nameErr = '名字是必需的';  
    } else {  
        $name = formatted_input($_POST['name']);  
    }
    if (empty($_POST['email'])) {  
        $emailErr = '邮箱是必需的';  
    } else {  
        $email = formatted_input($_POST['email']);  
    }
    if (empty($_POST['website'])) {  
        $website = '';  
    } else {  
        $website = formatted_input($_POST['website']);  
    }
    if (empty($_POST['comment'])) {  
        $comment = '';  
    } else {  
        $comment = formatted_input($_POST['comment']);  
    }
    if (empty($_POST['gender'])) {  
        $genderErr = '性别是必需的';  
    } else {  
        $gender = formatted_input($_POST['gender']);  
    }  
}  
/********** End *********/  

 

第三关

/********** Begin *********/  
if (!preg_match("/^[a-zA-Z ]*$/", $name)) {  
    $nameErr = '只允许字母和空格';  
    $name = '';  //格式非法,将$name变量清空  
}  
/********** End *********/
/********** Begin *********/  
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {  
    $emailErr = '非法的邮箱格式';  
    $email = '';  //格式非法,将$email变量清空  
}  
/********** End *********/
/********** Begin *********/  
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {  
    $websiteErr = '非法的 URL 地址';  
    $website = '';  //格式非法,将$website变量清空  
}  
/********** End *********/  

 

第四关

/********** Begin *********/  
$nameErr = $emailErr = $genderErr = $websiteErr = '';  
$name = $email = $gender = $comment = $website = '';  
if ($_SERVER['REQUEST_METHOD'] == 'POST') {  
    if (empty($_POST['name'])) {  
        $nameErr = '名字是必需的';  
    } else {  
        $name = formatted_input($_POST['name']);  
        if (!preg_match("/^[a-zA-Z ]*$/", $name)) {  
            $nameErr = '只允许字母和空格';  
            $name = '';  //格式非法,将$name变量清空  
        }  
    }  
    if (empty($_POST['email'])) {  
        $emailErr = '邮箱是必需的';  
    } else {  
        $email = formatted_input($_POST['email']);  
        if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {  
            $emailErr = '非法的邮箱格式';  
            $email = '';  //格式非法,将$email变量清空  
        }  
    }  
    if (empty($_POST['website'])) {  
        $website = '';  
    } else {  
        $website = formatted_input($_POST['website']);  
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {  
            $websiteErr = '非法的 URL 地址';  
            $website = '';  //格式非法,将$website变量清空  
        }  
    }  
    if (empty($_POST['comment'])) {  
        $comment = '';  
    } else {  
        $comment = formatted_input($_POST['comment']);  
    }  
    if (empty($_POST['gender'])) {  
        $genderErr = '性别是必需的';  
    } else {  
        $gender = formatted_input($_POST['gender']);  
    }  
}  
function formatted_input($data)  
{  
    $data = trim($data);  
    $data = stripslashes($data);  
    $data = htmlspecialchars($data);  
    return $data;  
}  
/********** End *********/
<!--     Begin     -->  
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">  
    <label>  
        姓名:<input type="text" name="name">  
    </label>  
    <span class="error">* <?php echo $nameErr;?></span>  
    <br><br>  
    <label>  
        邮箱:<input type="text" name="email">  
        <span class="error">* <?php echo $emailErr;?></span>  
    </label>  
    <br><br>  
    <label>  
        博客:<input type="text" name="website">  
        <span class="error"><?php echo $websiteErr;?></span>  
    </label>  
    <br><br>  
    <label>  
        备注:<textarea name="comment" rows="5" cols="40"></textarea>  
    </label>  
    <br><br>  
    <label>  
        性别:<input type="radio" name="gender" value="male">男  
        <input type="radio" name="gender" value="female">女  
        <span class="error">* <?php echo $genderErr;?></span>  
    </label>  
    <br><br>  
    <input type="submit" name="submit" value="提交">  
</form>  
<!--     End     --> 
相关文章
|
9月前
|
监控 算法 安全
基于 PHP 语言深度优先搜索算法的局域网网络监控软件研究
在当下数字化时代,局域网作为企业与机构内部信息交互的核心载体,其稳定性与安全性备受关注。局域网网络监控软件随之兴起,成为保障网络正常运转的关键工具。此类软件的高效运行依托于多种数据结构与算法,本文将聚焦深度优先搜索(DFS)算法,探究其在局域网网络监控软件中的应用,并借助 PHP 语言代码示例予以详细阐释。
206 1
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
511 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
5月前
|
JSON JavaScript 前端开发
Python+JAVA+PHP语言,苏宁商品详情API
调用苏宁商品详情API,可通过HTTP/HTTPS发送请求并解析响应数据,支持多种编程语言,如JavaScript、Java、PHP、C#、Ruby等。核心步骤包括构造请求URL、发送GET/POST请求及解析JSON/XML响应。不同语言示例展示了如何获取商品名称与价格等信息,实际使用时请参考苏宁开放平台最新文档以确保兼容性。
|
9月前
|
存储 监控 算法
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
252 3
|
10月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
362 20
|
10月前
|
缓存 监控 算法
内网监控管理软件:PHP 语言队列算法揭秘
在数字化办公环境中,内网监控管理软件对企业的稳定运行和信息安全至关重要。本文深入介绍PHP中的队列算法及其在内网监控软件中的应用,包括监控数据收集、任务调度和日志记录等场景,通过代码示例展示其实现方法。队列算法可提高性能、保证数据顺序并实现异步处理,为企业提供高效的安全保障。
175 1
|
10月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
318 0
|
3月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
317 0
PHP和Mysql前后端交互效果实现
|
8月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
422 17
|
9月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
274 18