Вопрос по php

Discussion in 'PHP' started by LSDTM, 24 Apr 2007.

  1. LSDTM

    LSDTM New Member

    Joined:
    23 Apr 2007
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Добрый день всем участником форума!

    У меня вопрос в том - модифицирую один скрипт и вот столкнулся я с одной траблой
    подскажите пожалуста где я отключаю ограничения ввода символов?
    PHP:
    <?PHP
    /*
    */

    error_reporting(0);
    include (
    "dbconfig.php");                                     //Соеденяемя с базой
    include ("function.php");
    $allSetting mysql_query("SELECT * FROM ".$dbprefix."setting WHERE id=0;");       //запрашиваем настройки скрипта
    if ($allSetting) {
        
    $SettingA mysql_fetch_assoc($allSetting);              //записываем их в переменную-масив
    }else{
        die(
    'Ошибка извлечения настроек из базы данных');
    }
    include(
    "template/header.tlp");                               //Подключаем шаблон header.tlp
    /*
    /*
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    Если юзверь нажал добавить, проверяем на         |
    заполненость всех полей и делаем SQL запрос      |
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    */
    if ($_POST['submit'])
    {
       if (
    $_POST['User_Name'] and $_POST['User_Email'] and $_POST['sDescript'] and $_POST['fDescript'])
       {
          
    /*Проверяем все ли заполнено, потом удаляем лишнии симбволы.
          и делаем запрос к mysql: вставляем все эти данные + выполненость
          "заказа" ставим 0. И в самом конце выводим что все добавленно успешно.*/
             
    $submitUser_Name=  replace_string($_POST['User_Name']);
             
    $submitUser_Emailreplace_string($_POST['User_Email']);
             
    $submitsDescript=  replace_string($_POST['sDescript']);
             
    $submitfDescript=  replace_string($_POST['fDescript']);
             
    $sql=@mysql_query("INSERT INTO ".$dbprefix."data VALUES (0, '$submitsDescript', '$submitfDescript', '$submitUser_Name', '$submitUser_Email', '', 0, 0);");
          
    //Удаляем переменные
          
    $submitUser_Name=  null;
             
    $submitUser_Emailnull;
             
    $submitsDescript=  null;
             
    $submitfDescript=  null;
          
    //Если запрос прошел удачно, и если неудачно
             
    if($sql)
             {
        
    $to=$SettingA['adminEmailForNotify'];
        
    $subject="Новый заказ на {$_SERVER['HTTP_HOST']}";
        
    $message="Уведомляем вас о том, что на {$_SERVER['HTTP_HOST']} появился новая прозьба от посетителя.
    Имя: 
    {$_POST['User_Name']}
    Email: 
    {$_POST['User_Email']}
    Краткое описание: 
    {$_POST['sDescript']}
    Полное описание:
    {$_POST['fDescript']}

    С ув. Any Find."
    ;
        
    $headers  "Content-type: text/plain; charset=windows-1251 \r\n";
        
    $headers .= "From: Any Find <no-replay@localhost>\r\n";
        @
    mail($to$subject$message$headers);
                 include(
    "template/table_b.tlp");
               echo 
    "Ваш запрос отправлен, вы можете посмотреть состояние на главной странице";
               include(
    "template/table_e.tlp");
               
    $sql=null;

               exit;
             }else{
                 include(
    "template/table_b.tlp");
                 echo 
    "Что-то не так.";
               include(
    "template/table_e.tlp");
                 
    $sql=null;
                 exit;
             }
       }else{
       
    //Если заполнены не все поля, выводим ошибку
       
    include("template/table_b.tlp");
       echo 
    "Заполнены не все поля";
       include(
    "template/table_e.tlp");
       }
    }else{                                                            
    //Если кнопка submit не нажата выводим форму добавления запроса
        
    include("template/query_table.tlp");
    }

    /*
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    Выводим список запросов + проверяем на           |
    выполненость и выводим выполнен или не выполнен  |
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    */
    include("template/list_table_b.tlp");                            // подключаем начало шаблона
    $sql=@mysql_query("SELECT * FROM ".$dbprefix."data;");                         //делаем запрос
    If (@mysql_num_rows($sql)<=0) {                                                     //если неудачно...
               
    echo "Заказов нету.";
               
    $sql=null;

           include(
    "template/list_table_e.tlp");
        include(
    "template/footer.tlp");
                   exit;
    };
    while(
    $order = @mysql_fetch_assoc($sql)){
        
    //проверяем выполнен ли заказ и соотвественно побликуем или нет ссылку + слово выполнен и не выполнен
        
    if ($order['execut'] == 0){
            
    $linkid=$order['id'] + 99*99;                           //нужно для скрития и показа ссылок
            
    echo $order['sDescript']."...
                 <a href=\"#\" onclick=\"return hideandshow("
    .$order['id'].");\" id=\"$linkid\">&gt;&gt;&gt;</a>
                 &nbsp; <font color=\"
    {$SettingA['colorNoEndText']}\"><sup>{$SettingA['textNoEnd']}</sup></font><br>";
            echo 
    "<div id=".$order['id']." class=\"acco\">
                  <font color=\"#5d5d5d\">"
    .$order['fDescript']."</font>\n
                  <br><br></div>\n"
    ;
        }else{
            
    $linkid=$order['id'] + 99*99;
            echo 
    "<a href=\"{$order['url']}\" target=\"_blank\">".$order['sDescript']."...</a>
                  <a href=\"#\" onclick=\"return hideandshow("
    .$order['id'].");\" id=\"$linkid\">&gt;&gt;&gt;</a>
                  &nbsp; <font color=\"
    {$SettingA['colorEndText']}\"><sup>{$SettingA['textEnd']}</sup></font><br>";
            echo 
    "<div id=".$order['id']." class=\"acco\">
                  <font color=\"#5d5d5d\">"
    .$order['fDescript']."</font>\n
                  <br><br></div>\n"
    ;
        }
    }
    $sql=null;

    /*
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    Подлючаем нажнии шаблоны                         |
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    */
    include("template/list_table_e.tlp");
    include(
    "template/footer.tlp");
    ?>
    PHP:
    <?PHP
    function echoUT($text){
    global 
    $begingTemplateTable$endTemplateTable;
        echo 
    "$begingTemplateTable \n
              
    $text \n
              
    $endTemplateTable \n";
    }
    function 
    replace_string_2($string){
        return 
    preg_replace("/|script|insert|delete|update|<|>/i"""$string);
    }
    function 
    replace_string_3($string){
        return 
    preg_replace("/[^0-9]/i"""$string);
    }
    function 
    replace_string($string){
        
    $str=preg_replace("/[^a-zA-Z0-9а-яёА-Я\.:\";\?@_ ]|drop|script|insert|delete|update|/i"""$string);
        return 
    trim(preg_replace("/br/i""<br>" $str));
    }
    ?>
    И ещё чуть не забыл... в ответ на вопрос в форме нужно писать вообщем хтмл кодами <br> как пробел вот надо это убрать что бы работать в обычном режиме
    Всем заранее спасибо :rolleyes:
     
    #1 LSDTM, 24 Apr 2007
    Last edited: 24 Apr 2007
  2. SMiX

    SMiX Elder - Старейшина

    Joined:
    25 Jul 2005
    Messages:
    227
    Likes Received:
    55
    Reputations:
    29
    Если ты говоришь о фильтрации, то
    PHP:
    $submitUser_Name=  replace_string($_POST['User_Name']);
             
    $submitUser_Emailreplace_string($_POST['User_Email']);
             
    $submitsDescript=  replace_string($_POST['sDescript']);
             
    $submitfDescript=  replace_string($_POST['fDescript']); 
     
  3. DRON-ANARCHY

    DRON-ANARCHY Отец порядка

    Joined:
    4 Mar 2005
    Messages:
    716
    Likes Received:
    142
    Reputations:
    50
    слабо понял смысл написанного...
    тебе нужна заменить <br> на пробел? $str=str_replace('<br>',' ',$str);
    что собственно и пытается сделать строка
    return trim(preg_replace("/br/i", "<br>" , $str));
    видимо =\
     
  4. DRON-ANARCHY

    DRON-ANARCHY Отец порядка

    Joined:
    4 Mar 2005
    Messages:
    716
    Likes Received:
    142
    Reputations:
    50
    угу... а сами функции описаны во втором куске
     
  5. LSDTM

    LSDTM New Member

    Joined:
    23 Apr 2007
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Вот в админке когда я хочу ответить мне надо обязательно писать ответы с хтмл кодами.
    а мне надо что бы я мог написать без этих кодов
     
  6. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    nl2br?