1、tool_class.php
<?php
/**
* 常用工具类
*/
class tool{
/**
* JavaScript弹窗并且跳转
* @param string $info 跳转信息
* @param string $url 跳转地址
* @return string 返回能够执行跳转的JavaScript代码
*/
//该方法在某个操作执行成功并需要跳转到指定页面时使用
public static function alertGo($info,$url){
//弹出一个对话框,提示$info中的信息,然后location跳转到$_url指定的页面
echo "<script>alert('$info');location.href='$url';</script>";
exit();
}
/**
* JavaScript弹窗返回
* @param string $info 跳转信息
* @return string 返回能够执行跳转的JavaScript代码
*/
//该方法在某个操作执行失败时使用
public static function alertBack($info){
//弹出一个对话框,提示$info中的信息,然后返回上一个访问的页面
echo "<script>alert('$info');history.back();</script>";
exit();
}
}
2、修改“PHP操作数据库”案例中的empAdd.php文件。
修改了3处。第1处修改,引入tool静态功能类文件。第2处修改,调用了tool工具类的alertGo()方法。第3处修改,调用了tool工具类的alertBack()方法。
<?php
header('content-type:text/html; charset=utf-8');
require './public_function.php';
//引入tool静态功能类文件
require '../chapter6/tool_class.php';
//初始化数据库
dbInt();
//判断是否有表单提交
if(!empty($_POST)){
//声明变量$fields,用来保存字段信息
$fields=array('e_name','e_gender','e_dept','date_of_birthday','date_of_entry');
//声明变量$values,用来保存值信息
$values=array();
//遍历$fields,获取输入员工数据的键和值
foreach($fields as $k=>$v){
$data=isset($_POST[$v])?$_POST[$v]:'';
if($data==''){
die($v.'字段不能为空');
}
$data=safeHandle($data);
//把字段使用反引号包裹,赋值给$fields数组
$fields[$k]="`$v`";
//把值使用单引号包裹,赋值给$values数组
$values[]="'$data'";
}
//将$fields数组以逗号连接,赋值给$fields,组成insert语句中的字段部分
$fields=implode(',',$fields);
//将$values数组以逗号连接,赋值给$values,组成insert语句中的字段部分
$values=implode(',',$values);
//把$fields和$values拼接到insert语句中
$sql="insert into `emp_info` ($fields) values ($values)";
if($res=query($sql)){
//执行成功则返回的show.php
//header('Location: ./show.php');
tool::alertGo('员工添加成功!','./show.php');
die;
}else{
//执行失败
//die('员工添加失败!');
tool::alertBack('员工添加失败!');
}
}
define('APP','users');
require './Add_html.php';