Автор Тема: Раздел Поддержка  (Прочитано 2286 раз)

0 Пользователей и 1 Гость просматривают эту тему.

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« : 16 Июня 2017, 23:09:03 »
Всем привет, у меня такой вопрос: при попытке создать тикет в поддержку в моем проекте, сайт не воспринимает русские буквы, то есть если заполняешь графы русскими буквами и пытаешься отправить, то он пишет Заполните раздел Тема и Вопрос, если заполняешь английскими буквами или символами тикет отправляется нормально, посмотрел кодировку файла support.php кодировка была windows-1251 я пробовал менять кодировку на utf-8 general CI, utf-8 unocode ci и ci-866(русский язык) при использовании всех кодировок ситуация не меняется...уже даже не знаю что делать.
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #1 : 17 Июня 2017, 15:32:54 »
Всем привет, у меня такой вопрос: при попытке создать тикет в поддержку в моем проекте, сайт не воспринимает русские буквы, то есть если заполняешь графы русскими буквами и пытаешься отправить, то он пишет Заполните раздел Тема и Вопрос, если заполняешь английскими буквами или символами тикет отправляется нормально

Там нужно регулярное выражение переписать, что бы русские символы понимал.
Или перекодировать тему(слова которые с поля тема приходят) в нужно кодировку.
Но я думаю, что первый вариант :)

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« Ответ #2 : 17 Июня 2017, 16:08:08 »
Там нужно регулярное выражение переписать, что бы русские символы понимал.
подскажешь как это сделать?
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #3 : 17 Июня 2017, 17:01:04 »
подскажешь как это сделать?

