ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Вопрос по php
  #1  
Старый 24.04.2007, 12:21
Аватар для LSDTM
LSDTM
Новичок
Регистрация: 23.04.2007
Сообщений: 2
Провел на форуме:
5765

Репутация: 0
По умолчанию Вопрос по php

Добрый день всем участником форума!

У меня вопрос в том - модифицирую один скрипт и вот столкнулся я с одной траблой
подскажите пожалуста где я отключаю ограничения ввода символов?
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> как пробел вот надо это убрать что бы работать в обычном режиме
Всем заранее спасибо

Последний раз редактировалось LSDTM; 24.04.2007 в 12:24..
 
Ответить с цитированием

  #2  
Старый 24.04.2007, 12:48
Аватар для SMiX
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме:
457850

Репутация: 174
По умолчанию

Цитата:
где я отключаю ограничения ввода символов?
Если ты говоришь о фильтрации, то
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  
Старый 24.04.2007, 12:51
Аватар для DRON-ANARCHY
DRON-ANARCHY
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме:
1204641

Репутация: 412


Отправить сообщение для DRON-ANARCHY с помощью ICQ
По умолчанию

слабо понял смысл написанного...
тебе нужна заменить <br> на пробел? $str=str_replace('<br>',' ',$str);
что собственно и пытается сделать строка
return trim(preg_replace("/br/i", "<br>" , $str));
видимо =\
 
Ответить с цитированием

  #4  
Старый 24.04.2007, 12:53
Аватар для DRON-ANARCHY
DRON-ANARCHY
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме:
1204641

Репутация: 412


Отправить сообщение для DRON-ANARCHY с помощью ICQ
По умолчанию

Цитата:
Сообщение от SMiX  
Если ты говоришь о фильтрации, то
PHP код:
$submitUser_Name=  replace_string($_POST['User_Name']);
         
$submitUser_Emailreplace_string($_POST['User_Email']);
         
$submitsDescript=  replace_string($_POST['sDescript']);
         
$submitfDescript=  replace_string($_POST['fDescript']); 
угу... а сами функции описаны во втором куске
 
Ответить с цитированием

  #5  
Старый 24.04.2007, 16:58
Аватар для LSDTM
LSDTM
Новичок
Регистрация: 23.04.2007
Сообщений: 2
Провел на форуме:
5765

Репутация: 0
По умолчанию

Цитата:
Сообщение от DRON-ANARCHY  
слабо понял смысл написанного...
тебе нужна заменить <br> на пробел? $str=str_replace('<br>',' ',$str);
что собственно и пытается сделать строка
return trim(preg_replace("/br/i", "<br>" , $str));
видимо =\
Вот в админке когда я хочу ответить мне надо обязательно писать ответы с хтмл кодами.
а мне надо что бы я мог написать без этих кодов
 
Ответить с цитированием

  #6  
Старый 24.04.2007, 17:01
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

nl2br?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