Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод текста, не правельное форматирование(ajax) 
:(
    Опции темы
MrDmitry
Дата 2.10.2009, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



такая проблема:
есть такой код

Код

$('#sort_name').live('click', function(event){    
            $('#contents').html('<center><img src=indicator.gif id=indicator> Сортируется</center>');                           
            $.post('processing.php', {'page': '".$_GET[page]."',
                                      'initialize': 'sort_name',
                                      }, function(data){
                   if(data==0)
                    {
                     $('#contents').html('<center>Ошибка сортировки</center>');
                    }
                    else
                   {
                    $('#new_message').html(data);
                    $('#save').text('');
                    $('#contents').html('');
                   } 
            });
            return false;           
            });


processing.php
Код


<?php
//Connect to databse
$db = new PDO('mysql:host='.$mysql_connection_host.'; dbname='.$mysql_connection_base.'', $mysql_connection_user, $mysql_connection_password);    
$db->exec("SET NAMES UTF8");
$path = $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'files'.DIRECTORY_SEPARATOR; 
$photo_path = $path.DIRECTORY_SEPARATOR.'photos'.DIRECTORY_SEPARATOR;   


function index()
{
    global $db;
    
    //Process session id
    if (isset($_POST["PHPSESSID"])) {
       
        session_id($_POST["PHPSESSID"]);               
    }
    session_start();    
    
    //Check user id
    list($id, $password) = explode('|', base64_decode($_SESSION['iflycookie'])); 
                                
    //Processing           
    $sql = $db->prepare("SELECT password, salt FROM users where id=:id");
    $sql->bindParam(':id', $id, PDO::PARAM_INT);
    $sql->execute();
    list($basepassword, $salt) = $sql->fetch(PDO::FETCH_NUM);
    $passwordhash = md5($basepassword.$salt);  
    //If stored password is wrong
    if ($password != $passwordhash)
    {
        die("-1");
    }  
}

 function new_message($id)
{
global $db;

      $user_page_id=$id;
      if(isset($_REQUEST['id']))
            $user_page_id = $_REQUEST['id'];
     
     $page_user = 'userpage';
       if(isset($_REQUEST['page']))
            $page_user = $_REQUEST['page'];
        
        
       $forum = 0;
       if(isset($_REQUEST['id_topic']))
            $forum = $_REQUEST['id_topic'];
       
       $paginator = 1;
       if(isset($_REQUEST['pages_id']))
       $paginator = $_REQUEST['pages_id'];
       
       $paginator = $paginator*10-10;
        
        $messages = array();
        $forums = array();
        $sorts = array();
        
         $sql_sort = $db->prepare("SELECT user_id, sort
             FROM sorts WHERE user_id=:user_id");
         $sql_sort->bindParam(':user_id', $id, PDO::PARAM_INT);
         $sql_sort->execute();    
         $sorts = $sql_sort->fetchAll();                  
         foreach($sorts as $sorts)
             {
              $sorts[sort];
             } 
          
          
          if($sorts[sort]=='name')
          {
           $sort='ORDER BY u.name DESC';
          }
          elseif($sorts[sort]=='date')
          {
           $sort='ORDER BY w.date_send DESC';
          } 
          elseif($sorts[sort]=='rate')
          {
           $sort='ORDER BY w.rate DESC';
          }
          else
           {
           $sort='';
           }
           $sorts='ORDER BY w.rate DESC';
             
        if($forum == 0)
        {    
         $sql = $db->prepare("SELECT w.id, u.name, w.user_id  as speaker, u.lastname, w.recipient_id,w.date_send as date,w.theme,w.message,w.state,w.procent as procents_message, u.procent as procents_user, w.pages, w.pre_message, w.rate
             FROM wall w, users u WHERE w.recipient_id=$user_page_id AND u.id=w.user_id AND w.pages='$page_user' AND w.id_topic='$forum' $sort LIMIT $paginator, 10");                    
         $sql->execute();
        }
        
      else
      {
             $sql = $db->prepare("SELECT w.id, u.name, w.user_id  as speaker, u.lastname, w.recipient_id,w.date_send as date,w.theme,w.message,w.state,w.procent as procents_message, u.procent as procents_user, w.pages, w.pre_message, w.rate
             FROM wall w, users u WHERE w.recipient_id=$user_page_id AND u.id=w.user_id AND w.id_topic='$forum' AND w.pages='$page_user' $sort DESC LIMIT $paginator, 10");
       $sql_forum = $db->prepare("SELECT DISTINCT * FROM forum WHERE user_id=$user_page_id");
       $sql_forum->execute();
       $forums = $sql_forum->fetchAll();
       $sql->execute();
      } 
             $messages = $sql->fetchAll(); 
        
     foreach($messages as $message)
        {             
          $truedata = date("d.m.Y H:i", $message[date]);      
             if($message[speaker]==$id)
             {
              $agregator = '    <div class="commentator commentator_gold">';
             }
             else
             {
              $agregator= '    <div class="commentator commentator_white">';
             }
            $result .='
               <div class="pager">
               </div>'.$agregator.'<div class="avatar">
                        <a href="#"><img src="images/temp/2.png" alt="" title=""/><span class="corner">&nbsp;</span></a>
                     </div>
                      <div class="message">
                         <div class="top"><i>&nbsp;</i><u>&nbsp;</u><b>&nbsp;</b></div>
                          <div class="middle">
                              <div class="user_info">
                       <div class="name">';
                              $result .= '<a href="?page=userpage&id='.$message[speaker].'">'.$message[name].' '.$message[lastname].'</a>
                      <span class="date">
                          '.$truedata.'
                        </span>    
                    </div>';
                      if($message[speaker]==$id)
                           $result .='&nbsp';
                         else 
                         $result .='<div class="actions">
                         <a href="#content_block" id="cite" initialize="wall" pre_message="'.$message[message].'">Цитата</a>
                         <a href="#contents" id="say" initialize="message" ls_recipient_id="'.$message[speaker].'">Ответить в лс</a>
                         <a href="#contents"  id="spam" var_initialize="spam" var_recipient_id="'.$message[speaker].'" var_procents_user="'.$message[procents_user].'"  var_id_message="'.$message[id].'" var_procents="'.$message[procents_message].'" var_messages_send= "'.$message[message].'">Это спам</a></div>
                         <div class="rate">
                         <a class="minus" href="" id="minus" minus_initialize="rate_minus" minus_recipient_id="'.$message[speaker].'" minus_messages_send="'.$message[message].'" minus_rate="'.$message[rate].'">-</a>
                         <span><div id="rates">'.$message[rate].'</div></span>
                         <a class="plus" href="" id="plus" pluse_initialize="rate_plus" pluse_recipient_id="'.$message[speaker].'" pluse_messages_send="'.$message[message].'" pluse_rate="'.$message[rate].'">+</a></div>';
                         $result .='</div>
                      <div class="text">';
                                      
                     if($message[pre_message]<>"")
                      {
                      //ищем ссылки в цитатах
                      $pos = strpos($message[pre_message], '[links = ');
                      if($pos<>0)
                       {
                          $pos_del_start = strpos($message[pre_message], 0);
                          $rest = substr($message[pre_message], $pos_del_start);
                       
                          $rest = substr($message[pre_message], $pos+9);
                          $pos = strpos($rest, ' name = ');
                          $url = substr_replace($rest, "", $pos);
                          
                          $pos = strpos($message[pre_message], ' name = ');
                          $rest = substr($message[pre_message], $pos+7);
                          $pos = strpos($rest, ']');
                          $name = substr_replace($rest, "", $pos);
                          
                          $pos_del_start = strpos($message[pre_message], '[');
                          $rest = substr($message[pre_message], 0);
                          
                          
                          $message[pre_message] = substr_replace($rest, "<a href=$url>$name</a>", $pos_del_start);
                       }
                       
                       $result .= '<div class="cite">
                       <div class="img"></div>
                                       <cite>'.$message[pre_message].'</cite>
                                       <hr/>
                                       </div>';
                      }

                       //ищем ссылки в сообщении
                      $pos = strpos($message[message], '[links = ');
          if($pos<>0)
                       {
                          $pos_del_start = strpos($message[message], 0);
                          $rest = substr($message[message], $pos_del_start);
                       
                          $rest = substr($message[message], $pos+9);
                          $pos = strpos($rest, ' name = ');
                          $url = substr_replace($rest, "", $pos);
                          
                          $pos = strpos($message[message], ' name = ');
                          $rest = substr($message[message], $pos+7);
                          $pos = strpos($rest, ']');
                          $name = substr_replace($rest, "", $pos);
                          
                          $pos_del_start = strpos($message[message], '[');
                          $rest = substr($message[message], 0);
                          
                          
                          $message[message] = substr_replace($rest, "<a href=$url>$name</a>", $pos_del_start);
                       }
                       
                    $result .= $message[message].'<br>
                    </div>
                             </div>
                         <div class="bottom"><i>&nbsp;</i><u>&nbsp;</u><b>&nbsp;</b></div>
                         </div>
                      </div>';
                  //Отмичаем сообщения прочтенными
               $sql = $db->prepare("UPDATE wall  SET wall.state='Y'
              WHERE  wall.recipient_id=:user_id AND wall.state='N'");
              $sql->bindParam(':user_id', $id, PDO::PARAM_INT);
             $sql->execute();
           }
           echo $result;
     }

 function sort_name($id)
    {
    global $db;
    $sql = $db->prepare("SELECT *
             FROM sorts s WHERE user_id=$id");          
          $sql->execute();
          $sort = $sql->fetchAll();
           
          $ready=0;
          foreach($sort as $user_id)
          {  
          
             $ready++;
          }
       
       if($ready == 0)
          {
           $sql = $db->prepare("INSERT INTO sorts (user_id, sort) VALUES (:user_id, :sort);");
               $sql->bindParam(':user_id', $id, PDO::PARAM_INT);
               $sql->bindParam(':sort', $_POST['initialize'], PDO::PARAM_STR);
               $sql->execute(); 
          }   
       else
           {
            $sql = $db->prepare("UPDATE sorts s SET s.sort='name'
               WHERE s.user_id=$id");
               $sql->execute();
           }   
          new_message($id);
        
    if($sql->errorCode()=="00000")
        echo new_message($result);
    else
        echo 0;
        
    }

тут все работает, но после сортировки за место русских символов выводятся каляки баляки smile
После перезагрузки страницы все становиться нормально. где тут косяк?((
PM MAIL   Вверх
Aliance
Дата 5.10.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Используй функцию iconv ;)
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.