Дописать русские буквы.
Что-то типо:
if(preg_match('#^([ёЁ\sA-zА-яа-яa-z0-9])$', $_POST['name'])){

Русские буквы, Eng и цифры. + большие и маленькие.
 

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« Ответ #4 : 17 Июня 2017, 17:16:32 »
Дописать русские буквы
вставить в любое место документа?
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #5 : 18 Июня 2017, 14:27:06 »
вставить в любое место документа?

Нет конечно! Только в регулярное выражение(если оно там есть и проблема в нем):
preg_match

P.S. Мы же не ванги тут, код не видим ваш.
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 2000 сообщений Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 31
  • Сообщений: 2028
  • Страна: ru
  • Поблагодарили: 242 раз(а)
  • Репутация +40/-1
  • Пол: Мужской
  • Дата рождения:
    1992-04-18
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #6 : 19 Июня 2017, 14:15:24 »
:alas: ТС файл в студию проще будет

 

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« Ответ #7 : 19 Июня 2017, 14:34:00 »
ТС файл в студию проще будет
<? 




if(isset($_SESSION['user_id'])){
if(isset($_POST['ans_go'])){
$id_m = $_POST['id_mes'];
$date = time();
$ans = $_POST['ans'];
$db->Query("INSERT INTO `ot_sup` (`id_mes`,`user`,`text`,`date`)VALUES('$id_m','$_SESSION[user]','$ans','$date')") or die(mysql_error());
echo "<span id='erorr'  class='msgbox-error'><font color='green'>Тикет успешно создан.</font></span>";

$db->Query("UPDATE support SET status='0' WHERE id='$id_m'");

}




if(isset($_POST['submit_rit'])){
$tima = $_POST['title_g'];



$sod = $_POST['post_g'];
if($tima==""){$err[] = 'Заполните поле Тема';}
elseif($sod==""){$err[] = 'Заполните поле Содержание';}
$date = time();
if(empty($err)){
$db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error());
echo "<span id='erorr'  class='msgbox-error'>Тикет успешно создан.</span>";
}else{
foreach($err AS $error)
echo "<span id='erorr'  class='msgbox-error'>".$error."</span>";

}
}
?>
      
               <script type="text/javascript" language="JavaScript" >
            $(document).ready(function(){
                $("#addreply").click(function(){
                    $("#replyblock").fadeIn("slow");
                    document.getElementById('replybtn').innerHTML = "<span class='button-gray'>Ответить</span>";
                });
            })
            function appendtag(text1, text2)
            {
                if ((document.selection))
                {
                    document.surforder.ask_desc.focus();
                    document.surforder.document.selection.createRange().text = text1+document.surforder.document.selection.createRange().text+text2;
                } else if(document.surforder.ask_desc.selectionStart != undefined) {
                    var element    = document.surforder.ask_desc;
                    var str     = element.value;
                    var start    = element.selectionStart;
                    var length    = element.selectionEnd - element.selectionStart;
                    element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
                } else document.surforder.ask_desc.value += text1+text2;
            }
            function showclose()
            {
                $('#basic-modal-content').modal();
                return false;
            }           
        </script>
<script type='text/javascript' src='/js/jquery.simplemodal.js'></script>
<script type='text/javascript' src='/js/guibasic.js'></script>
<script type="text/javascript" language="JavaScript">
            function ClearForm()
            {
                document.forms['mailform'].scount.value = 'Осталось 1500 символов';
            }
            function descchange(elem)
            {
                if (elem.value.length > 1500) {
                    elem.value = elem.value.substr(0,1500);
                }
                document.forms['mailform'].scount.value = 'Осталось '+(1500-elem.value.length)+' символов';
            }

        </script>

      
    <section id="logged-in">
      <div class="container">
        <div class="row-fluid">
          <div class="span12 well well-white">

       
       
       
           
                           
             
                 
              </div>
            </div>
       
   
      




      
      
          
               </ul>
           
              
      
      
      


<?if(empty($_GET['type']) and empty($_GET['tiketid'])){?>

<div class="silver-bk">
 
               <?if(isset($_GET['type'])){?><?}?><a href="/?menu=support&type=all" data-toggle="tab">[img width= height=]http://png-2.findicons.com/files/icons/2354/dusseldorf/16/ticket.png[/img] <font color="blue">Посмотреть мои тикеты[/url]<p>
            <div class="tab-content">
              <div class="tab-pane active" id="create-ticket">
              <div class="row-fluid" style="">
                <div class="span12">
                  <label class="control-label" for="title">Тема:</label>
                </div>
              </div>
              <div class="row-fluid" style="">
                <div class="span12">
<form name="mailform" id="mailform" method="POST" action="">
<input size='40' type="text" name="title_g" value=''>
                </div>
              </div>
             
              <div class="row-fluid">
                <div class="span12">
                  <label class="control-label" for="inputMessage">Вопрос:</label>
                </div>
              </div>
              <div class="row-fluid">
                <div class="span12">
                  <textarea class="input-block-level" name="post_g" rows="6" cols='65' onkeyup="descchange(this);"  placeholder="Как можно подробнее опишите вашу проблему. "></textarea>
                </div>
              </div>
              <div class="row-fluid">
                <div class="span12">
                  <input class="scount input-block-level text-center" type="text" readonly="readonly" value="Осталось 1500 символов" maxlength="25" size="85" name="scount">
                </div>
              </div>
              <div class="row-fluid">
                <div class="span12">
 
<input class="btn btn-large btn-block" type='submit' name='submit_rit' value='Отправить' style="margin-top: 10px;" />
</form>
         
             
              </div>
                </div>
              </div>
<?}if(isset($_GET['type'])and empty($_GET['tiketid'])){?>

<div class="silver-bk">
<table cellpadding='3' cellspacing='0' border='0'  align='center' width="550" BGCOLOR="white" >
<thead>
   <tr style='background:#00b7ff; '>
      
      <td style='border-radius:0px;color:#fff; text-align:center;'>
         Тема
      </td>
      
      <td style='border-radius:0px;color:#fff; text-align:center;'>
         Дата
      </td>
   <td style='border-radius:0px;color:#fff; text-align:center;'>
         Статус
      </td>   

   </tr>
</thead>
<tbody>
<a href="/support">[img width= height=]http://png-3.findicons.com/files/icons/2222/gloss_basic/16/add.png[/img] Создать тикет[/url]<p>
</div>
<?
      $sup = $db->Query("SELECT id,title,date,status FROM support WHERE user='$_SESSION[user]'  ORDER BY id DESC")or die(mysql_error());
while($_sup=$db->FetchArray($sup)){   
if($_sup['status']=='0'){$ot = '<font color="red">В очереди</font>';}else{$ot = '<font color="green">Есть ответ</font>';}
?>

   <tr><td style='text-align:center;'><a href="/?menu=support&tiketid=<?=$_sup['id']?>"><?=$_sup['title']?>[/url]</td>
   <td style='text-align:center;'><?=date('M-d-Y h:i',$_sup['date'])?></td><td style='text-align:center;'><?=$ot?></td><td></td>
   
   </tr>

<?}?>
</tbody>   
</table>


<?}
if(isset($_GET['tiketid'])){
$tid = $_GET['tiketid'];

?>

<div class="silver-bk">

<?
$md = $db->Query("SELECT id,user,text,date FROM  support WHERE id='$tid'")or die(mysql_error());
$remd= $db->FetchArray($md);
$idd  = $remd['id'];
$user = $remd['user'];
$textd  = $remd['text'];
$dat  = $remd['date'];         
?>
<center>
<div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'>
<div><?=$_SESSION['user']?>&nbsp;&nbsp;(<?=date('M-d-Y h:i',$dat)?>)</div>
[hr /]
<div style='min-height:40px;'><?=$textd?></div>
</div>[br /]
<?$md2 = $db->Query("SELECT user,text,date FROM  ot_sup WHERE id_mes='$idd' ORDER BY id ASC")or die(mysql_error());
while($remd2= $db->FetchArray($md2)){
$idd2  = $remd2['id'];
$textd2  = $remd2['text'];
$dat2  = $remd2['date'];         
?>
<div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'>
<div><?=$remd2['user']?>&nbsp;&nbsp;(<?=date('M-d-Y h:i',$dat2)?>)</div>
[hr /]
<div style='min-height:40px;'><?=$textd2?></div>
</div>[br /]
<?}?>

</center>
[br /]
<center>
<form method="post" action="">
Ответить[br /]
<textarea name="ans" rows="6" cols="50"></textarea>[br /][br /]
<input type="hidden" name="id_mes" value='<?=$idd?>'>
<input type="submit" name='ans_go' value="Отправить" onclick="">
</form>
</center>
<?}?>


              </div>
  </div>


[br /][br /]
</div>





          </div>
        </div>
      </div>
      </div>
    </section>

   



   <div id="push"></div>
    </div>

<?
}else{
?>



<div class="cl-right">


<script type="text/javascript">


function isNotMax(oTextArea) {
  return oTextArea.value.length <= oTextArea.getAttribute('maxlength');
}


function isNotMax(e){
  e = e || window.event;
  var target = e.target || e.srcElement;
  var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode)

  switch (code){
    case 13:
    case 8:
    case 9:
    case 46:
    case 37:
    case 38:
    case 39:
    case 40:
      return true;
  }
  return target.value.length <= target.getAttribute('maxlength');
}


