LSDTM
24.04.2007, 12:21
Добрый день всем участником форума!
У меня вопрос в том - модифицирую один скрипт и вот столкнулся я с одной траблой
подскажите пожалуста где я отключаю ограничения ввода символов?
<?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_Email= replace_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_Email= null;
$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\">>>></a>
<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\">>>></a>
<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
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:
У меня вопрос в том - модифицирую один скрипт и вот столкнулся я с одной траблой
подскажите пожалуста где я отключаю ограничения ввода символов?
<?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_Email= replace_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_Email= null;
$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\">>>></a>
<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\">>>></a>
<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
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: