Commit 46c419eed2b0661f35981f7d6cb6fba32a4bb12e

Authored by luoyanshou
1 parent 37d6de1b

【留言板】发表留言相关 数据验证实现

trunk/Message/Api/Controller/Message/MessInputController.class.php
... ... @@ -8,7 +8,7 @@
8 8  
9 9 namespace Api\Controller\Message;
10 10  
11   -use Common\Model\RightModel;
  11 +use Common\Model\MessagesModel;
12 12  
13 13 class MessInputController extends \Api\Controller\AbstractController
14 14 {
... ... @@ -20,20 +20,55 @@ class MessInputController extends \Api\Controller\AbstractController
20 20 protected $_require_login = false;
21 21  
22 22  
23   - public function Index_get()
  23 + public function Index_post()
24 24 {
25   - $this->_result = "您已留言成功,请等待审核。";
  25 +
  26 + session_start();
  27 +
  28 + $data = $this->checkFields( I('post.') );
  29 +
  30 + if( !$data ){
  31 + $this->_result = "数据验证失败";
  32 + die;
  33 + }
  34 +
  35 + $messagesModel = new MessagesModel();
  36 +
  37 + $messagesModel->m_uid = $_SESSION['userid'];
  38 + $messagesModel->m_title = $data['title'];
  39 + $messagesModel->m_content = $data['message'];
  40 + $messagesModel->m_ip = $_SERVER['REMOTE_ADDR'];
  41 +
  42 + //$this->_result = "您已留言成功,请等待审核。";
26 43  
27 44 }
28 45  
29 46 /**
30 47 * 验证提交参数字段合法性
31 48 *
32   - * @param array $post
  49 + * @param array $postData
33 50 * @return bool
34 51 */
35   - private function checkFields($post = [])
  52 + private function checkFields($postData = [])
36 53 {
37   - return true;
  54 + $parrent = "/\ |\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\\' | \`|\-|\=|\\\|\|/";
  55 + $data = [];
  56 +
  57 + if( empty($postData['title']) || strlen($postData['title'])>80 ){
  58 + $this->_result = "标题不能为空且标题长度必须小于80。";
  59 + return false;
  60 +
  61 + }else{
  62 + $data['title'] = preg_replace( $parrent, "", $postData['title']);
  63 + }
  64 +
  65 + if( empty($postData['message']) || strlen($postData['message'])>500 ){
  66 + $this->_result = "留言内容不能为空且长度必须小于500。";
  67 + return false;
  68 + }else{
  69 + $data['message'] = preg_replace( $parrent, "", $postData['message'] );
  70 + }
  71 +
  72 + return $data;
38 73 }
39 74 }
... ...
trunk/www/apidocassets/javascript/mess_front.js
... ... @@ -10,7 +10,31 @@
10 10 function inputCheck( src )
11 11 {
12 12 // 发表留言场景
13   - if( src == 'mess' ){}
  13 + if( src == 'mess' ){
  14 + var title = $('#txtTitle').val();
  15 + var content = $('#txtCon').val();
  16 +
  17 + if( title == '' || title.length >80){
  18 + return false;
  19 + }
  20 +
  21 + if( content !='' && content.length <=500){
  22 + var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
  23 + var message = "";
  24 + for(var i=0;i<content.length;i++)
  25 + {
  26 + message += content.substr(i, 1).replace(pattern, '');
  27 + }
  28 +
  29 + $("#message").val( message );
  30 +
  31 + }else{
  32 + return false;
  33 + }
  34 +
  35 + return true;
  36 + }
  37 +
14 38  
15 39 // 登录场景
16 40 if( src == 'login' ){
... ... @@ -35,6 +59,8 @@ function jumpSubmit()
35 59 return false;
36 60 }
37 61  
  62 + $("#frm_input").submit();
  63 +
38 64 }
39 65  
40 66 /**
... ...
trunk/www/mess_front/input.PHP
... ... @@ -20,7 +20,7 @@
20 20 </head>
21 21 <body>
22 22 <div class="con">
23   - <form action="http://lys.com/wx5019b9c455ea9c81/Message/Api/Message/MessInput" method="post" id="frm_input">
  23 + <form action="http://lys.com/wx5019b9c455ea9c81/Message/Api/Message/MessInput/Index" method="post" id="frm_input">
24 24 <table>
25 25 <caption><h2>发表留言</h2></caption>
26 26 <!--<tr>
... ... @@ -32,13 +32,14 @@
32 32 <tr>
33 33 <td>标题:</td>
34 34 <td>
35   - <input name="txtTitle" id="txtTitle" type="text" maxlength="80" >
  35 + <input name="title" id="txtTitle" type="text" maxlength="80" >
36 36 </td>
37 37 </tr>
38 38 <tr>
39 39 <td>留言内容:</td>
40 40 <td>
41   - <textarea rows="8" cols="40" name="txtCon" id="txtCon" ></textarea>
  41 + <textarea rows="8" cols="40" name="content" id="txtCon" ></textarea>
  42 + <input type="hidden" value="" name="message" id="message" >
42 43 </td>
43 44 </tr>
44 45 <tr>
... ...