</script>

<div class="s-bk-lf">
   <div class="acc-title">Служба поддержки</div>
</div>
<div class="silver-bk">

Прежде чем обратиться в техническую поддержку, пожалуйста, авторизируйтесь!
</div>
<div class="clr"></div>

<div class="clr"></div>
                     </div>
ddd

                     
                     











<?


/*echo 'Помощь доступна только авторизированным участникам.';*/
}   
?>

 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #8 : 19 Июня 2017, 17:32:22 »
Я проблем не вижу, вот скрин http://prntscr.com/fllo1g , все есть.
Только проверка не корректная, лучше на empty() проверять или посчитать сколько символов прислала форма.

Два вопроса:
- какая кодировка файла/сайта?
- какая версия php?
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 2000 сообщений Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 31
  • Сообщений: 2028
  • Страна: ru
  • Поблагодарили: 242 раз(а)
  • Репутация +40/-1
  • Пол: Мужской
  • Дата рождения:
    1992-04-18
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #9 : 19 Июня 2017, 17:36:33 »
Я проблем не вижу, вот скрин http://prntscr.com/fllo1g , все есть.
Только проверка не корректная, лучше на empty() проверять или посчитать сколько символов прислала форма.

Два вопроса:
- какая кодировка файла/сайта?
- какая версия php?
а ты разве не заметил что нет ни одной фильтрации?!через пару дней будут темы помогите взломали
 
