<!DOCTYPE HTML>
<html>
<head>
<title>form</title>
<style type="text/css">
.err{
color: red;
}
</style>
</head>
<body>
<?php
$name = $email = $website = $commet = $gender = $nameErr = $emailErr = $genderErr = '';
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(empty($_POST['name'])){
$nameErr = "姓名为必填项";
}else{
$name = test_input($_POST['name']);
if(!preg_match("/^[a-zA-Z ]*$/" , $name)){
$nameErr = "姓名只允许字母和空格";
}
} if(empty($_POST['email'])){
$emailErr = "邮件为必填项";
}else{
$email = test_input($_POST['email']);
if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/" , $email)){
$emailErr = "邮件格式不正确";
}
} if(empty($_POST['gender'])){
$genderErr = "性别为必选项";
}else{
$gender = test_input($_POST['gender']);
} $website = empty($_POST['website'])?'':test_input($_POST['website']);
$commet = empty($_POST['commet'])?'':test_input($_POST['commet']);
} function test_input($str){
$str = trim($str);
$str = stripslashes($str);
$str = htmlspecialchars($str);
return $str;
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<p>姓名:<input type="text" name="name" value="<?php echo $name;?>"/><span class="err">* <?php echo $nameErr; ?> </span></p>
<p>邮件:<input type="text" name="email" value="<?php echo $email;?>" /><span class="err">* <?php echo $emailErr; ?></span></p>
<p>网址:<input type="text" name="website" value="<?php echo $website;?>"/></p>
<p>评论:<textarea name="commet" id="" cols="30" rows="10"><?php echo $commet;?></textarea></p>
<p>性别
<label><input type="radio" name="gender" value="female" <?php if(isset($gender) && $gender=="female") echo 'checked'; ?>/>女性</label>
<label><input type="radio" name="gender" value="male" <?php if(isset($gender) && $gender == 'male') echo 'checked'?>/>男性</label>
<span class="err">* <?php echo $genderErr; ?></span>
</p>
<button>提交</button>
</form>
<hr />
<?php echo $name;?>
<br />
<?php echo $email;?>
<br />
<?php echo $website;?>
<br />
<?php echo $commet;?>
<br />
<?php echo $gender;?>
</body>
</html>
<?php ?>

php之form表单的更多相关文章

  1. form表单验证-Javascript

    Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...

  2. Form 表单提交参数

    今天因为要额外提交参数数组性的参数给form传到后台而苦恼了半天,结果发现,只需要在form表单对应的字段html空间中定义name = 后台参数名 的属性就ok了. 后台本来是只有模型参数的,但是后 ...

  3. form表单 ----在路上(15)

    form 表单就是将用户的信息提交到服务器,服务器会将信息存储活着根据信息查询数据进行增删改查,再将其返回给用户. 基本格式: <form action="" method ...

  4. form表单的字符串进行utf-8编码

    <form>表单有assept-charset属性.该属性规定字符的编码方式,默认是"unknown",与文档的字符集相同. 该属性除了Internet explore ...

  5. 细说 Form (表单)

    细说 Form (表单) Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源. 虽然Asp.net WebForms框架为了帮助 ...

  6. 通过form表单的形式下载文件。

    在项目中遇到问题,要求动态拼接uri下载文件.但是由于项目的安全拦截导致window.location.href 和 window.open等新建窗口的方法都不行. 无意间百度到了通过form表单来下 ...

  7. form 表单跨域提交

    <!DOCTYPE html><html> <head> <title>form 表单上传文件</title> <script src ...

  8. form表单的属性标签

    form表单的常用标签 表单: <form id="" name="" method="post/get" action=" ...

  9. form表单的属性标签和练习

    form表单的标签 做一个如下图的form表单: 我们的代码如下: <body leftmargin="400px" topmargin="200px"& ...

  10. Django基础,Day5 - form表单投票详解

    投票URL polls/urls.py: # ex: /polls/5/vote/ url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, ...

随机推荐

  1. hdu5442(2015长春赛区网络赛1006)后缀数组+KMP /最小表示法?

    题意:给定一个由小写字母组成的长度为 n 的字符串,首尾相连,可以从任意一个字符开始,顺时针或逆时针取这个串(长度为 n),求一个字典序最大的字符串的开始字符位置和顺时针或逆时针.如果有多个字典序最大 ...

  2. [poj 3691]DNA repair

    好久没刷 poj 了,今天练习 AC 自动机时去水了一发喵~ 在 poj 上 A 题的感觉并没有 BZOJ 上那么愉悦,准确的说是痛不欲生 真是应了那句老话,你再慢也有比你慢的,你再快也有比你快的…… ...

  3. linux内核启动流程[转]

    启动流程一览 既然启动是很严肃的一件事,那我们就来了解一下整个启动的过程吧! 好让大家比较容易发现启动过程里面可能会发生问题的地方,以及出现问题后的解决之道! 不过,由於启动的过程中,那个启动管理程序 ...

  4. 磁盘与目录的容量[转自vbird]

    磁盘与目录的容量 现在我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的. 那在文字接口底下该如何叫出这几个数据呢?底下就让我们来谈一谈这两个 ...

  5. ps图层混合模式

    溶解: ------------- 变暗:当使用该模式时,图像中的颜色或物体,总是其中颜色比较深的覆盖比较浅的,而数值相同或更深的像素不受影响.但记住,是上层针对下层,也就是说要有两个图层才有用 正片 ...

  6. kmeans算法

    # coding:utf-8 import numpy as np import matplotlib.pyplot as plt def dis(x, y): #计算距离 return np.sum ...

  7. Unity3d NGUI 地图

    1,制作地图 方式1: NGUI,新建一个Atlas,为M,按照一定的比例如 1:400,绘制地图. 新建一个GameObject,为A,关联UIPanel.A的transform.localScal ...

  8. C#学习之LinqtoSql类的简单例子

    LinqtoSql类把访问.操作数据库的细节封装了起来,把连接操作数据库变得相当简单.下面是简单的例子. 第一步:添加LinqtoSql类 1.创建一个控制台应用程序项目,下载一个NrothWind ...

  9. 006. C#使用WMI操作远程计算机

    1. 使用WMI CIM studio 查看\root\CIMV2 所有可使用的表/字段(类/属性) , 点击下载 WMI CIM studio 2. 安装完成后打开VMI CIM studio

  10. mysql.server 文件修改起动多实例

    如果你用mysql.server来启动的话,就要注意一下点,要修改一下里面的内容,修改如下:大约218行左右 查看复制打印? then print_defaults="$bindir/mys ...