PHP登录(ajax提交数据和后台校验)实例教程

实现步骤:

一:在http://phpexcel.codeplex.com/下载最新PHPExcel放到Vendor下,注意位置:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php。

二:导出excel代码实现

/**方法**/

functionindex(){

    $this->display();

  }

publicfunctionexportExcel($expTitle,$expCellName,$expTableData){

    $xlsTitle= iconv('utf-8','gb2312',$expTitle);//文件名称

    $fileName=$_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定

    $cellNum=count($expCellName);

    $dataNum=count($expTableData);

    vendor("PHPExcel.PHPExcel");

     

    $objPHPExcel=newPHPExcel();

    $cellName=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');

     

    $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格

    // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));

    for($i=0;$i<$cellNum;$i++){

      $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2',$expCellName[$i][1]);

    }

     // Miscellaneous glyphs, UTF-8 

    for($i=0;$i<$dataNum;$i++){

     for($j=0;$j<$cellNum;$j++){

      $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3),$expTableData[$i][$expCellName[$j][0]]);

     }      

    }

     

    header('pragma:public');

    header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');

    header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印

    $objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');

    $objWriter->save('php://output');

    exit; 

  }

/**

   *

   * 导出Excel

   */

  functionexpUser(){//导出Excel

    $xlsName="User";

    $xlsCell=array(

    array('id','账号序列'),

    array('truename','名字'),

    array('sex','性别'),

    array('res_id','院系'),

    array('sp_id','专业'),

    array('class','班级'),

    array('year','毕业时间'),

    array('city','所在地'),

    array('company','单位'),

    array('zhicheng','职称'),

    array('zhiwu','职务'),

    array('jibie','级别'),

    array('tel','电话'),

    array('qq','qq'),

    array('email','邮箱'),

    array('honor','荣誉'),

    array('remark','备注') 

    );

    $xlsModel= M('Member');

   

    $xlsData=$xlsModel->Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')->select();

    foreach($xlsDataas$k=>$v)

    {

      $xlsData[$k]['sex']=$v['sex']==1?'男':'女';

    }

    $this->exportExcel($xlsName,$xlsCell,$xlsData);

      

  }

第三:导入excel数据代码

functionimpUser(){

    if(!empty($_FILES)) {

      import("@.ORG.UploadFile");

      $config=array(

        'allowExts'=>array('xlsx','xls'),

        'savePath'=>'./Public/upload/',

        'saveRule'=>'time',

      );

      $upload=newUploadFile($config);

      if(!$upload->upload()) {

        $this->error($upload->getErrorMsg());

      }else{

        $info=$upload->getUploadFileInfo();

         

      }

     

      vendor("PHPExcel.PHPExcel");

        $file_name=$info[0]['savepath'].$info[0]['savename'];

        $objReader= PHPExcel_IOFactory::createReader('Excel5');

        $objPHPExcel=$objReader->load($file_name,$encode='utf-8');

        $sheet=$objPHPExcel->getSheet(0);

        $highestRow=$sheet->getHighestRow();// 取得总行数

        $highestColumn=$sheet->getHighestColumn();// 取得总列数

        for($i=3;$i<=$highestRow;$i++)

        { 

          $data['account']=$data['truename'] =$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();

          $sex=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();

          // $data['res_id']  = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();

          $data['class'] =$objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();

          $data['year'] =$objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();

          $data['city']=$objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();

          $data['company']=$objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();

          $data['zhicheng']=$objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();

          $data['zhiwu']=$objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue();

          $data['jibie']=$objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue();

          $data['honor']=$objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue();

          $data['tel']=$objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();

          $data['qq']=$objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue();

          $data['email']=$objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue();

          $data['remark']=$objPHPExcel->getActiveSheet()->getCell("P".$i)->getValue();

          $data['sex']=$sex=='男'?1:0;

          $data['res_id'] =1;

           

          $data['last_login_time']=0;

          $data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR'];

          $data['login_count']=0;

          $data['join']=0;

          $data['avatar']='';

          $data['password']=md5('123456');      

          M('Member')->add($data);

      

        }

         $this->success('导入成功!');

    }else

      {

        $this->error("请选择上传的文件");

      } 

      

 

  }