Пользователи, которые поблагодарили этот пост: APTEMOH

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #10 : 19 Июня 2017, 17:39:02 »
а ты разве не заметил что нет ни одной фильтрации?!через пару дней будут темы помогите взломали

Заметил но это уже совсем другая история... :)
По хорошему этот код нужно Ctrl+A потом Delete :alas:
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 2000 сообщений Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 31
  • Сообщений: 2028
  • Страна: ru
  • Поблагодарили: 242 раз(а)
  • Репутация +40/-1
  • Пол: Мужской
  • Дата рождения:
    1992-04-18
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #11 : 19 Июня 2017, 17:41:19 »
ТС попробуй версию php поставить 5.3 или 5.4
 

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« Ответ #12 : 20 Июня 2017, 12:09:57 »
ТС попробуй версию php поставить 5.3 или 5.4
пробовал все версии нифига не помогло
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #13 : 20 Июня 2017, 20:13:55 »
пробовал все версии нифига не помогло

На мои вопросы ответьте :)
 

splcellАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2017
  • Сообщений: 47
  • Страна: ru
  • Репутация +0/-0
Раздел Поддержка
« Ответ #14 : 21 Июня 2017, 13:29:26 »
какая кодировка файла/сайта?
- какая версия php?
кодировка файла utf-8 кодировку сайта как посмотреть? Если это кодировка базы то там 1251 PHP базово стоит 5.3 но я пробовал и все другие версии ставить
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Раздел Поддержка
« Ответ #15 : 21 Июня 2017, 14:24:57 »
кодировка файла utf-8 кодировку сайта как посмотреть? Если это кодировка базы то там 1251 PHP базово стоит 5.3 но я пробовал и все другие версии ставить

Ctrl+U в браузере (на сайт свой заходим и жмем) и вверху будет кодировка.

Вот это:
Цитировать
if(isset($_POST['submit_rit'])){
$tima = $_POST['title_g'];



$sod = $_POST['post_g'];
if($tima==""){$err[] = 'Заполните поле Тема';}
elseif($sod==""){$err[] = 'Заполните поле Содержание';}
$date = time();
if(empty($err)){
$db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error());
echo "<span id='erorr'  class='msgbox-error'>Тикет успешно создан.</span>";
}else{
foreach($err AS $error)
echo "<span id='erorr'  class='msgbox-error'>".$error."</span>";

}
}

Заменить на:
if(isset($_POST['submit_rit'])){
   $tima = $_POST['title_g'];
   $sod = $_POST['post_g'];
   if(empty($tima)){$err[] = 'Заполните поле Тема';}
   elseif(empty($sod)){$err[] = 'Заполните поле Содержание';}
   $date = time();
   if(empty($err)){
      $db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error());
      echo "<span id='erorr'  class='msgbox-error'>Тикет успешно создан.</span>";
   }else{
      foreach($err AS $error)
      echo "<span id='erorr'  class='msgbox-error'>".$error."</span>";
   }
}