四、模板代码

<html>

  <head>

     

  </head>

  <body>

  <P><ahref="{:U('Index/expUser')}">导出数据并生成excel</a></P><br/>

    <formaction="{:U('Index/impUser')}"method="post"enctype="multipart/form-data">

      <inputtype="file"name="import"/>

      <inputtype="hidden"name="table"value="tablename"/>

      <inputtype="submit"value="导入"/>

    </form>

  </body>

   

</html>

时间: 2024-10-28 06:45:01

PHP登录(ajax提交数据和后台校验)实例教程的相关文章

PHP登录(ajax提交数据和后台校验)实例分享

1.前台ajax数据提交 <form id="login_form" action="" method="POST"> <div class="login_frame" style="position:relative";> <div class="login_gl" style="margin-top:35px;"> <sp

前台ajax提交数据,后台接受,存入数据库

问题描述 前台ajax提交数据,后台接受,存入数据库 "{"1":{"top":125,"left":376,"process_to":[]},"2":{"top":339,"left":378,"process_to":[]},"3":{"top":280,"left":840

jquery ajax 数据绑定-JQUERY ajax提交数据到后台,进行数据库查询,然后重新绑定GridView.

问题描述 JQUERY ajax提交数据到后台,进行数据库查询,然后重新绑定GridView. 我在前台放了一个input,type=button点击后触发下面的ajax提交数据到后台.后台处理后对一个GridView进行数据绑定.前台代码如下: params = JSON.stringify(obj); $.ajax({ type: ""Post"" url: ""/aspx_consumption/Consumption_Home.aspx/

ajax方式实现注册功能(提交数据到后台数据库完成交互)_AJAX相关

一.当我们在验证表单的时候,为了阻止把错误的也发送到服务器,我们通常这样设置: $(function(){ var isusername;(定一个变量) var ispwd; $('form').submit(function(e){ if(!isusername || !ispwd){ e.preventDefault();(阻止事件的默认事件) }) }); 1.在nodejs中我们可以用以下方法来(加载)跳转页面:JQuery 中的load()  这是实行加载一个页面 window.loc

ajax提交到java后台之后处理数据的实现

环境:eclipse+struts 要实现的效果:点击按钮提交数据到后台之后回到前台显示出来数据 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo

代码-ajax提交数据后 ,怎么取值??

问题描述 ajax提交数据后 ,怎么取值?? <script type="text/javascript"> function validate(){ //var username = $('#usernmae').val(); var username = document.getElementById("username").value; alert(username); $.ajax({ url:"register", type

ajax提交请求在后台controller里取不到session中值

问题描述 ajax提交请求在后台controller里取不到session中值 ajax提交请求在后台controller里request.getSession().getAttribute("user");取不到值 在其他controller里却可以取到,急求解决办法 function doSubmit(){ if (Verification() == false) { return; } $.ajax({ url:"/trips/doCreate", async

c# ado.net 前台用ajax传数据到后台 看图 大家觉得我后台怎么接收

问题描述 c# ado.net 前台用ajax传数据到后台 看图 大家觉得我后台怎么接收 并且放到数据库执行 执行成功 返回一个1 失败则是0 划红线都是文本框中已经获取的值 解决方案 Request.Params["pointJson"] http://blog.csdn.net/chinacsharper/article/details/9748639 解决方案二: http://www.cnblogs.com/ambar/archive/2010/07/13/parse-json

解决angular的$http.post()提交数据时后台接收不到参数值问题的方法_AngularJS

写此文的背景:在学习使用angular的$http.post()提交数据时,后台接收不到参数值,于是查阅了相关资料,寻找解决办法. 写此文的目的:通过上面提到的文章中的解决之道,结合自己的经验,总结了如下发现. 前端:html,jquery,angular 后端:java,springmvc一.平常使用的post提交和接收方式前端使用jquery提交数据. $.ajax({ url:'/carlt/loginForm', method: 'POST', data:{"name":&qu